##// END OF EJS Templates
New register explorer WIP...
jeandet -
r79:3440ba47d0f1 default
parent child
Show More
@@ -0,0 +1,44
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ui version="4.0">
3 <class>RegsExplorerNew</class>
4 <widget class="QDockWidget" name="RegsExplorerNew">
5 <property name="geometry">
6 <rect>
7 <x>0</x>
8 <y>0</y>
9 <width>400</width>
10 <height>300</height>
11 </rect>
12 </property>
13 <property name="windowTitle">
14 <string>Regs Explorer</string>
15 </property>
16 <widget class="QWidget" name="dockWidgetContents">
17 <layout class="QGridLayout" name="gridLayout">
18 <item row="0" column="1">
19 <widget class="QComboBox" name="comboBox"/>
20 </item>
21 <item row="0" column="0">
22 <widget class="QLabel" name="label">
23 <property name="text">
24 <string>Root Plugin</string>
25 </property>
26 </widget>
27 </item>
28 <item row="1" column="0" colspan="2">
29 <widget class="SocRegsViewerNew" name="regsViewer" native="true"/>
30 </item>
31 </layout>
32 </widget>
33 </widget>
34 <customwidgets>
35 <customwidget>
36 <class>SocRegsViewerNew</class>
37 <extends>QWidget</extends>
38 <header location="global">socregsviewernew.h</header>
39 <container>1</container>
40 </customwidget>
41 </customwidgets>
42 <resources/>
43 <connections/>
44 </ui>
@@ -1,4 +1,4
1 9790824220ca06014e65a5c13aa4ed37f89d7593 src/SocExplorerEngine/PeripheralWidget
1 1cb664ab4bb3c531d706b1948a378ed9810c0dda src/SocExplorerEngine/PeripheralWidget
2 2 cc958c79ba0939809a70e63b8bac798930160243 src/common/genericBinaryFiles
3 3 2dce25b198558be573f56c1cf337aa95ddd666d6 src/common/lppserial
4 4 923afde9cc96bb419cf898560d080ec96991aeca src/common/qhexedit
@@ -1,6 +1,10
1 1 #!/usr/bin/lppmon -e
2 2
3 3 class test(PySocExplorerEngine.socexplorerplugin):
4 4 def hello(self):
5 print "hello"
5 print "hello"
6 def VID(self):
7 return 10
8 def PID(self):
9 return 100
6 10
@@ -1,16 +1,17
1 1 QGroupBox {
2 2 border: 1px solid gray;
3 3 border-radius: 9px;
4 4 margin-top: 0.5em;
5 5 }
6 6
7 7 QGroupBox::title {
8 8 subcontrol-origin: margin;
9 9 left: 10px;
10 10 padding: 0 3px 0 3px;
11 11 }
12 12
13 13 QWidget#CollapsablePeripheralWidget {
14 border: 1px solid gray;
15 border-radius: 9px;
14 border: 2px solid gray;
15 border-radius: 6px;
16 margin-top: 0.5em;
16 17 }
@@ -1,118 +1,119
1 1 #include "pythonconsole.h"
2 2 #include <QPushButton>
3 3 #include <QFile>
4 4 #include <QTextStream>
5 5 #include <QCustomPlot/qcustomplot.h>
6 6 #include "../common/pythonQtOut/generated_cpp/PySocExplorer/PySocExplorer0.h"
7 7
8 8 #include <PythonQt.h>
9 9 #include "pluginloader.h"
10 10 #include <socexplorer.h>
11 11
12 12 void PythonQt_init_PySocExplorer(PyObject* module);
13 13 void PythonQt_init_PySocExplorerEngine(PyObject* module) ;
14 14
15 15 PythonConsole::PythonConsole(socexplorerproxy *proxy, QWidget *parent) :
16 16 QWidget(parent)
17 17 {
18 18 //PythonQt::init();
19 19 PythonQt::init(PythonQt::RedirectStdOut);
20 20 PythonQt_QtAll::init();
21 21 this->proxy = proxy;
22 22 this->mainlayout = new QHBoxLayout;
23 23 this->mainContext = new PythonQtObjectPtr(PythonQt::self()->getMainModule());
24 24 this->mainContext->addVariable(QString("PYMODULES"),QVariant(QString(PYMODULES)));
25 25 this->console = new PythonQtScriptingConsoleDandD(NULL, PythonQt::self()->getMainModule());
26 26 this->mainlayout->addWidget(this->console);
27 27 this->setWindowTitle(tr("Python Scripting Console"));
28 28 this->bussdriver = 0;
29 29 this->setAcceptDrops(true);
30 30 this->setLayout(this->mainlayout);
31 31 connect(this->console,SIGNAL(pyConsoleRunFiles(QStringList)),this,SLOT(pyConsoleRunFiles(QStringList)));
32 32 this->mainContext->addObject("proxy", proxy);
33 33 PythonQt_init_PySocExplorer(0);
34 34 PythonQt_init_PySocExplorerEngine(0);
35 35 this->mainContext->evalScript(QString("from PythonQt import *"));
36 36 }
37 37
38 38 void PythonConsole::addObject(const QString& name, QObject* object)
39 39 {
40 40 this->mainContext->addObject(name, object);
41 41 }
42 42
43 43 void PythonConsole::removeVariable(const QString& name)
44 44 {
45 45 this->mainContext->removeVariable(name);
46 46 }
47 47
48 48
49 49 void PythonConsole::setBussDriver(socexplorerplugin *driver)
50 50 {
51 51 this->bussdriver = driver;
52 52 this->mainContext->addObject("buss", this->bussdriver);
53 53 }
54 54
55 55 void PythonConsole::registerObject(QObject* object,const QString& instanceName)
56 56 {
57 57 this->mainContext->addObject(instanceName,object);
58 58 }
59 59
60 60 void PythonConsole::changeSysDriverInstName(const QString newinstanceName,const QString previnstanceName)
61 61 {
62 62 socexplorerplugin* obj= this->proxy->getSysDriver(previnstanceName);
63 63 if(obj==NULL)obj= this->proxy->getSysDriver(newinstanceName);
64 64 if(obj==NULL)return;
65 this->mainContext->addObject(newinstanceName,obj->getPyObjectWrapper());
65 // this->mainContext->addObject(newinstanceName,obj->getPyObjectWrapper());
66 this->mainContext->addObject(newinstanceName,obj);
66 67 this->mainContext->removeVariable(previnstanceName);
67 68 }
68 69
69 70 void PythonConsole::removeDriver(const QString& instanceName)
70 71 {
71 72 this->mainContext->removeVariable(instanceName);
72 73 }
73 74
74 75 void PythonConsole::removeBussDriver()
75 76 {
76 77 this->bussdriver = 0;
77 78 this->mainContext->removeVariable("buss");
78 79 emit this->rootDriverDelete();
79 80 }
80 81
81 82
82 83 void PythonConsole::pyConsoleRunFiles(const QStringList & pathList)
83 84 {
84 85 for (int i = 0; i < pathList.size() && i < 32; ++i)
85 86 {
86 87 this->pyConsoleRunFile(pathList.at(i));
87 88 }
88 89 }
89 90
90 91 void PythonConsole::pyConsoleRunFile(const QString& fileName)
91 92 {
92 93 QString code;
93 94 QFile file;
94 95 QFileInfo fileinfo;
95 96
96 97 code.clear();
97 98 file.setFileName(fileName);
98 99 fileinfo.setFile(fileName);
99 100 if(!fileinfo.suffix().compare("py"))
100 101 {
101 102 QString CMD="execfile(\'"+fileName+"\')";
102 103 this->console->executePythonCommand(CMD);
103 104 }
104 105 }
105 106
106 107
107 108 QSize PythonConsole::sizeHint()
108 109 {
109 110 return QSize(800,80);
110 111 }
111 112
112 113
113 114
114 115
115 116
116 117
117 118
118 119
@@ -1,56 +1,59
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the SocExplorer Software
3 3 -- Copyright (C) 2012, Plasma Physics Laboratory - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 2 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #ifndef SOCEXPLORERENUMDEVICE_H
23 23 #define SOCEXPLORERENUMDEVICE_H
24 24
25 25 #include <QObject>
26 26 #include <stdint.h>
27 27 #include <socexplorerplugin.h>
28 28 #include <socmodel.h>
29 29
30 30 class SOCEXPLORER_EXPORT socExplorerEnumDevice : public QObject
31 31 {
32 32 Q_OBJECT
33 33 public:
34 34 explicit socExplorerEnumDevice(SOCModel* soc,int VID,int PID,qint32 baseAddress,const QString& name,QObject *parent = 0);
35 35 qint32 baseAddress(){return _baseAddress;}
36 36 int VID(){return _VID;}
37 37 int PID(){return _PID;}
38 38 QString name(){return *_devName;}
39 39 bool visible(){return _visible;}
40 40 void setVisible(bool visible){_visible=visible;}
41 const QString& socName(){return _SOC->name();}
42 bool sameSoc(socExplorerEnumDevice* dev){return sameSoc(_SOC);}
43 bool sameSoc(SOCModel* soc){return soc==_SOC;}
41 44 signals:
42 45
43 46 public slots:
44 47 void writeReg(qint32 address,qint32 value);
45 48 qint32 readReg(qint32 address);
46 49 private:
47 50 bool _visible;
48 51 qint32 _baseAddress;
49 52 int _VID;
50 53 int _PID;
51 54 QString* _devName;
52 55 SOCModel* _SOC;
53 56
54 57 };
55 58
56 59 #endif // SOCEXPLORERENUMDEVICE_H
@@ -1,115 +1,117
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the SocExplorer Software
3 3 -- Copyright (C) 2013, Plasma Physics Laboratory - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 2 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22
23 23 #ifndef REGISTERSMODEL_H
24 24 #define REGISTERSMODEL_H
25 25 #include <QString>
26 26 #include <QList>
27 27 #include <QObject>
28 28 #include <QDomDocument>
29 29 #include <QDomElement>
30 30 #include "registerdata.h"
31 31 #include <socclk.h>
32 32 #include <socexplorerplugin.h>
33 33 class socExplorerEnumDevice;
34 34
35 35 class registerBitFieldModel
36 36 {
37 37 public:
38 38 registerBitFieldModel(const QString& name,const QString& description,
39 39 int size, int offset, bool rw)
40 40 {
41 41 this->name = name;
42 42 this->description = description;
43 43 this->size = size;
44 44 this->offset = offset;
45 45 this->rw = rw;
46 46 }
47 47 QString name;
48 48 QString description;
49 49 int size;
50 50 int offset;
51 51 bool rw;
52 52 };
53 53
54 54 class registerModel
55 55 {
56 56 public:
57 57 registerModel(const QString& name,qint32 offset)
58 58 {
59 59 this->name = name;
60 60 this->offset = offset;
61 61 }
62 62 QString name;
63 63 qint32 offset;
64 64 QList<registerBitFieldModel> bitfields;
65 65 };
66 66
67 67 class peripheralModel
68 68 {
69 69 public:
70 70 peripheralModel(const QString& name)
71 71 {
72 72 this->name = name;
73 73 }
74 74 QString name;
75 75 QList<registerModel> registers;
76 76 };
77 77
78 78
79 79 class SOCEXPLORER_EXPORT SOCModel :public QObject
80 80 {
81 81 Q_OBJECT
82 82 public:
83 83 SOCModel(socexplorerplugin* rootDev,QObject* parent=0);
84 84 bool isRootDev(socexplorerplugin* rootDev)
85 85 {
86 86 return rootDev==p_rootDev;
87 87 }
88 88 bool enumDeviceExists(qint32 baseAddress);
89 89 socExplorerEnumDevice *getEnumDevice(qint32 baseAddress);
90 const QString& name(){return p_name;}
90 91 public slots:
91 92 qint32 getEnumDeviceBaseAddress(int VID,int PID,int count=0);
92 93 qint32 getEnumDeviceCount(int VID,int PID);
93 94 socExplorerEnumDevice* addEnumDevice(int VID, int PID, qint32 baseAddress, const QString& name);
94 95 int addEnumDevice(socExplorerEnumDevice* device);
95 96 void writeReg(qint32 address,qint32 value);
96 97 qint32 readReg(qint32 address);
97 98 bool isLitleEndian();
98 99 private:
100 QString p_name;
99 101 socexplorerplugin* p_rootDev;
100 102 QList<socExplorerEnumDevice*> p_enumeratedDevices;
101 103 QList<SOCclk*> clktree;
102 104 bool p_litleEndian;
103 105 };
104 106
105 107
106 108
107 109
108 110 #endif // REGISTERSMODEL_H
109 111
110 112
111 113
112 114
113 115
114 116
115 117
@@ -1,177 +1,175
1 1 SOCEXPLORER_ROOT = \"$${PWD}/../..\"
2 2
3 3 include($${PWD}/../../build_cfg/socexplorer.pri)
4 4
5 5 TARGET = socexplorerengine$${DEBUG_EXT}
6 6 TEMPLATE = lib
7 7
8 8 #more verbose plugin loader to debug plugin loading issues such as dependencies issues
9 9 SOCEXPLORER_PLUGIN_LOADER="custom"
10 10
11 11 SOCEXPLORER_CHAGESETNUM=$$system(hg id)
12 12 isEmpty(SOCEXPLORER_CHAGESETNUM){
13 13 SOCEXPLORER_CHAGESETNUM=2c7201cecc87+
14 14 }
15 15 SOCEXPLORER_CHAGESETNUMSTR = '\\"$${SOCEXPLORER_CHAGESETNUM}\\"'
16 16 SOCEXPLORER_BRANCH=$$system(hg branch)
17 17 isEmpty(SOCEXPLORER_BRANCH){
18 18 SOCEXPLORER_BRANCH=default
19 19 }
20 20 SOCEXPLORER_BRANCHSTR = '\\"$${SOCEXPLORER_BRANCH}\\"'
21 21
22 22 DEFINES += SOCEXPLORER_VERSION="\"\\\"0.5.0"\\\"\"
23 23 DEFINES += SOCEXPLORER_CHAGESET=\"$${SOCEXPLORER_CHAGESETNUMSTR}\"
24 24 DEFINES += SOCEXPLORER_BRANCH=\"$${SOCEXPLORER_BRANCHSTR}\"
25 25
26 26
27 27 message("Building SOCEXPLORER changeset $${SOCEXPLORER_CHAGESETNUM}")
28 28
29 29 DEFINES += SOCEXPLORER_EXPORTS
30 30
31 31 include ( plugins/socexplorerplugin.prf )
32 32 include ( PeripheralWidget/PeripheralWidget.pri)
33 33
34 34 win32:CONFIG += dll
35 35 win32:CONFIG -= static
36 36 win32:LIBS+=-L$${SOCEXPLORER_ROOT}/bin/win32 -lsocexplorercommon$${DEBUG_EXT}
37 37
38 38 contains(SOCEXPLORER_PLUGIN_LOADER,"custom")
39 39 {
40 40 unix:LIBS+= -ldl
41 41 unix:DEFINES += SOCEXPLORER_CUSTOM_PLUGIN_LOADER
42 42 unix:HEADERS += \
43 43 pluginloader/unix/unixpluginloader.h
44 44 unix:SOURCES += \
45 45 pluginloader/unix/unixpluginloader.cpp
46 46 }
47 47
48 48 target.path = $$[QT_INSTALL_LIBS]
49 49 isEmpty(target.path) {
50 50 error(can\'t get QT_INSTALL_LIBS)
51 51 }
52 52
53 53 header.path = $$[QT_INSTALL_HEADERS]/SocExplorer
54 54 header.files = engine/socexplorerengine.h \
55 55 pluginloader/pluginscache.h \
56 56 plugins/socexplorerplugin.h \
57 57 proxy/socexplorerproxy.h \
58 58 engine/socexplorerxmlfile.h \
59 59 SOC/socexplorerenumdevice.h \
60 60 plugins/genericPySysdriver.h \
61 61 XmlEngine/XMLmodel.h \
62 62 XmlEngine/XMLdata.h \
63 63 XmlEngine/xmldriver.h \
64 64 SOC/socmodel.h \
65 65 SOC/registerdata.h \
66 66 SOC/socclk.h \
67 67 PeripheralWidget/src/peripheralwidget.h \
68 68 PeripheralWidget/src/registerwidget.h \
69 69 PeripheralWidget/src/socregsviewer.h \
70 70 PeripheralWidget/src/socregsviewernew.h \
71 71 memtester/memtester.h
72 72
73 73
74 74
75 75 isEmpty(header.path) {
76 76 error(can\'t get QT_INSTALL_HEADERS)
77 77 }
78 78
79 79 pluginif.files = pluginsInterface/*.h \
80 80 pluginsInterface/*.cpp
81 81
82 82 pluginif.path = $$[QT_INSTALL_HEADERS]/SocExplorer/pluginsInterface
83 83
84 84
85 85 INSTALLS += target header pluginif
86 86
87 87 INCLUDEPATH += engine \
88 88 pluginloader \
89 89 pluginsInterface \
90 90 proxy \
91 91 plugins \
92 92 pluginManagerWdgt \
93 93 ../common \
94 94 ../common/genericBinaryFiles \
95 95 ../ \
96 96 RegisterMVS \
97 97 XmlEngine \
98 98 SOC \
99 99 PeripheralWidget/src \
100 100 memtester
101 101
102 102
103 103 HEADERS += \
104 104 pluginloader/pluginscache.h \
105 105 pluginloader/pluginloader.h \
106 plugins/genericPySysdriver.h \
107 106 pluginManagerWdgt/plugintree.h \
108 107 pluginManagerWdgt/pluginmanagerWDGT.h \
109 108 pluginManagerWdgt/pluginlist.h \
110 109 pluginManagerWdgt/plugininfoswdgt.h \
111 110 XmlEngine/XMLmodel.h \
112 111 XmlEngine/XMLdata.h \
113 112 SOC/socmodel.h \
114 113 SOC/registerdata.h \
115 114 XmlEngine/xmldriver.h \
116 115 PeripheralWidget/src/peripheralwidget.h \
117 116 PeripheralWidget/src/registerwidget.h \
118 117 PeripheralWidget/src/socregsviewer.h \
119 118 SOC/socclk.h \
120 119 engine/socexplorerengine.h \
121 120 engine/socexplorerxmlfile.h \
122 121 plugins/socexplorerplugin.h \
123 122 pluginsInterface/socexplorerplugininterface.h \
124 123 pluginsInterface/socexplorerplugininterface_global.h \
125 124 proxy/socexplorerproxy.h \
126 125 SOC/socexplorerenumdevice.h \
127 126 PySocExplorerEngine.h \
128 127 memtester/memtester.h\
129 128 PeripheralWidget/src/socregsviewernew.h \
130 129 PeripheralWidget/src/collapsableperipheralwidget.h
131 130
132 131
133 132
134 133
135 134
136 135
137 136 SOURCES += \
138 137 pluginloader/pluginscache.cpp \
139 138 pluginloader/pluginloader.cpp \
140 139 pluginManagerWdgt/plugintree.cpp \
141 140 pluginManagerWdgt/pluginmanagerWDGT.cpp \
142 141 pluginManagerWdgt/pluginlist.cpp \
143 142 pluginManagerWdgt/plugininfoswdgt.cpp \
144 143 XmlEngine/XMLmodel.cpp \
145 144 XmlEngine/XMLdata.cpp \
146 145 SOC/socmodel.cpp \
147 146 SOC/registerdata.cpp \
148 147 XmlEngine/xmldriver.cpp \
149 148 PeripheralWidget/src/peripheralwidget.cpp \
150 149 PeripheralWidget/src/registerwidget.cpp \
151 150 PeripheralWidget/src/socregsviewer.cpp \
152 151 SOC/socclk.cpp \
153 plugins/genericPySysdriver.cpp \
154 152 engine/socexplorerengine.cpp \
155 153 engine/socexplorerxmlfile.cpp \
156 154 proxy/socexplorerproxy.cpp \
157 155 SOC/socexplorerenumdevice.cpp \
158 156 plugins/socexplorerplugin.cpp \
159 157 memtester/memtester.cpp \
160 158 PeripheralWidget/src/socregsviewernew.cpp \
161 159 PeripheralWidget/src/collapsableperipheralwidget.cpp
162 160
163 161
164 162 OTHER_FILES += \
165 163 plugins/socexplorerplugin.cpp \
166 164 pluginsInterface/socexplorerplugininterface.cpp \
167 165 plugins/socexplorerplugin.prf \
168 166 pythongenerator.sh \
169 167 pythonQtgeneratorCfg.txt
170 168
171 169 FORMS += \
172 170 PeripheralWidget/src/socregsviewernew.ui \
173 171 PeripheralWidget/src/collapsableperipheralwidget.ui
174 172
175 173
176 174 RESOURCES += \
177 175 PeripheralWidget/ressources/peripheralwidget.qrc
@@ -1,244 +1,264
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the SocExplorer Software
3 3 -- Copyright (C) 2014, Plasma Physics Laboratory - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 2 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22
23 23 #include <socexplorerplugin.h>
24 24 #include <abstractbinfile.h>
25 25 #include <srec/srecfile.h>
26 26 #include <BinFile/binaryfile.h>
27 27
28 28 int socexplorerplugin::isConnected(){return this->Connected;}
29 29
30 30 QString socexplorerplugin::baseName(){return *_Name;}
31 31
32 32 int socexplorerplugin::baseAddress(){return this->BaseAddress;}
33 33
34 34 void socexplorerplugin::setBaseAddress(unsigned int baseAddress){this->BaseAddress = baseAddress;}
35 35
36 36 QString socexplorerplugin::instanceName()
37 37 {
38 38 return this->_instanceName;
39 39 }
40 40
41 41 int socexplorerplugin::registermenu(QMenu *menu)
42 42 {
43 43 this->menu = menu->addMenu(this->_instanceName);
44 44 this->closeAction = this->menu->addAction(tr("Close plugin"));
45 45 QObject::connect(this->closeAction,SIGNAL(triggered()),this,SLOT(closeMe()));
46 46 this->ChildsMenu = this->menu->addMenu(QString("Childs"));
47 47 for(int i=0;i<this->childs.count();i++)
48 48 {
49 49 this->childs.at(i)->registermenu(this->ChildsMenu);
50 50 }
51 if(this->pyObject!=NULL)emit this->registerObject((QObject*)this->pyObject,this->instanceName());
51 emit this->registerObject((QObject*)this,this->instanceName());
52 52 return 0;
53 53 }
54 54
55 55 void socexplorerplugin::postInstantiationTrigger()
56 56 {
57 57 return;
58 58 }
59 59
60 60 unsigned int socexplorerplugin::Write(unsigned int *Value, unsigned int count, unsigned int address)
61 61 {
62 62 if(parent!=NULL)
63 63 {
64 64 return parent->Write(Value,count,address);
65 65 }
66 66 return 0;
67 67 }
68 68
69 69 unsigned int socexplorerplugin::Read(unsigned int *Value, unsigned int count, unsigned int address)
70 70 {
71 71 if(parent!=NULL)
72 72 {
73 73 return parent->Read(Value,count,address);
74 74 }
75 75 return 0;
76 76 }
77 77
78 QVariantList socexplorerplugin::Read(unsigned int address,unsigned int count)
79 {
80 unsigned int data[count];
81 QVariantList result;
82 Read(data,count,address);
83 for(unsigned int i = 0;i<count;i++)
84 {
85 result.append(QVariant((int)data[i]));
86 }
87 return result;
88 }
89 void socexplorerplugin::Write(unsigned int address,QList<QVariant> dataList)
90 {
91 unsigned int data[dataList.count()];
92 for(int i = 0;i<dataList.count();i++)
93 {
94 data[i] = (unsigned int)dataList.at(i).toUInt();
95 }
96 Write(data,dataList.count(),address);
97 }
98
99
100
78 101 void socexplorerplugin::closeMe(){emit this->closePlugin(this);}
79 102
80 103 void socexplorerplugin::activate(bool flag){this->setEnabled(flag);emit this->activateSig(flag);}
81 104
82 105 void socexplorerplugin::setInstanceName(const QString &newName)
83 106 {
84 107 this->_instanceName = newName;
85 108 if(this->menu)
86 109 this->menu->setTitle(this->_instanceName);
87 110 this->setWindowTitle(newName);
88 111 }
89 112
90 113 bool socexplorerplugin::dumpMemory(unsigned int address, unsigned int count, QString file)
91 114 {
92 115 unsigned int* buffer = (unsigned int*)malloc(count*sizeof(unsigned int));
93 116 if(buffer!=NULL)
94 117 {
95 118 this->Read(buffer,count,address);
96 119 QFile outfile(file);
97 120 if (!outfile.open(QIODevice::ReadWrite | QIODevice::Text))
98 121 return false;
99 122 QTextStream out(&outfile);
100 123 for(int i=0;(unsigned int)i<count;i++)
101 124 out << "0x"+QString::number(address+(i*4),16) + ": 0x" + QString::number(buffer[i],16) + "\n";
102 125 free(buffer);
103 126 out.flush();
104 127 outfile.close();
105 128 return true;
106 129 }
107 130 return false;
108 131 }
109 132
110 133 bool socexplorerplugin::memSet(unsigned int address, int value, unsigned int count)
111 134 {
112 135 unsigned int* buffer = (unsigned int*)malloc(count*sizeof(unsigned int));
113 136 if(buffer!=NULL)
114 137 {
115 138 memset((void*)buffer,value,count*sizeof(unsigned int));
116 139 this->Write(buffer,count,address);
117 140 free(buffer );
118 141 return true;
119 142 }
120 143 return false;
121 144 }
122 145
123 146 bool socexplorerplugin::loadbin(unsigned int address, QString file)
124 147 {
125 148 QFile infile(file);
126 149 if (!infile.open(QIODevice::ReadOnly))
127 150 return false;
128 151 uint32_t* buffer = (uint32_t*)malloc(infile.size());
129 152 if(buffer!=NULL)
130 153 {
131 154 infile.read((char*)buffer,infile.size());
132 155 for(int i=0;i<(infile.size()/4);i++)
133 156 {
134 157 buffer[i] = socexplorerBswap32(buffer[i]);
135 158 }
136 159 this->Write(buffer,infile.size()/4,address);
137 160 free(buffer);
138 161 return true;
139 162 }
140 163 return false;
141 164
142 165 }
143 166
144 167 bool socexplorerplugin::loadfile(abstractBinFile *file)
145 168 {
146 169 if(file->isopened())
147 170 {
148 171 QList<codeFragment*> fragments= file->getFragments();
149 172 for(int i=0;i<fragments.count();i++)
150 173 {
151 174 int size = fragments.at(i)->size/4;
152 175 // TODO fixme, should be the oposite
153 176 #if __BYTE_ORDER == __LITTLE_ENDIAN
154 177 if(!file->litleendian)
155 178 {
156 179 uint32_t* buffer = (uint32_t*)malloc(fragments.at(i)->size);
157 180 memcpy(buffer,fragments.at(i)->data,fragments.at(i)->size);
158 181 if(buffer!=NULL)
159 182 {
160 183 for(int l=0;l<(size);l++)
161 184 {
162 185 buffer[l] = socexplorerBswap32(buffer[l]);
163 186 }
164 187 this->Write(buffer,size,fragments.at(i)->address);
165 188 free(buffer);
166 189 }
167 190 }
168 191 else
169 192 {
170 193 this->Write((uint32_t*) fragments.at(i)->data,size,fragments.at(i)->address);
171 194 }
172 195 #elif __BYTE_ORDER == __BIG_ENDIAN
173 196 if(file->litleendian)
174 197 {
175 198 uint32_t* buffer = (uint32_t*)malloc(fragments.at(i)->size);
176 199 memcpy(buffer,fragments.at(i)->data,fragments.at(i)->size);
177 200 if(buffer!=NULL)
178 201 {
179 202 for(int l=0;l<(size);l++)
180 203 {
181 204 buffer[l] = socexplorerBswap32(buffer[l]);
182 205 }
183 206 this->Write(buffer,size,fragments.at(i)->address);
184 207 free(buffer);
185 208 }
186 209 }
187 210 else
188 211 {
189 212 this->Write((uint32_t*) fragments.at(i)->data,size,fragments.at(i)->address);
190 213 }
191 214 #endif
192 215 }
193 216 }
194 217 return true;
195 218 }
196 219
197 220 bool socexplorerplugin::dumpMemory(unsigned int address, unsigned int count, QString file, const QString &format)
198 221 {
199 222 unsigned int* buffer = (unsigned int*)malloc(count*sizeof(unsigned int));
200 223 if(buffer!=NULL)
201 224 {
202 225 this->Read(buffer,count,address);
203 226 if(!format.compare("srec",Qt::CaseInsensitive))
204 227 {
205 228 //need to convert from in memory endianness to file endianness
206 229 //SREC is always big endian
207 230 #if __BYTE_ORDER == __LITTLE_ENDIAN
208 231 for(int l=0;l<(count);l++)
209 232 {
210 233 buffer[l] = socexplorerBswap32(buffer[l]);
211 234 }
212 235 #elif __BYTE_ORDER == __BIG_ENDIAN
213 236
214 237 #endif
215 238 codeFragment fragment((char*)buffer,count*4,address);
216 239 srecFile::toSrec(QList<codeFragment*>()<<&fragment,file);
217 240 }
218 241 if(!format.compare("bin",Qt::CaseInsensitive))
219 242 {
220 243 //beware this format is not portable from a big endian host to a litle endian one
221 244 codeFragment fragment((char*)buffer,count*4,address);
222 245 binaryFile::toBinary(QList<codeFragment*>()<<&fragment,file);
223 246 }
224 247 if(!format.compare("hexa",Qt::CaseInsensitive))
225 248 {
226 249 QFile outfile(file);
227 250 if (!outfile.open(QIODevice::ReadWrite | QIODevice::Text))
228 251 return false;
229 252 QTextStream out(&outfile);
230 253 for(int i=0;(unsigned int)i<count;i++)
231 254 out << "0x"+QString::number(address+(i*4),16) + ": 0x" + QString::number(buffer[i],16) + "\n";
232 255 free(buffer);
233 256 out.flush();
234 257 outfile.close();
235 258 }
236 259 return true;
237 260 }
238 261 return false;
239 262 }
240 263
241 void socexplorerplugin::makeGenericPyWrapper()
242 {
243 this->pyObject = new genericPySysdriver(this);
244 }
264
@@ -1,187 +1,182
1 1 /*------------------------------------------------------------------------------
2 2 ███████╗ ██████╗ ██████╗ ███████╗██╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ███████╗██████╗
3 3 ██╔════╝██╔═══██╗██╔════╝ ██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔═══██╗██╔══██╗██╔════╝██╔══██╗
4 4 ███████╗██║ ██║██║ █████╗ ╚███╔╝ ██████╔╝██║ ██║ ██║██████╔╝█████╗ ██████╔╝
5 5 ╚════██║██║ ██║██║ ██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██║ ██║██╔══██╗██╔══╝ ██╔══██╗
6 6 ███████║╚██████╔╝╚██████╗ ███████╗██╔╝ ██╗██║ ███████╗╚██████╔╝██║ ██║███████╗██║ ██║
7 7 ╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
8 8
9 9 -- This file is a part of the SOC Explorer Software
10 10 -- Copyright (C) 2011, Plasma Physics Laboratory - CNRS
11 11 --
12 12 -- This program is free software; you can redistribute it and/or modify
13 13 -- it under the terms of the GNU General Public License as published by
14 14 -- the Free Software Foundation; either version 2 of the License, or
15 15 -- (at your option) any later version.
16 16 --
17 17 -- This program is distributed in the hope that it will be useful,
18 18 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
19 19 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 20 -- GNU General Public License for more details.
21 21 --
22 22 -- You should have received a copy of the GNU General Public License
23 23 -- along with this program; if not, write to the Free Software
24 24 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 25 -------------------------------------------------------------------------------*/
26 26 /*-- Author : Alexis Jeandet
27 27 -- Mail : alexis.jeandet@lpp.polytechnique.fr
28 28 ----------------------------------------------------------------------------*/
29 29 #ifndef SOCEXPLORERPLUGIN_H
30 30 #define SOCEXPLORERPLUGIN_H
31 31 #include <QWidget>
32 32 #include <QAction>
33 33 #include <QDockWidget>
34 34 #include <QMainWindow>
35 35 #include <QList>
36 36 #include <QMenu>
37 37 #include <socexplorer.h>
38 38 #include <QObject>
39 39 #include <QVariant>
40 40 #include <QVariantList>
41 41 #include <malloc.h>
42 42 #include <QFile>
43 43 #include <stdint.h>
44 44 #include <QTextStream>
45 #include <genericPySysdriver.h>
46 45 #include <abstractbinfile.h>
47 46 #ifndef driver_Name
48 47 #define driver_Name "Plugin"
49 48 #endif
50 49 #ifndef driver_Author
51 50 #define driver_Author "No Author"
52 51 #endif
53 52 #ifndef driver_Version
54 53 #define driver_Version "0.0.0"
55 54 #endif
56 55 #ifndef driver_Description
57 56 #define driver_Description "No description."
58 57 #endif
59 58 #ifndef driver_can_be_root
60 59 #define driver_can_be_root 0
61 60 #endif
62 61 #ifndef driver_can_be_child
63 62 #define driver_can_be_child 0
64 63 #endif
65 64 #ifndef driver_VID
66 65 #define driver_VID 0
67 66 #endif
68 67 #ifndef driver_PID
69 68 #define driver_PID 0
70 69 #endif
71 70
72 71 #if defined(SOCEXPLORER_SDK_BUILD)
73 72 # define SOCEXPLORER_SDK_EXPORT Q_DECL_EXPORT
74 73 #else
75 74 # define SOCEXPLORER_SDK_EXPORT Q_DECL_IMPORT
76 75 #endif
77 76
78 77 class genericPySysdriver;
79 78
80 79 //! socexplorerplugin is the base class for any SocExplorer plugin, it gives a standard interface to communicate
81 80 //! between each plugins and to interact with SocExplorer software.
82 81
83 82 class SOCEXPLORER_SDK_EXPORT socexplorerplugin : public QDockWidget
84 83 {
85 84 Q_OBJECT
86 85 public:
87 86 //! Default plugin constructor, any plugin should call this constructor. This constructor creates a
88 87 //! default python wrapper instance. If you want to connect your own python wrapper, you have to clear
89 88 //! createPyObject option and instanciate your own genericPySysdriver derivated object.
90 89 socexplorerplugin(QWidget *parent = 0,bool createPyObject=true):QDockWidget(parent)
91 90 {
92 91 closeAction=NULL;
93 92 menu=NULL;
94 93 ChildsMenu=NULL;
95 94 this->Connected = false;
96 95 this->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetVerticalTitleBar);
97 96 _Name = new QString(driver_Name);
98 97 _Author = new QString(driver_Author);
99 98 _Version = new QString(driver_Version);
100 99 _Description = new QString(driver_Description);
101 100 _canBeChild = driver_can_be_child;
102 101 _canBeRoot = driver_can_be_root;
103 102 _VID = driver_VID;
104 103 _PID = driver_PID;
105 if(createPyObject)
106 {
107 this->makeGenericPyWrapper();
108 }
109 104 }
110 105 //! Tells if the plugin is connected, it is used to enable or disable all childrens interfaces.
111 106 virtual int isConnected();
112 107 //! Gives the associated Vendor IDentifier, usefull to automatically associate plugins with found
113 108 //! hardware while board enumeration.
114 109 virtual int VID(){return _PID;}
115 110 //! Gives the associated Product IDentifier, usefull to automatically associate plugins with found
116 111 //! hardware while board enumeration.
117 112 virtual int PID(){return _VID;}
118 113 //! Gives the plugin's base name, usefull to automatically generate instance name.
119 114 virtual QString baseName();
120 115 //! Gives the base address of the current instance, for example if your plugin is supposed to drive
121 116 //! an UART it will correspond to the address of it's first register. This address have at least to
122 117 //! be set by SocExplorer and it can be user accessible if you want.
123 118 virtual int baseAddress();
124 119 //! Sets the base address of the current instance, for example if your plugin is supposed to drive
125 120 //! an UART it will correspond to the address of it's first register. This address have at least to
126 121 //! be set by SocExplorer and it can be user accessible if you want.
127 122 virtual void setBaseAddress(unsigned int baseAddress);
128 123
129 genericPySysdriver* getPyObjectWrapper(){return this->pyObject;}
130 124 QList<socexplorerplugin*> childs;
131 125 socexplorerplugin* parent;
132 126 QAction* closeAction;
133 127 QString instanceName();
128 QString instance(){return instanceName();}
134 129 QMenu* menu;
135 130 QMenu* ChildsMenu;
136 131
137 132 signals:
138 133 //! Signal emited each time the plugin is about to be closed.
139 134 void closePlugin(socexplorerplugin* driver);
140 135 void activateSig(bool flag);
141 136 void registerObject(QObject* object,const QString& instanceName);
142 137
143 138 public slots:
144 139 virtual int registermenu(QMenu* menu);
145 140 virtual void postInstantiationTrigger();
146 141 //! Write slot this is the way your children plugins ask you for writing data.
147 142 //! If your plugin is supposed to have childern drivers you should implement this methode.
148 143 //! By default this methode forward the write request to the parent plugin.
149 144 //! \param Value Pointer the data buffer.
150 145 //! \param count Number of 32 bits words you should to write.
151 146 //! \param address Address from where you should to start to write.
152 147 //! \return Quantity of 32 bits words writtens.
153 148 virtual unsigned int Write(unsigned int* Value, unsigned int count,unsigned int address);
154 149 //! Read slot this is the way your children plugins ask you for reading data.
155 150 //! If your plugin is supposed to have childern drivers you should implement this methode.
156 151 //! By default this methode forward the write request to the parent plugin.
157 152 //! \param Value Pointer the data buffer.
158 153 //! \param count Number of 32 bits words you should to read.
159 154 //! \param address Address from where you should to start to read.
160 155 //! \return Quantity of 32 bits words read.
161 156 virtual unsigned int Read(unsigned int* Value, unsigned int count,unsigned int address);
162 157 virtual void closeMe();
163 158 virtual void activate(bool flag);
164 159 virtual void setInstanceName(const QString& newName);
165 160
166 161 virtual bool dumpMemory(unsigned int address,unsigned int count,QString file);
167 162 virtual bool memSet(unsigned int address,int value, unsigned int count);
168 163 virtual bool loadbin(unsigned int address,QString file);
169 164 virtual bool loadfile(abstractBinFile* file);
170 165 virtual bool dumpMemory(unsigned int address,unsigned int count,QString file,const QString& format);
166 QVariantList Read(unsigned int address, unsigned int count);
167 void Write(unsigned int address, QList<QVariant> dataList);
171 168 protected:
172 void makeGenericPyWrapper();
173 169 int BaseAddress;
174 170 bool Connected;
175 genericPySysdriver* pyObject;
176 171 QString* _Name;
177 172 QString* _Author;
178 173 QString* _Version;
179 174 QString* _Description;
180 175 QString _instanceName;
181 176 int _canBeChild;
182 177 int _canBeRoot;
183 178 int _VID;
184 179 int _PID;
185 180 };
186 181
187 182 #endif // SOCEXPLORERPLUGIN_H
@@ -1,1590 +1,1590
1 1 #include "PySocExplorerEngine0.h"
2 2 #include <PythonQtConversion.h>
3 3 #include <PythonQtMethodInfo.h>
4 4 #include <PythonQtSignalReceiver.h>
5 5 #include <QVariant>
6 6 #include <qaction.h>
7 7 #include <qbackingstore.h>
8 8 #include <qbitmap.h>
9 9 #include <qbytearray.h>
10 10 #include <qcoreevent.h>
11 11 #include <qcursor.h>
12 12 #include <qdockwidget.h>
13 13 #include <qevent.h>
14 14 #include <qfont.h>
15 15 #include <qgraphicseffect.h>
16 16 #include <qgraphicsproxywidget.h>
17 17 #include <qicon.h>
18 18 #include <qkeysequence.h>
19 19 #include <qlayout.h>
20 20 #include <qlist.h>
21 21 #include <qlocale.h>
22 22 #include <qmargins.h>
23 23 #include <qmenu.h>
24 24 #include <qmetaobject.h>
25 25 #include <qobject.h>
26 26 #include <qpaintdevice.h>
27 27 #include <qpaintengine.h>
28 28 #include <qpainter.h>
29 29 #include <qpalette.h>
30 30 #include <qpixmap.h>
31 31 #include <qpoint.h>
32 32 #include <qrect.h>
33 33 #include <qregion.h>
34 34 #include <qsize.h>
35 35 #include <qsizepolicy.h>
36 36 #include <qstyle.h>
37 37 #include <qstyleoption.h>
38 38 #include <qwidget.h>
39 39 #include <qwindow.h>
40 40 #include <socexplorerplugin.h>
41 41
42 42 PythonQtShell_socexplorerplugin::~PythonQtShell_socexplorerplugin() {
43 43 PythonQtPrivate* priv = PythonQt::priv();
44 44 if (priv) { priv->shellClassDeleted(this); }
45 45 }
46 46 int PythonQtShell_socexplorerplugin::PID()
47 47 {
48 48 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
49 49 static PyObject* name = PyString_FromString("PID");
50 50 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
51 51 if (obj) {
52 52 static const char* argumentList[] ={"int"};
53 53 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
54 54 int returnValue;
55 55 void* args[1] = {NULL};
56 56 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
57 57 if (result) {
58 58 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
59 59 if (args[0]!=&returnValue) {
60 60 if (args[0]==NULL) {
61 61 PythonQt::priv()->handleVirtualOverloadReturnError("PID", methodInfo, result);
62 62 } else {
63 63 returnValue = *((int*)args[0]);
64 64 }
65 65 }
66 66 }
67 67 if (result) { Py_DECREF(result); }
68 68 Py_DECREF(obj);
69 69 return returnValue;
70 70 } else {
71 71 PyErr_Clear();
72 72 }
73 73 }
74 74 return socexplorerplugin::PID();
75 75 }
76 76 unsigned int PythonQtShell_socexplorerplugin::Read(unsigned int* Value0, unsigned int count1, unsigned int address2)
77 77 {
78 78 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
79 79 static PyObject* name = PyString_FromString("Read");
80 80 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
81 81 if (obj) {
82 82 static const char* argumentList[] ={"unsigned int" , "unsigned int*" , "unsigned int" , "unsigned int"};
83 83 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(4, argumentList);
84 84 unsigned int returnValue;
85 85 void* args[4] = {NULL, (void*)&Value0, (void*)&count1, (void*)&address2};
86 86 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
87 87 if (result) {
88 88 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
89 89 if (args[0]!=&returnValue) {
90 90 if (args[0]==NULL) {
91 91 PythonQt::priv()->handleVirtualOverloadReturnError("Read", methodInfo, result);
92 92 } else {
93 93 returnValue = *((unsigned int*)args[0]);
94 94 }
95 95 }
96 96 }
97 97 if (result) { Py_DECREF(result); }
98 98 Py_DECREF(obj);
99 99 return returnValue;
100 100 } else {
101 101 PyErr_Clear();
102 102 }
103 103 }
104 104 return socexplorerplugin::Read(Value0, count1, address2);
105 105 }
106 106 int PythonQtShell_socexplorerplugin::VID()
107 107 {
108 108 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
109 109 static PyObject* name = PyString_FromString("VID");
110 110 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
111 111 if (obj) {
112 112 static const char* argumentList[] ={"int"};
113 113 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
114 114 int returnValue;
115 115 void* args[1] = {NULL};
116 116 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
117 117 if (result) {
118 118 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
119 119 if (args[0]!=&returnValue) {
120 120 if (args[0]==NULL) {
121 121 PythonQt::priv()->handleVirtualOverloadReturnError("VID", methodInfo, result);
122 122 } else {
123 123 returnValue = *((int*)args[0]);
124 124 }
125 125 }
126 126 }
127 127 if (result) { Py_DECREF(result); }
128 128 Py_DECREF(obj);
129 129 return returnValue;
130 130 } else {
131 131 PyErr_Clear();
132 132 }
133 133 }
134 134 return socexplorerplugin::VID();
135 135 }
136 136 unsigned int PythonQtShell_socexplorerplugin::Write(unsigned int* Value0, unsigned int count1, unsigned int address2)
137 137 {
138 138 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
139 139 static PyObject* name = PyString_FromString("Write");
140 140 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
141 141 if (obj) {
142 142 static const char* argumentList[] ={"unsigned int" , "unsigned int*" , "unsigned int" , "unsigned int"};
143 143 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(4, argumentList);
144 144 unsigned int returnValue;
145 145 void* args[4] = {NULL, (void*)&Value0, (void*)&count1, (void*)&address2};
146 146 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
147 147 if (result) {
148 148 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
149 149 if (args[0]!=&returnValue) {
150 150 if (args[0]==NULL) {
151 151 PythonQt::priv()->handleVirtualOverloadReturnError("Write", methodInfo, result);
152 152 } else {
153 153 returnValue = *((unsigned int*)args[0]);
154 154 }
155 155 }
156 156 }
157 157 if (result) { Py_DECREF(result); }
158 158 Py_DECREF(obj);
159 159 return returnValue;
160 160 } else {
161 161 PyErr_Clear();
162 162 }
163 163 }
164 164 return socexplorerplugin::Write(Value0, count1, address2);
165 165 }
166 166 void PythonQtShell_socexplorerplugin::actionEvent(QActionEvent* arg__1)
167 167 {
168 168 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
169 169 static PyObject* name = PyString_FromString("actionEvent");
170 170 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
171 171 if (obj) {
172 172 static const char* argumentList[] ={"" , "QActionEvent*"};
173 173 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
174 174 void* args[2] = {NULL, (void*)&arg__1};
175 175 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
176 176 if (result) { Py_DECREF(result); }
177 177 Py_DECREF(obj);
178 178 return;
179 179 } else {
180 180 PyErr_Clear();
181 181 }
182 182 }
183 183 socexplorerplugin::actionEvent(arg__1);
184 184 }
185 185 void PythonQtShell_socexplorerplugin::activate(bool flag0)
186 186 {
187 187 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
188 188 static PyObject* name = PyString_FromString("activate");
189 189 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
190 190 if (obj) {
191 191 static const char* argumentList[] ={"" , "bool"};
192 192 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
193 193 void* args[2] = {NULL, (void*)&flag0};
194 194 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
195 195 if (result) { Py_DECREF(result); }
196 196 Py_DECREF(obj);
197 197 return;
198 198 } else {
199 199 PyErr_Clear();
200 200 }
201 201 }
202 202 socexplorerplugin::activate(flag0);
203 203 }
204 204 int PythonQtShell_socexplorerplugin::baseAddress()
205 205 {
206 206 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
207 207 static PyObject* name = PyString_FromString("baseAddress");
208 208 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
209 209 if (obj) {
210 210 static const char* argumentList[] ={"int"};
211 211 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
212 212 int returnValue;
213 213 void* args[1] = {NULL};
214 214 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
215 215 if (result) {
216 216 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
217 217 if (args[0]!=&returnValue) {
218 218 if (args[0]==NULL) {
219 219 PythonQt::priv()->handleVirtualOverloadReturnError("baseAddress", methodInfo, result);
220 220 } else {
221 221 returnValue = *((int*)args[0]);
222 222 }
223 223 }
224 224 }
225 225 if (result) { Py_DECREF(result); }
226 226 Py_DECREF(obj);
227 227 return returnValue;
228 228 } else {
229 229 PyErr_Clear();
230 230 }
231 231 }
232 232 return socexplorerplugin::baseAddress();
233 233 }
234 234 QString PythonQtShell_socexplorerplugin::baseName()
235 235 {
236 236 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
237 237 static PyObject* name = PyString_FromString("baseName");
238 238 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
239 239 if (obj) {
240 240 static const char* argumentList[] ={"QString"};
241 241 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
242 242 QString returnValue;
243 243 void* args[1] = {NULL};
244 244 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
245 245 if (result) {
246 246 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
247 247 if (args[0]!=&returnValue) {
248 248 if (args[0]==NULL) {
249 249 PythonQt::priv()->handleVirtualOverloadReturnError("baseName", methodInfo, result);
250 250 } else {
251 251 returnValue = *((QString*)args[0]);
252 252 }
253 253 }
254 254 }
255 255 if (result) { Py_DECREF(result); }
256 256 Py_DECREF(obj);
257 257 return returnValue;
258 258 } else {
259 259 PyErr_Clear();
260 260 }
261 261 }
262 262 return socexplorerplugin::baseName();
263 263 }
264 264 void PythonQtShell_socexplorerplugin::changeEvent(QEvent* event0)
265 265 {
266 266 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
267 267 static PyObject* name = PyString_FromString("changeEvent");
268 268 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
269 269 if (obj) {
270 270 static const char* argumentList[] ={"" , "QEvent*"};
271 271 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
272 272 void* args[2] = {NULL, (void*)&event0};
273 273 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
274 274 if (result) { Py_DECREF(result); }
275 275 Py_DECREF(obj);
276 276 return;
277 277 } else {
278 278 PyErr_Clear();
279 279 }
280 280 }
281 281 socexplorerplugin::changeEvent(event0);
282 282 }
283 283 void PythonQtShell_socexplorerplugin::childEvent(QChildEvent* arg__1)
284 284 {
285 285 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
286 286 static PyObject* name = PyString_FromString("childEvent");
287 287 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
288 288 if (obj) {
289 289 static const char* argumentList[] ={"" , "QChildEvent*"};
290 290 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
291 291 void* args[2] = {NULL, (void*)&arg__1};
292 292 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
293 293 if (result) { Py_DECREF(result); }
294 294 Py_DECREF(obj);
295 295 return;
296 296 } else {
297 297 PyErr_Clear();
298 298 }
299 299 }
300 300 socexplorerplugin::childEvent(arg__1);
301 301 }
302 302 void PythonQtShell_socexplorerplugin::closeEvent(QCloseEvent* event0)
303 303 {
304 304 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
305 305 static PyObject* name = PyString_FromString("closeEvent");
306 306 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
307 307 if (obj) {
308 308 static const char* argumentList[] ={"" , "QCloseEvent*"};
309 309 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
310 310 void* args[2] = {NULL, (void*)&event0};
311 311 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
312 312 if (result) { Py_DECREF(result); }
313 313 Py_DECREF(obj);
314 314 return;
315 315 } else {
316 316 PyErr_Clear();
317 317 }
318 318 }
319 319 socexplorerplugin::closeEvent(event0);
320 320 }
321 321 void PythonQtShell_socexplorerplugin::closeMe()
322 322 {
323 323 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
324 324 static PyObject* name = PyString_FromString("closeMe");
325 325 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
326 326 if (obj) {
327 327 static const char* argumentList[] ={""};
328 328 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
329 329 void* args[1] = {NULL};
330 330 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
331 331 if (result) { Py_DECREF(result); }
332 332 Py_DECREF(obj);
333 333 return;
334 334 } else {
335 335 PyErr_Clear();
336 336 }
337 337 }
338 338 socexplorerplugin::closeMe();
339 339 }
340 340 void PythonQtShell_socexplorerplugin::contextMenuEvent(QContextMenuEvent* arg__1)
341 341 {
342 342 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
343 343 static PyObject* name = PyString_FromString("contextMenuEvent");
344 344 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
345 345 if (obj) {
346 346 static const char* argumentList[] ={"" , "QContextMenuEvent*"};
347 347 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
348 348 void* args[2] = {NULL, (void*)&arg__1};
349 349 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
350 350 if (result) { Py_DECREF(result); }
351 351 Py_DECREF(obj);
352 352 return;
353 353 } else {
354 354 PyErr_Clear();
355 355 }
356 356 }
357 357 socexplorerplugin::contextMenuEvent(arg__1);
358 358 }
359 359 void PythonQtShell_socexplorerplugin::customEvent(QEvent* arg__1)
360 360 {
361 361 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
362 362 static PyObject* name = PyString_FromString("customEvent");
363 363 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
364 364 if (obj) {
365 365 static const char* argumentList[] ={"" , "QEvent*"};
366 366 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
367 367 void* args[2] = {NULL, (void*)&arg__1};
368 368 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
369 369 if (result) { Py_DECREF(result); }
370 370 Py_DECREF(obj);
371 371 return;
372 372 } else {
373 373 PyErr_Clear();
374 374 }
375 375 }
376 376 socexplorerplugin::customEvent(arg__1);
377 377 }
378 378 int PythonQtShell_socexplorerplugin::devType() const
379 379 {
380 380 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
381 381 static PyObject* name = PyString_FromString("devType");
382 382 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
383 383 if (obj) {
384 384 static const char* argumentList[] ={"int"};
385 385 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
386 386 int returnValue;
387 387 void* args[1] = {NULL};
388 388 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
389 389 if (result) {
390 390 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
391 391 if (args[0]!=&returnValue) {
392 392 if (args[0]==NULL) {
393 393 PythonQt::priv()->handleVirtualOverloadReturnError("devType", methodInfo, result);
394 394 } else {
395 395 returnValue = *((int*)args[0]);
396 396 }
397 397 }
398 398 }
399 399 if (result) { Py_DECREF(result); }
400 400 Py_DECREF(obj);
401 401 return returnValue;
402 402 } else {
403 403 PyErr_Clear();
404 404 }
405 405 }
406 406 return socexplorerplugin::devType();
407 407 }
408 408 void PythonQtShell_socexplorerplugin::dragEnterEvent(QDragEnterEvent* arg__1)
409 409 {
410 410 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
411 411 static PyObject* name = PyString_FromString("dragEnterEvent");
412 412 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
413 413 if (obj) {
414 414 static const char* argumentList[] ={"" , "QDragEnterEvent*"};
415 415 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
416 416 void* args[2] = {NULL, (void*)&arg__1};
417 417 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
418 418 if (result) { Py_DECREF(result); }
419 419 Py_DECREF(obj);
420 420 return;
421 421 } else {
422 422 PyErr_Clear();
423 423 }
424 424 }
425 425 socexplorerplugin::dragEnterEvent(arg__1);
426 426 }
427 427 void PythonQtShell_socexplorerplugin::dragLeaveEvent(QDragLeaveEvent* arg__1)
428 428 {
429 429 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
430 430 static PyObject* name = PyString_FromString("dragLeaveEvent");
431 431 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
432 432 if (obj) {
433 433 static const char* argumentList[] ={"" , "QDragLeaveEvent*"};
434 434 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
435 435 void* args[2] = {NULL, (void*)&arg__1};
436 436 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
437 437 if (result) { Py_DECREF(result); }
438 438 Py_DECREF(obj);
439 439 return;
440 440 } else {
441 441 PyErr_Clear();
442 442 }
443 443 }
444 444 socexplorerplugin::dragLeaveEvent(arg__1);
445 445 }
446 446 void PythonQtShell_socexplorerplugin::dragMoveEvent(QDragMoveEvent* arg__1)
447 447 {
448 448 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
449 449 static PyObject* name = PyString_FromString("dragMoveEvent");
450 450 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
451 451 if (obj) {
452 452 static const char* argumentList[] ={"" , "QDragMoveEvent*"};
453 453 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
454 454 void* args[2] = {NULL, (void*)&arg__1};
455 455 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
456 456 if (result) { Py_DECREF(result); }
457 457 Py_DECREF(obj);
458 458 return;
459 459 } else {
460 460 PyErr_Clear();
461 461 }
462 462 }
463 463 socexplorerplugin::dragMoveEvent(arg__1);
464 464 }
465 465 void PythonQtShell_socexplorerplugin::dropEvent(QDropEvent* arg__1)
466 466 {
467 467 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
468 468 static PyObject* name = PyString_FromString("dropEvent");
469 469 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
470 470 if (obj) {
471 471 static const char* argumentList[] ={"" , "QDropEvent*"};
472 472 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
473 473 void* args[2] = {NULL, (void*)&arg__1};
474 474 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
475 475 if (result) { Py_DECREF(result); }
476 476 Py_DECREF(obj);
477 477 return;
478 478 } else {
479 479 PyErr_Clear();
480 480 }
481 481 }
482 482 socexplorerplugin::dropEvent(arg__1);
483 483 }
484 484 bool PythonQtShell_socexplorerplugin::dumpMemory(unsigned int address0, unsigned int count1, QString file2)
485 485 {
486 486 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
487 487 static PyObject* name = PyString_FromString("dumpMemory");
488 488 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
489 489 if (obj) {
490 490 static const char* argumentList[] ={"bool" , "unsigned int" , "unsigned int" , "QString"};
491 491 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(4, argumentList);
492 492 bool returnValue;
493 493 void* args[4] = {NULL, (void*)&address0, (void*)&count1, (void*)&file2};
494 494 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
495 495 if (result) {
496 496 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
497 497 if (args[0]!=&returnValue) {
498 498 if (args[0]==NULL) {
499 499 PythonQt::priv()->handleVirtualOverloadReturnError("dumpMemory", methodInfo, result);
500 500 } else {
501 501 returnValue = *((bool*)args[0]);
502 502 }
503 503 }
504 504 }
505 505 if (result) { Py_DECREF(result); }
506 506 Py_DECREF(obj);
507 507 return returnValue;
508 508 } else {
509 509 PyErr_Clear();
510 510 }
511 511 }
512 512 return socexplorerplugin::dumpMemory(address0, count1, file2);
513 513 }
514 514 bool PythonQtShell_socexplorerplugin::dumpMemory(unsigned int address0, unsigned int count1, QString file2, const QString& format3)
515 515 {
516 516 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
517 517 static PyObject* name = PyString_FromString("dumpMemory");
518 518 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
519 519 if (obj) {
520 520 static const char* argumentList[] ={"bool" , "unsigned int" , "unsigned int" , "QString" , "const QString&"};
521 521 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(5, argumentList);
522 522 bool returnValue;
523 523 void* args[5] = {NULL, (void*)&address0, (void*)&count1, (void*)&file2, (void*)&format3};
524 524 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
525 525 if (result) {
526 526 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
527 527 if (args[0]!=&returnValue) {
528 528 if (args[0]==NULL) {
529 529 PythonQt::priv()->handleVirtualOverloadReturnError("dumpMemory", methodInfo, result);
530 530 } else {
531 531 returnValue = *((bool*)args[0]);
532 532 }
533 533 }
534 534 }
535 535 if (result) { Py_DECREF(result); }
536 536 Py_DECREF(obj);
537 537 return returnValue;
538 538 } else {
539 539 PyErr_Clear();
540 540 }
541 541 }
542 542 return socexplorerplugin::dumpMemory(address0, count1, file2, format3);
543 543 }
544 544 void PythonQtShell_socexplorerplugin::enterEvent(QEvent* arg__1)
545 545 {
546 546 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
547 547 static PyObject* name = PyString_FromString("enterEvent");
548 548 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
549 549 if (obj) {
550 550 static const char* argumentList[] ={"" , "QEvent*"};
551 551 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
552 552 void* args[2] = {NULL, (void*)&arg__1};
553 553 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
554 554 if (result) { Py_DECREF(result); }
555 555 Py_DECREF(obj);
556 556 return;
557 557 } else {
558 558 PyErr_Clear();
559 559 }
560 560 }
561 561 socexplorerplugin::enterEvent(arg__1);
562 562 }
563 563 bool PythonQtShell_socexplorerplugin::event(QEvent* event0)
564 564 {
565 565 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
566 566 static PyObject* name = PyString_FromString("event");
567 567 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
568 568 if (obj) {
569 569 static const char* argumentList[] ={"bool" , "QEvent*"};
570 570 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
571 571 bool returnValue;
572 572 void* args[2] = {NULL, (void*)&event0};
573 573 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
574 574 if (result) {
575 575 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
576 576 if (args[0]!=&returnValue) {
577 577 if (args[0]==NULL) {
578 578 PythonQt::priv()->handleVirtualOverloadReturnError("event", methodInfo, result);
579 579 } else {
580 580 returnValue = *((bool*)args[0]);
581 581 }
582 582 }
583 583 }
584 584 if (result) { Py_DECREF(result); }
585 585 Py_DECREF(obj);
586 586 return returnValue;
587 587 } else {
588 588 PyErr_Clear();
589 589 }
590 590 }
591 591 return socexplorerplugin::event(event0);
592 592 }
593 593 bool PythonQtShell_socexplorerplugin::eventFilter(QObject* arg__1, QEvent* arg__2)
594 594 {
595 595 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
596 596 static PyObject* name = PyString_FromString("eventFilter");
597 597 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
598 598 if (obj) {
599 599 static const char* argumentList[] ={"bool" , "QObject*" , "QEvent*"};
600 600 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(3, argumentList);
601 601 bool returnValue;
602 602 void* args[3] = {NULL, (void*)&arg__1, (void*)&arg__2};
603 603 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
604 604 if (result) {
605 605 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
606 606 if (args[0]!=&returnValue) {
607 607 if (args[0]==NULL) {
608 608 PythonQt::priv()->handleVirtualOverloadReturnError("eventFilter", methodInfo, result);
609 609 } else {
610 610 returnValue = *((bool*)args[0]);
611 611 }
612 612 }
613 613 }
614 614 if (result) { Py_DECREF(result); }
615 615 Py_DECREF(obj);
616 616 return returnValue;
617 617 } else {
618 618 PyErr_Clear();
619 619 }
620 620 }
621 621 return socexplorerplugin::eventFilter(arg__1, arg__2);
622 622 }
623 623 void PythonQtShell_socexplorerplugin::focusInEvent(QFocusEvent* arg__1)
624 624 {
625 625 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
626 626 static PyObject* name = PyString_FromString("focusInEvent");
627 627 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
628 628 if (obj) {
629 629 static const char* argumentList[] ={"" , "QFocusEvent*"};
630 630 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
631 631 void* args[2] = {NULL, (void*)&arg__1};
632 632 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
633 633 if (result) { Py_DECREF(result); }
634 634 Py_DECREF(obj);
635 635 return;
636 636 } else {
637 637 PyErr_Clear();
638 638 }
639 639 }
640 640 socexplorerplugin::focusInEvent(arg__1);
641 641 }
642 642 bool PythonQtShell_socexplorerplugin::focusNextPrevChild(bool next0)
643 643 {
644 644 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
645 645 static PyObject* name = PyString_FromString("focusNextPrevChild");
646 646 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
647 647 if (obj) {
648 648 static const char* argumentList[] ={"bool" , "bool"};
649 649 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
650 650 bool returnValue;
651 651 void* args[2] = {NULL, (void*)&next0};
652 652 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
653 653 if (result) {
654 654 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
655 655 if (args[0]!=&returnValue) {
656 656 if (args[0]==NULL) {
657 657 PythonQt::priv()->handleVirtualOverloadReturnError("focusNextPrevChild", methodInfo, result);
658 658 } else {
659 659 returnValue = *((bool*)args[0]);
660 660 }
661 661 }
662 662 }
663 663 if (result) { Py_DECREF(result); }
664 664 Py_DECREF(obj);
665 665 return returnValue;
666 666 } else {
667 667 PyErr_Clear();
668 668 }
669 669 }
670 670 return socexplorerplugin::focusNextPrevChild(next0);
671 671 }
672 672 void PythonQtShell_socexplorerplugin::focusOutEvent(QFocusEvent* arg__1)
673 673 {
674 674 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
675 675 static PyObject* name = PyString_FromString("focusOutEvent");
676 676 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
677 677 if (obj) {
678 678 static const char* argumentList[] ={"" , "QFocusEvent*"};
679 679 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
680 680 void* args[2] = {NULL, (void*)&arg__1};
681 681 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
682 682 if (result) { Py_DECREF(result); }
683 683 Py_DECREF(obj);
684 684 return;
685 685 } else {
686 686 PyErr_Clear();
687 687 }
688 688 }
689 689 socexplorerplugin::focusOutEvent(arg__1);
690 690 }
691 691 bool PythonQtShell_socexplorerplugin::hasHeightForWidth() const
692 692 {
693 693 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
694 694 static PyObject* name = PyString_FromString("hasHeightForWidth");
695 695 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
696 696 if (obj) {
697 697 static const char* argumentList[] ={"bool"};
698 698 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
699 699 bool returnValue;
700 700 void* args[1] = {NULL};
701 701 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
702 702 if (result) {
703 703 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
704 704 if (args[0]!=&returnValue) {
705 705 if (args[0]==NULL) {
706 706 PythonQt::priv()->handleVirtualOverloadReturnError("hasHeightForWidth", methodInfo, result);
707 707 } else {
708 708 returnValue = *((bool*)args[0]);
709 709 }
710 710 }
711 711 }
712 712 if (result) { Py_DECREF(result); }
713 713 Py_DECREF(obj);
714 714 return returnValue;
715 715 } else {
716 716 PyErr_Clear();
717 717 }
718 718 }
719 719 return socexplorerplugin::hasHeightForWidth();
720 720 }
721 721 int PythonQtShell_socexplorerplugin::heightForWidth(int arg__1) const
722 722 {
723 723 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
724 724 static PyObject* name = PyString_FromString("heightForWidth");
725 725 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
726 726 if (obj) {
727 727 static const char* argumentList[] ={"int" , "int"};
728 728 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
729 729 int returnValue;
730 730 void* args[2] = {NULL, (void*)&arg__1};
731 731 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
732 732 if (result) {
733 733 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
734 734 if (args[0]!=&returnValue) {
735 735 if (args[0]==NULL) {
736 736 PythonQt::priv()->handleVirtualOverloadReturnError("heightForWidth", methodInfo, result);
737 737 } else {
738 738 returnValue = *((int*)args[0]);
739 739 }
740 740 }
741 741 }
742 742 if (result) { Py_DECREF(result); }
743 743 Py_DECREF(obj);
744 744 return returnValue;
745 745 } else {
746 746 PyErr_Clear();
747 747 }
748 748 }
749 749 return socexplorerplugin::heightForWidth(arg__1);
750 750 }
751 751 void PythonQtShell_socexplorerplugin::hideEvent(QHideEvent* arg__1)
752 752 {
753 753 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
754 754 static PyObject* name = PyString_FromString("hideEvent");
755 755 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
756 756 if (obj) {
757 757 static const char* argumentList[] ={"" , "QHideEvent*"};
758 758 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
759 759 void* args[2] = {NULL, (void*)&arg__1};
760 760 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
761 761 if (result) { Py_DECREF(result); }
762 762 Py_DECREF(obj);
763 763 return;
764 764 } else {
765 765 PyErr_Clear();
766 766 }
767 767 }
768 768 socexplorerplugin::hideEvent(arg__1);
769 769 }
770 770 void PythonQtShell_socexplorerplugin::initPainter(QPainter* painter0) const
771 771 {
772 772 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
773 773 static PyObject* name = PyString_FromString("initPainter");
774 774 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
775 775 if (obj) {
776 776 static const char* argumentList[] ={"" , "QPainter*"};
777 777 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
778 778 void* args[2] = {NULL, (void*)&painter0};
779 779 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
780 780 if (result) { Py_DECREF(result); }
781 781 Py_DECREF(obj);
782 782 return;
783 783 } else {
784 784 PyErr_Clear();
785 785 }
786 786 }
787 787 socexplorerplugin::initPainter(painter0);
788 788 }
789 789 void PythonQtShell_socexplorerplugin::inputMethodEvent(QInputMethodEvent* arg__1)
790 790 {
791 791 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
792 792 static PyObject* name = PyString_FromString("inputMethodEvent");
793 793 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
794 794 if (obj) {
795 795 static const char* argumentList[] ={"" , "QInputMethodEvent*"};
796 796 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
797 797 void* args[2] = {NULL, (void*)&arg__1};
798 798 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
799 799 if (result) { Py_DECREF(result); }
800 800 Py_DECREF(obj);
801 801 return;
802 802 } else {
803 803 PyErr_Clear();
804 804 }
805 805 }
806 806 socexplorerplugin::inputMethodEvent(arg__1);
807 807 }
808 808 QVariant PythonQtShell_socexplorerplugin::inputMethodQuery(Qt::InputMethodQuery arg__1) const
809 809 {
810 810 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
811 811 static PyObject* name = PyString_FromString("inputMethodQuery");
812 812 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
813 813 if (obj) {
814 814 static const char* argumentList[] ={"QVariant" , "Qt::InputMethodQuery"};
815 815 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
816 816 QVariant returnValue;
817 817 void* args[2] = {NULL, (void*)&arg__1};
818 818 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
819 819 if (result) {
820 820 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
821 821 if (args[0]!=&returnValue) {
822 822 if (args[0]==NULL) {
823 823 PythonQt::priv()->handleVirtualOverloadReturnError("inputMethodQuery", methodInfo, result);
824 824 } else {
825 825 returnValue = *((QVariant*)args[0]);
826 826 }
827 827 }
828 828 }
829 829 if (result) { Py_DECREF(result); }
830 830 Py_DECREF(obj);
831 831 return returnValue;
832 832 } else {
833 833 PyErr_Clear();
834 834 }
835 835 }
836 836 return socexplorerplugin::inputMethodQuery(arg__1);
837 837 }
838 838 int PythonQtShell_socexplorerplugin::isConnected()
839 839 {
840 840 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
841 841 static PyObject* name = PyString_FromString("isConnected");
842 842 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
843 843 if (obj) {
844 844 static const char* argumentList[] ={"int"};
845 845 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
846 846 int returnValue;
847 847 void* args[1] = {NULL};
848 848 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
849 849 if (result) {
850 850 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
851 851 if (args[0]!=&returnValue) {
852 852 if (args[0]==NULL) {
853 853 PythonQt::priv()->handleVirtualOverloadReturnError("isConnected", methodInfo, result);
854 854 } else {
855 855 returnValue = *((int*)args[0]);
856 856 }
857 857 }
858 858 }
859 859 if (result) { Py_DECREF(result); }
860 860 Py_DECREF(obj);
861 861 return returnValue;
862 862 } else {
863 863 PyErr_Clear();
864 864 }
865 865 }
866 866 return socexplorerplugin::isConnected();
867 867 }
868 868 void PythonQtShell_socexplorerplugin::keyPressEvent(QKeyEvent* arg__1)
869 869 {
870 870 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
871 871 static PyObject* name = PyString_FromString("keyPressEvent");
872 872 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
873 873 if (obj) {
874 874 static const char* argumentList[] ={"" , "QKeyEvent*"};
875 875 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
876 876 void* args[2] = {NULL, (void*)&arg__1};
877 877 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
878 878 if (result) { Py_DECREF(result); }
879 879 Py_DECREF(obj);
880 880 return;
881 881 } else {
882 882 PyErr_Clear();
883 883 }
884 884 }
885 885 socexplorerplugin::keyPressEvent(arg__1);
886 886 }
887 887 void PythonQtShell_socexplorerplugin::keyReleaseEvent(QKeyEvent* arg__1)
888 888 {
889 889 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
890 890 static PyObject* name = PyString_FromString("keyReleaseEvent");
891 891 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
892 892 if (obj) {
893 893 static const char* argumentList[] ={"" , "QKeyEvent*"};
894 894 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
895 895 void* args[2] = {NULL, (void*)&arg__1};
896 896 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
897 897 if (result) { Py_DECREF(result); }
898 898 Py_DECREF(obj);
899 899 return;
900 900 } else {
901 901 PyErr_Clear();
902 902 }
903 903 }
904 904 socexplorerplugin::keyReleaseEvent(arg__1);
905 905 }
906 906 void PythonQtShell_socexplorerplugin::leaveEvent(QEvent* arg__1)
907 907 {
908 908 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
909 909 static PyObject* name = PyString_FromString("leaveEvent");
910 910 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
911 911 if (obj) {
912 912 static const char* argumentList[] ={"" , "QEvent*"};
913 913 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
914 914 void* args[2] = {NULL, (void*)&arg__1};
915 915 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
916 916 if (result) { Py_DECREF(result); }
917 917 Py_DECREF(obj);
918 918 return;
919 919 } else {
920 920 PyErr_Clear();
921 921 }
922 922 }
923 923 socexplorerplugin::leaveEvent(arg__1);
924 924 }
925 925 bool PythonQtShell_socexplorerplugin::loadbin(unsigned int address0, QString file1)
926 926 {
927 927 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
928 928 static PyObject* name = PyString_FromString("loadbin");
929 929 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
930 930 if (obj) {
931 931 static const char* argumentList[] ={"bool" , "unsigned int" , "QString"};
932 932 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(3, argumentList);
933 933 bool returnValue;
934 934 void* args[3] = {NULL, (void*)&address0, (void*)&file1};
935 935 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
936 936 if (result) {
937 937 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
938 938 if (args[0]!=&returnValue) {
939 939 if (args[0]==NULL) {
940 940 PythonQt::priv()->handleVirtualOverloadReturnError("loadbin", methodInfo, result);
941 941 } else {
942 942 returnValue = *((bool*)args[0]);
943 943 }
944 944 }
945 945 }
946 946 if (result) { Py_DECREF(result); }
947 947 Py_DECREF(obj);
948 948 return returnValue;
949 949 } else {
950 950 PyErr_Clear();
951 951 }
952 952 }
953 953 return socexplorerplugin::loadbin(address0, file1);
954 954 }
955 955 bool PythonQtShell_socexplorerplugin::memSet(unsigned int address0, int value1, unsigned int count2)
956 956 {
957 957 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
958 958 static PyObject* name = PyString_FromString("memSet");
959 959 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
960 960 if (obj) {
961 961 static const char* argumentList[] ={"bool" , "unsigned int" , "int" , "unsigned int"};
962 962 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(4, argumentList);
963 963 bool returnValue;
964 964 void* args[4] = {NULL, (void*)&address0, (void*)&value1, (void*)&count2};
965 965 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
966 966 if (result) {
967 967 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
968 968 if (args[0]!=&returnValue) {
969 969 if (args[0]==NULL) {
970 970 PythonQt::priv()->handleVirtualOverloadReturnError("memSet", methodInfo, result);
971 971 } else {
972 972 returnValue = *((bool*)args[0]);
973 973 }
974 974 }
975 975 }
976 976 if (result) { Py_DECREF(result); }
977 977 Py_DECREF(obj);
978 978 return returnValue;
979 979 } else {
980 980 PyErr_Clear();
981 981 }
982 982 }
983 983 return socexplorerplugin::memSet(address0, value1, count2);
984 984 }
985 985 int PythonQtShell_socexplorerplugin::metric(QPaintDevice::PaintDeviceMetric arg__1) const
986 986 {
987 987 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
988 988 static PyObject* name = PyString_FromString("metric");
989 989 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
990 990 if (obj) {
991 991 static const char* argumentList[] ={"int" , "QPaintDevice::PaintDeviceMetric"};
992 992 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
993 993 int returnValue;
994 994 void* args[2] = {NULL, (void*)&arg__1};
995 995 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
996 996 if (result) {
997 997 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
998 998 if (args[0]!=&returnValue) {
999 999 if (args[0]==NULL) {
1000 1000 PythonQt::priv()->handleVirtualOverloadReturnError("metric", methodInfo, result);
1001 1001 } else {
1002 1002 returnValue = *((int*)args[0]);
1003 1003 }
1004 1004 }
1005 1005 }
1006 1006 if (result) { Py_DECREF(result); }
1007 1007 Py_DECREF(obj);
1008 1008 return returnValue;
1009 1009 } else {
1010 1010 PyErr_Clear();
1011 1011 }
1012 1012 }
1013 1013 return socexplorerplugin::metric(arg__1);
1014 1014 }
1015 1015 QSize PythonQtShell_socexplorerplugin::minimumSizeHint() const
1016 1016 {
1017 1017 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1018 1018 static PyObject* name = PyString_FromString("getMinimumSizeHint");
1019 1019 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1020 1020 if (obj) {
1021 1021 static const char* argumentList[] ={"QSize"};
1022 1022 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
1023 1023 QSize returnValue;
1024 1024 void* args[1] = {NULL};
1025 1025 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1026 1026 if (result) {
1027 1027 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1028 1028 if (args[0]!=&returnValue) {
1029 1029 if (args[0]==NULL) {
1030 1030 PythonQt::priv()->handleVirtualOverloadReturnError("getMinimumSizeHint", methodInfo, result);
1031 1031 } else {
1032 1032 returnValue = *((QSize*)args[0]);
1033 1033 }
1034 1034 }
1035 1035 }
1036 1036 if (result) { Py_DECREF(result); }
1037 1037 Py_DECREF(obj);
1038 1038 return returnValue;
1039 1039 } else {
1040 1040 PyErr_Clear();
1041 1041 }
1042 1042 }
1043 1043 return socexplorerplugin::minimumSizeHint();
1044 1044 }
1045 1045 void PythonQtShell_socexplorerplugin::mouseDoubleClickEvent(QMouseEvent* arg__1)
1046 1046 {
1047 1047 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1048 1048 static PyObject* name = PyString_FromString("mouseDoubleClickEvent");
1049 1049 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1050 1050 if (obj) {
1051 1051 static const char* argumentList[] ={"" , "QMouseEvent*"};
1052 1052 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1053 1053 void* args[2] = {NULL, (void*)&arg__1};
1054 1054 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1055 1055 if (result) { Py_DECREF(result); }
1056 1056 Py_DECREF(obj);
1057 1057 return;
1058 1058 } else {
1059 1059 PyErr_Clear();
1060 1060 }
1061 1061 }
1062 1062 socexplorerplugin::mouseDoubleClickEvent(arg__1);
1063 1063 }
1064 1064 void PythonQtShell_socexplorerplugin::mouseMoveEvent(QMouseEvent* arg__1)
1065 1065 {
1066 1066 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1067 1067 static PyObject* name = PyString_FromString("mouseMoveEvent");
1068 1068 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1069 1069 if (obj) {
1070 1070 static const char* argumentList[] ={"" , "QMouseEvent*"};
1071 1071 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1072 1072 void* args[2] = {NULL, (void*)&arg__1};
1073 1073 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1074 1074 if (result) { Py_DECREF(result); }
1075 1075 Py_DECREF(obj);
1076 1076 return;
1077 1077 } else {
1078 1078 PyErr_Clear();
1079 1079 }
1080 1080 }
1081 1081 socexplorerplugin::mouseMoveEvent(arg__1);
1082 1082 }
1083 1083 void PythonQtShell_socexplorerplugin::mousePressEvent(QMouseEvent* arg__1)
1084 1084 {
1085 1085 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1086 1086 static PyObject* name = PyString_FromString("mousePressEvent");
1087 1087 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1088 1088 if (obj) {
1089 1089 static const char* argumentList[] ={"" , "QMouseEvent*"};
1090 1090 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1091 1091 void* args[2] = {NULL, (void*)&arg__1};
1092 1092 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1093 1093 if (result) { Py_DECREF(result); }
1094 1094 Py_DECREF(obj);
1095 1095 return;
1096 1096 } else {
1097 1097 PyErr_Clear();
1098 1098 }
1099 1099 }
1100 1100 socexplorerplugin::mousePressEvent(arg__1);
1101 1101 }
1102 1102 void PythonQtShell_socexplorerplugin::mouseReleaseEvent(QMouseEvent* arg__1)
1103 1103 {
1104 1104 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1105 1105 static PyObject* name = PyString_FromString("mouseReleaseEvent");
1106 1106 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1107 1107 if (obj) {
1108 1108 static const char* argumentList[] ={"" , "QMouseEvent*"};
1109 1109 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1110 1110 void* args[2] = {NULL, (void*)&arg__1};
1111 1111 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1112 1112 if (result) { Py_DECREF(result); }
1113 1113 Py_DECREF(obj);
1114 1114 return;
1115 1115 } else {
1116 1116 PyErr_Clear();
1117 1117 }
1118 1118 }
1119 1119 socexplorerplugin::mouseReleaseEvent(arg__1);
1120 1120 }
1121 1121 void PythonQtShell_socexplorerplugin::moveEvent(QMoveEvent* arg__1)
1122 1122 {
1123 1123 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1124 1124 static PyObject* name = PyString_FromString("moveEvent");
1125 1125 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1126 1126 if (obj) {
1127 1127 static const char* argumentList[] ={"" , "QMoveEvent*"};
1128 1128 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1129 1129 void* args[2] = {NULL, (void*)&arg__1};
1130 1130 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1131 1131 if (result) { Py_DECREF(result); }
1132 1132 Py_DECREF(obj);
1133 1133 return;
1134 1134 } else {
1135 1135 PyErr_Clear();
1136 1136 }
1137 1137 }
1138 1138 socexplorerplugin::moveEvent(arg__1);
1139 1139 }
1140 1140 bool PythonQtShell_socexplorerplugin::nativeEvent(const QByteArray& eventType0, void* message1, long* result2)
1141 1141 {
1142 1142 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1143 1143 static PyObject* name = PyString_FromString("nativeEvent");
1144 1144 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1145 1145 if (obj) {
1146 1146 static const char* argumentList[] ={"bool" , "const QByteArray&" , "void*" , "long*"};
1147 1147 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(4, argumentList);
1148 1148 bool returnValue;
1149 1149 void* args[4] = {NULL, (void*)&eventType0, (void*)&message1, (void*)&result2};
1150 1150 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1151 1151 if (result) {
1152 1152 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1153 1153 if (args[0]!=&returnValue) {
1154 1154 if (args[0]==NULL) {
1155 1155 PythonQt::priv()->handleVirtualOverloadReturnError("nativeEvent", methodInfo, result);
1156 1156 } else {
1157 1157 returnValue = *((bool*)args[0]);
1158 1158 }
1159 1159 }
1160 1160 }
1161 1161 if (result) { Py_DECREF(result); }
1162 1162 Py_DECREF(obj);
1163 1163 return returnValue;
1164 1164 } else {
1165 1165 PyErr_Clear();
1166 1166 }
1167 1167 }
1168 1168 return socexplorerplugin::nativeEvent(eventType0, message1, result2);
1169 1169 }
1170 1170 QPaintEngine* PythonQtShell_socexplorerplugin::paintEngine() const
1171 1171 {
1172 1172 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1173 1173 static PyObject* name = PyString_FromString("paintEngine");
1174 1174 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1175 1175 if (obj) {
1176 1176 static const char* argumentList[] ={"QPaintEngine*"};
1177 1177 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
1178 1178 QPaintEngine* returnValue;
1179 1179 void* args[1] = {NULL};
1180 1180 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1181 1181 if (result) {
1182 1182 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1183 1183 if (args[0]!=&returnValue) {
1184 1184 if (args[0]==NULL) {
1185 1185 PythonQt::priv()->handleVirtualOverloadReturnError("paintEngine", methodInfo, result);
1186 1186 } else {
1187 1187 returnValue = *((QPaintEngine**)args[0]);
1188 1188 }
1189 1189 }
1190 1190 }
1191 1191 if (result) { Py_DECREF(result); }
1192 1192 Py_DECREF(obj);
1193 1193 return returnValue;
1194 1194 } else {
1195 1195 PyErr_Clear();
1196 1196 }
1197 1197 }
1198 1198 return socexplorerplugin::paintEngine();
1199 1199 }
1200 1200 void PythonQtShell_socexplorerplugin::paintEvent(QPaintEvent* event0)
1201 1201 {
1202 1202 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1203 1203 static PyObject* name = PyString_FromString("paintEvent");
1204 1204 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1205 1205 if (obj) {
1206 1206 static const char* argumentList[] ={"" , "QPaintEvent*"};
1207 1207 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1208 1208 void* args[2] = {NULL, (void*)&event0};
1209 1209 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1210 1210 if (result) { Py_DECREF(result); }
1211 1211 Py_DECREF(obj);
1212 1212 return;
1213 1213 } else {
1214 1214 PyErr_Clear();
1215 1215 }
1216 1216 }
1217 1217 socexplorerplugin::paintEvent(event0);
1218 1218 }
1219 1219 void PythonQtShell_socexplorerplugin::postInstantiationTrigger()
1220 1220 {
1221 1221 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1222 1222 static PyObject* name = PyString_FromString("postInstantiationTrigger");
1223 1223 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1224 1224 if (obj) {
1225 1225 static const char* argumentList[] ={""};
1226 1226 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
1227 1227 void* args[1] = {NULL};
1228 1228 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1229 1229 if (result) { Py_DECREF(result); }
1230 1230 Py_DECREF(obj);
1231 1231 return;
1232 1232 } else {
1233 1233 PyErr_Clear();
1234 1234 }
1235 1235 }
1236 1236 socexplorerplugin::postInstantiationTrigger();
1237 1237 }
1238 1238 QPaintDevice* PythonQtShell_socexplorerplugin::redirected(QPoint* offset0) const
1239 1239 {
1240 1240 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1241 1241 static PyObject* name = PyString_FromString("redirected");
1242 1242 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1243 1243 if (obj) {
1244 1244 static const char* argumentList[] ={"QPaintDevice*" , "QPoint*"};
1245 1245 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1246 1246 QPaintDevice* returnValue;
1247 1247 void* args[2] = {NULL, (void*)&offset0};
1248 1248 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1249 1249 if (result) {
1250 1250 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1251 1251 if (args[0]!=&returnValue) {
1252 1252 if (args[0]==NULL) {
1253 1253 PythonQt::priv()->handleVirtualOverloadReturnError("redirected", methodInfo, result);
1254 1254 } else {
1255 1255 returnValue = *((QPaintDevice**)args[0]);
1256 1256 }
1257 1257 }
1258 1258 }
1259 1259 if (result) { Py_DECREF(result); }
1260 1260 Py_DECREF(obj);
1261 1261 return returnValue;
1262 1262 } else {
1263 1263 PyErr_Clear();
1264 1264 }
1265 1265 }
1266 1266 return socexplorerplugin::redirected(offset0);
1267 1267 }
1268 1268 int PythonQtShell_socexplorerplugin::registermenu(QMenu* menu0)
1269 1269 {
1270 1270 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1271 1271 static PyObject* name = PyString_FromString("registermenu");
1272 1272 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1273 1273 if (obj) {
1274 1274 static const char* argumentList[] ={"int" , "QMenu*"};
1275 1275 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1276 1276 int returnValue;
1277 1277 void* args[2] = {NULL, (void*)&menu0};
1278 1278 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1279 1279 if (result) {
1280 1280 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1281 1281 if (args[0]!=&returnValue) {
1282 1282 if (args[0]==NULL) {
1283 1283 PythonQt::priv()->handleVirtualOverloadReturnError("registermenu", methodInfo, result);
1284 1284 } else {
1285 1285 returnValue = *((int*)args[0]);
1286 1286 }
1287 1287 }
1288 1288 }
1289 1289 if (result) { Py_DECREF(result); }
1290 1290 Py_DECREF(obj);
1291 1291 return returnValue;
1292 1292 } else {
1293 1293 PyErr_Clear();
1294 1294 }
1295 1295 }
1296 1296 return socexplorerplugin::registermenu(menu0);
1297 1297 }
1298 1298 void PythonQtShell_socexplorerplugin::resizeEvent(QResizeEvent* arg__1)
1299 1299 {
1300 1300 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1301 1301 static PyObject* name = PyString_FromString("resizeEvent");
1302 1302 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1303 1303 if (obj) {
1304 1304 static const char* argumentList[] ={"" , "QResizeEvent*"};
1305 1305 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1306 1306 void* args[2] = {NULL, (void*)&arg__1};
1307 1307 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1308 1308 if (result) { Py_DECREF(result); }
1309 1309 Py_DECREF(obj);
1310 1310 return;
1311 1311 } else {
1312 1312 PyErr_Clear();
1313 1313 }
1314 1314 }
1315 1315 socexplorerplugin::resizeEvent(arg__1);
1316 1316 }
1317 1317 void PythonQtShell_socexplorerplugin::setBaseAddress(unsigned int baseAddress0)
1318 1318 {
1319 1319 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1320 1320 static PyObject* name = PyString_FromString("setBaseAddress");
1321 1321 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1322 1322 if (obj) {
1323 1323 static const char* argumentList[] ={"" , "unsigned int"};
1324 1324 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1325 1325 void* args[2] = {NULL, (void*)&baseAddress0};
1326 1326 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1327 1327 if (result) { Py_DECREF(result); }
1328 1328 Py_DECREF(obj);
1329 1329 return;
1330 1330 } else {
1331 1331 PyErr_Clear();
1332 1332 }
1333 1333 }
1334 1334 socexplorerplugin::setBaseAddress(baseAddress0);
1335 1335 }
1336 1336 void PythonQtShell_socexplorerplugin::setInstanceName(const QString& newName0)
1337 1337 {
1338 1338 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1339 1339 static PyObject* name = PyString_FromString("setInstanceName");
1340 1340 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1341 1341 if (obj) {
1342 1342 static const char* argumentList[] ={"" , "const QString&"};
1343 1343 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1344 1344 void* args[2] = {NULL, (void*)&newName0};
1345 1345 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1346 1346 if (result) { Py_DECREF(result); }
1347 1347 Py_DECREF(obj);
1348 1348 return;
1349 1349 } else {
1350 1350 PyErr_Clear();
1351 1351 }
1352 1352 }
1353 1353 socexplorerplugin::setInstanceName(newName0);
1354 1354 }
1355 1355 QPainter* PythonQtShell_socexplorerplugin::sharedPainter() const
1356 1356 {
1357 1357 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1358 1358 static PyObject* name = PyString_FromString("sharedPainter");
1359 1359 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1360 1360 if (obj) {
1361 1361 static const char* argumentList[] ={"QPainter*"};
1362 1362 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
1363 1363 QPainter* returnValue;
1364 1364 void* args[1] = {NULL};
1365 1365 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1366 1366 if (result) {
1367 1367 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1368 1368 if (args[0]!=&returnValue) {
1369 1369 if (args[0]==NULL) {
1370 1370 PythonQt::priv()->handleVirtualOverloadReturnError("sharedPainter", methodInfo, result);
1371 1371 } else {
1372 1372 returnValue = *((QPainter**)args[0]);
1373 1373 }
1374 1374 }
1375 1375 }
1376 1376 if (result) { Py_DECREF(result); }
1377 1377 Py_DECREF(obj);
1378 1378 return returnValue;
1379 1379 } else {
1380 1380 PyErr_Clear();
1381 1381 }
1382 1382 }
1383 1383 return socexplorerplugin::sharedPainter();
1384 1384 }
1385 1385 void PythonQtShell_socexplorerplugin::showEvent(QShowEvent* arg__1)
1386 1386 {
1387 1387 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1388 1388 static PyObject* name = PyString_FromString("showEvent");
1389 1389 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1390 1390 if (obj) {
1391 1391 static const char* argumentList[] ={"" , "QShowEvent*"};
1392 1392 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1393 1393 void* args[2] = {NULL, (void*)&arg__1};
1394 1394 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1395 1395 if (result) { Py_DECREF(result); }
1396 1396 Py_DECREF(obj);
1397 1397 return;
1398 1398 } else {
1399 1399 PyErr_Clear();
1400 1400 }
1401 1401 }
1402 1402 socexplorerplugin::showEvent(arg__1);
1403 1403 }
1404 1404 QSize PythonQtShell_socexplorerplugin::sizeHint() const
1405 1405 {
1406 1406 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1407 1407 static PyObject* name = PyString_FromString("getSizeHint");
1408 1408 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1409 1409 if (obj) {
1410 1410 static const char* argumentList[] ={"QSize"};
1411 1411 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(1, argumentList);
1412 1412 QSize returnValue;
1413 1413 void* args[1] = {NULL};
1414 1414 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1415 1415 if (result) {
1416 1416 args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
1417 1417 if (args[0]!=&returnValue) {
1418 1418 if (args[0]==NULL) {
1419 1419 PythonQt::priv()->handleVirtualOverloadReturnError("getSizeHint", methodInfo, result);
1420 1420 } else {
1421 1421 returnValue = *((QSize*)args[0]);
1422 1422 }
1423 1423 }
1424 1424 }
1425 1425 if (result) { Py_DECREF(result); }
1426 1426 Py_DECREF(obj);
1427 1427 return returnValue;
1428 1428 } else {
1429 1429 PyErr_Clear();
1430 1430 }
1431 1431 }
1432 1432 return socexplorerplugin::sizeHint();
1433 1433 }
1434 1434 void PythonQtShell_socexplorerplugin::tabletEvent(QTabletEvent* arg__1)
1435 1435 {
1436 1436 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1437 1437 static PyObject* name = PyString_FromString("tabletEvent");
1438 1438 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1439 1439 if (obj) {
1440 1440 static const char* argumentList[] ={"" , "QTabletEvent*"};
1441 1441 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1442 1442 void* args[2] = {NULL, (void*)&arg__1};
1443 1443 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1444 1444 if (result) { Py_DECREF(result); }
1445 1445 Py_DECREF(obj);
1446 1446 return;
1447 1447 } else {
1448 1448 PyErr_Clear();
1449 1449 }
1450 1450 }
1451 1451 socexplorerplugin::tabletEvent(arg__1);
1452 1452 }
1453 1453 void PythonQtShell_socexplorerplugin::timerEvent(QTimerEvent* arg__1)
1454 1454 {
1455 1455 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1456 1456 static PyObject* name = PyString_FromString("timerEvent");
1457 1457 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1458 1458 if (obj) {
1459 1459 static const char* argumentList[] ={"" , "QTimerEvent*"};
1460 1460 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1461 1461 void* args[2] = {NULL, (void*)&arg__1};
1462 1462 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1463 1463 if (result) { Py_DECREF(result); }
1464 1464 Py_DECREF(obj);
1465 1465 return;
1466 1466 } else {
1467 1467 PyErr_Clear();
1468 1468 }
1469 1469 }
1470 1470 socexplorerplugin::timerEvent(arg__1);
1471 1471 }
1472 1472 void PythonQtShell_socexplorerplugin::wheelEvent(QWheelEvent* arg__1)
1473 1473 {
1474 1474 if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
1475 1475 static PyObject* name = PyString_FromString("wheelEvent");
1476 1476 PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
1477 1477 if (obj) {
1478 1478 static const char* argumentList[] ={"" , "QWheelEvent*"};
1479 1479 static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
1480 1480 void* args[2] = {NULL, (void*)&arg__1};
1481 1481 PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
1482 1482 if (result) { Py_DECREF(result); }
1483 1483 Py_DECREF(obj);
1484 1484 return;
1485 1485 } else {
1486 1486 PyErr_Clear();
1487 1487 }
1488 1488 }
1489 1489 socexplorerplugin::wheelEvent(arg__1);
1490 1490 }
1491 1491 socexplorerplugin* PythonQtWrapper_socexplorerplugin::new_socexplorerplugin(QWidget* parent, bool createPyObject)
1492 1492 {
1493 1493 return new PythonQtShell_socexplorerplugin(parent, createPyObject); }
1494 1494
1495 1495 int PythonQtWrapper_socexplorerplugin::PID(socexplorerplugin* theWrappedObject)
1496 1496 {
1497 1497 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_PID());
1498 1498 }
1499 1499
1500 1500 unsigned int PythonQtWrapper_socexplorerplugin::Read(socexplorerplugin* theWrappedObject, unsigned int* Value, unsigned int count, unsigned int address)
1501 1501 {
1502 1502 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_Read(Value, count, address));
1503 1503 }
1504 1504
1505 1505 int PythonQtWrapper_socexplorerplugin::VID(socexplorerplugin* theWrappedObject)
1506 1506 {
1507 1507 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_VID());
1508 1508 }
1509 1509
1510 1510 unsigned int PythonQtWrapper_socexplorerplugin::Write(socexplorerplugin* theWrappedObject, unsigned int* Value, unsigned int count, unsigned int address)
1511 1511 {
1512 1512 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_Write(Value, count, address));
1513 1513 }
1514 1514
1515 1515 void PythonQtWrapper_socexplorerplugin::activate(socexplorerplugin* theWrappedObject, bool flag)
1516 1516 {
1517 1517 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_activate(flag));
1518 1518 }
1519 1519
1520 1520 int PythonQtWrapper_socexplorerplugin::baseAddress(socexplorerplugin* theWrappedObject)
1521 1521 {
1522 1522 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_baseAddress());
1523 1523 }
1524 1524
1525 1525 QString PythonQtWrapper_socexplorerplugin::baseName(socexplorerplugin* theWrappedObject)
1526 1526 {
1527 1527 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_baseName());
1528 1528 }
1529 1529
1530 1530 void PythonQtWrapper_socexplorerplugin::closeMe(socexplorerplugin* theWrappedObject)
1531 1531 {
1532 1532 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_closeMe());
1533 1533 }
1534 1534
1535 1535 bool PythonQtWrapper_socexplorerplugin::dumpMemory(socexplorerplugin* theWrappedObject, unsigned int address, unsigned int count, QString file)
1536 1536 {
1537 1537 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_dumpMemory(address, count, file));
1538 1538 }
1539 1539
1540 1540 bool PythonQtWrapper_socexplorerplugin::dumpMemory(socexplorerplugin* theWrappedObject, unsigned int address, unsigned int count, QString file, const QString& format)
1541 1541 {
1542 1542 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_dumpMemory(address, count, file, format));
1543 1543 }
1544 1544
1545 QString PythonQtWrapper_socexplorerplugin::instance(socexplorerplugin* theWrappedObject)
1546 {
1547 return ( theWrappedObject->instance());
1548 }
1549
1545 1550 QString PythonQtWrapper_socexplorerplugin::instanceName(socexplorerplugin* theWrappedObject)
1546 1551 {
1547 1552 return ( theWrappedObject->instanceName());
1548 1553 }
1549 1554
1550 1555 int PythonQtWrapper_socexplorerplugin::isConnected(socexplorerplugin* theWrappedObject)
1551 1556 {
1552 1557 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_isConnected());
1553 1558 }
1554 1559
1555 1560 bool PythonQtWrapper_socexplorerplugin::loadbin(socexplorerplugin* theWrappedObject, unsigned int address, QString file)
1556 1561 {
1557 1562 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_loadbin(address, file));
1558 1563 }
1559 1564
1560 void PythonQtWrapper_socexplorerplugin::makeGenericPyWrapper(socexplorerplugin* theWrappedObject)
1561 {
1562 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_makeGenericPyWrapper());
1563 }
1564
1565 1565 bool PythonQtWrapper_socexplorerplugin::memSet(socexplorerplugin* theWrappedObject, unsigned int address, int value, unsigned int count)
1566 1566 {
1567 1567 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_memSet(address, value, count));
1568 1568 }
1569 1569
1570 1570 void PythonQtWrapper_socexplorerplugin::postInstantiationTrigger(socexplorerplugin* theWrappedObject)
1571 1571 {
1572 1572 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_postInstantiationTrigger());
1573 1573 }
1574 1574
1575 1575 int PythonQtWrapper_socexplorerplugin::registermenu(socexplorerplugin* theWrappedObject, QMenu* menu)
1576 1576 {
1577 1577 return ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_registermenu(menu));
1578 1578 }
1579 1579
1580 1580 void PythonQtWrapper_socexplorerplugin::setBaseAddress(socexplorerplugin* theWrappedObject, unsigned int baseAddress)
1581 1581 {
1582 1582 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_setBaseAddress(baseAddress));
1583 1583 }
1584 1584
1585 1585 void PythonQtWrapper_socexplorerplugin::setInstanceName(socexplorerplugin* theWrappedObject, const QString& newName)
1586 1586 {
1587 1587 ( ((PythonQtPublicPromoter_socexplorerplugin*)theWrappedObject)->promoted_setInstanceName(newName));
1588 1588 }
1589 1589
1590 1590
@@ -1,173 +1,172
1 1 #include <PythonQt.h>
2 2 #include <QObject>
3 3 #include <QVariant>
4 4 #include <qaction.h>
5 5 #include <qbackingstore.h>
6 6 #include <qbitmap.h>
7 7 #include <qbytearray.h>
8 8 #include <qcoreevent.h>
9 9 #include <qcursor.h>
10 10 #include <qdockwidget.h>
11 11 #include <qevent.h>
12 12 #include <qfont.h>
13 13 #include <qgraphicseffect.h>
14 14 #include <qgraphicsproxywidget.h>
15 15 #include <qicon.h>
16 16 #include <qkeysequence.h>
17 17 #include <qlayout.h>
18 18 #include <qlist.h>
19 19 #include <qlocale.h>
20 20 #include <qmargins.h>
21 21 #include <qmenu.h>
22 22 #include <qmetaobject.h>
23 23 #include <qobject.h>
24 24 #include <qpaintdevice.h>
25 25 #include <qpaintengine.h>
26 26 #include <qpainter.h>
27 27 #include <qpalette.h>
28 28 #include <qpixmap.h>
29 29 #include <qpoint.h>
30 30 #include <qrect.h>
31 31 #include <qregion.h>
32 32 #include <qsize.h>
33 33 #include <qsizepolicy.h>
34 34 #include <qstyle.h>
35 35 #include <qstyleoption.h>
36 36 #include <qwidget.h>
37 37 #include <qwindow.h>
38 38 #include <socexplorerplugin.h>
39 39
40 40
41 41
42 42 class PythonQtShell_socexplorerplugin : public socexplorerplugin
43 43 {
44 44 public:
45 45 PythonQtShell_socexplorerplugin(QWidget* parent = 0, bool createPyObject = true):socexplorerplugin(parent, createPyObject),_wrapper(NULL) { };
46 46
47 47 ~PythonQtShell_socexplorerplugin();
48 48
49 49 virtual int PID();
50 50 virtual unsigned int Read(unsigned int* Value, unsigned int count, unsigned int address);
51 51 virtual int VID();
52 52 virtual unsigned int Write(unsigned int* Value, unsigned int count, unsigned int address);
53 53 virtual void actionEvent(QActionEvent* arg__1);
54 54 virtual void activate(bool flag);
55 55 virtual int baseAddress();
56 56 virtual QString baseName();
57 57 virtual void changeEvent(QEvent* event);
58 58 virtual void childEvent(QChildEvent* arg__1);
59 59 virtual void closeEvent(QCloseEvent* event);
60 60 virtual void closeMe();
61 61 virtual void contextMenuEvent(QContextMenuEvent* arg__1);
62 62 virtual void customEvent(QEvent* arg__1);
63 63 virtual int devType() const;
64 64 virtual void dragEnterEvent(QDragEnterEvent* arg__1);
65 65 virtual void dragLeaveEvent(QDragLeaveEvent* arg__1);
66 66 virtual void dragMoveEvent(QDragMoveEvent* arg__1);
67 67 virtual void dropEvent(QDropEvent* arg__1);
68 68 virtual bool dumpMemory(unsigned int address, unsigned int count, QString file);
69 69 virtual bool dumpMemory(unsigned int address, unsigned int count, QString file, const QString& format);
70 70 virtual void enterEvent(QEvent* arg__1);
71 71 virtual bool event(QEvent* event);
72 72 virtual bool eventFilter(QObject* arg__1, QEvent* arg__2);
73 73 virtual void focusInEvent(QFocusEvent* arg__1);
74 74 virtual bool focusNextPrevChild(bool next);
75 75 virtual void focusOutEvent(QFocusEvent* arg__1);
76 76 virtual bool hasHeightForWidth() const;
77 77 virtual int heightForWidth(int arg__1) const;
78 78 virtual void hideEvent(QHideEvent* arg__1);
79 79 virtual void initPainter(QPainter* painter) const;
80 80 virtual void inputMethodEvent(QInputMethodEvent* arg__1);
81 81 virtual QVariant inputMethodQuery(Qt::InputMethodQuery arg__1) const;
82 82 virtual int isConnected();
83 83 virtual void keyPressEvent(QKeyEvent* arg__1);
84 84 virtual void keyReleaseEvent(QKeyEvent* arg__1);
85 85 virtual void leaveEvent(QEvent* arg__1);
86 86 virtual bool loadbin(unsigned int address, QString file);
87 87 virtual bool memSet(unsigned int address, int value, unsigned int count);
88 88 virtual int metric(QPaintDevice::PaintDeviceMetric arg__1) const;
89 89 virtual QSize minimumSizeHint() const;
90 90 virtual void mouseDoubleClickEvent(QMouseEvent* arg__1);
91 91 virtual void mouseMoveEvent(QMouseEvent* arg__1);
92 92 virtual void mousePressEvent(QMouseEvent* arg__1);
93 93 virtual void mouseReleaseEvent(QMouseEvent* arg__1);
94 94 virtual void moveEvent(QMoveEvent* arg__1);
95 95 virtual bool nativeEvent(const QByteArray& eventType, void* message, long* result);
96 96 virtual QPaintEngine* paintEngine() const;
97 97 virtual void paintEvent(QPaintEvent* event);
98 98 virtual void postInstantiationTrigger();
99 99 virtual QPaintDevice* redirected(QPoint* offset) const;
100 100 virtual int registermenu(QMenu* menu);
101 101 virtual void resizeEvent(QResizeEvent* arg__1);
102 102 virtual void setBaseAddress(unsigned int baseAddress);
103 103 virtual void setInstanceName(const QString& newName);
104 104 virtual QPainter* sharedPainter() const;
105 105 virtual void showEvent(QShowEvent* arg__1);
106 106 virtual QSize sizeHint() const;
107 107 virtual void tabletEvent(QTabletEvent* arg__1);
108 108 virtual void timerEvent(QTimerEvent* arg__1);
109 109 virtual void wheelEvent(QWheelEvent* arg__1);
110 110
111 111 PythonQtInstanceWrapper* _wrapper;
112 112 };
113 113
114 114 class PythonQtPublicPromoter_socexplorerplugin : public socexplorerplugin
115 115 { public:
116 116 inline int promoted_PID() { return socexplorerplugin::PID(); }
117 117 inline unsigned int promoted_Read(unsigned int* Value, unsigned int count, unsigned int address) { return socexplorerplugin::Read(Value, count, address); }
118 118 inline int promoted_VID() { return socexplorerplugin::VID(); }
119 119 inline unsigned int promoted_Write(unsigned int* Value, unsigned int count, unsigned int address) { return socexplorerplugin::Write(Value, count, address); }
120 120 inline void promoted_activate(bool flag) { socexplorerplugin::activate(flag); }
121 121 inline int promoted_baseAddress() { return socexplorerplugin::baseAddress(); }
122 122 inline QString promoted_baseName() { return socexplorerplugin::baseName(); }
123 123 inline void promoted_closeMe() { socexplorerplugin::closeMe(); }
124 124 inline bool promoted_dumpMemory(unsigned int address, unsigned int count, QString file) { return socexplorerplugin::dumpMemory(address, count, file); }
125 125 inline bool promoted_dumpMemory(unsigned int address, unsigned int count, QString file, const QString& format) { return socexplorerplugin::dumpMemory(address, count, file, format); }
126 126 inline int promoted_isConnected() { return socexplorerplugin::isConnected(); }
127 127 inline bool promoted_loadbin(unsigned int address, QString file) { return socexplorerplugin::loadbin(address, file); }
128 inline void promoted_makeGenericPyWrapper() { socexplorerplugin::makeGenericPyWrapper(); }
129 128 inline bool promoted_memSet(unsigned int address, int value, unsigned int count) { return socexplorerplugin::memSet(address, value, count); }
130 129 inline void promoted_postInstantiationTrigger() { socexplorerplugin::postInstantiationTrigger(); }
131 130 inline int promoted_registermenu(QMenu* menu) { return socexplorerplugin::registermenu(menu); }
132 131 inline void promoted_setBaseAddress(unsigned int baseAddress) { socexplorerplugin::setBaseAddress(baseAddress); }
133 132 inline void promoted_setInstanceName(const QString& newName) { socexplorerplugin::setInstanceName(newName); }
134 133 };
135 134
136 135 class PythonQtWrapper_socexplorerplugin : public QObject
137 136 { Q_OBJECT
138 137 public:
139 138 public slots:
140 139 socexplorerplugin* new_socexplorerplugin(QWidget* parent = 0, bool createPyObject = true);
141 140 void delete_socexplorerplugin(socexplorerplugin* obj) { delete obj; }
142 141 int PID(socexplorerplugin* theWrappedObject);
143 142 unsigned int Read(socexplorerplugin* theWrappedObject, unsigned int* Value, unsigned int count, unsigned int address);
144 143 int VID(socexplorerplugin* theWrappedObject);
145 144 unsigned int Write(socexplorerplugin* theWrappedObject, unsigned int* Value, unsigned int count, unsigned int address);
146 145 void activate(socexplorerplugin* theWrappedObject, bool flag);
147 146 int baseAddress(socexplorerplugin* theWrappedObject);
148 147 QString baseName(socexplorerplugin* theWrappedObject);
149 148 void closeMe(socexplorerplugin* theWrappedObject);
150 149 bool dumpMemory(socexplorerplugin* theWrappedObject, unsigned int address, unsigned int count, QString file);
151 150 bool dumpMemory(socexplorerplugin* theWrappedObject, unsigned int address, unsigned int count, QString file, const QString& format);
151 QString instance(socexplorerplugin* theWrappedObject);
152 152 QString instanceName(socexplorerplugin* theWrappedObject);
153 153 int isConnected(socexplorerplugin* theWrappedObject);
154 154 bool loadbin(socexplorerplugin* theWrappedObject, unsigned int address, QString file);
155 void makeGenericPyWrapper(socexplorerplugin* theWrappedObject);
156 155 bool memSet(socexplorerplugin* theWrappedObject, unsigned int address, int value, unsigned int count);
157 156 void postInstantiationTrigger(socexplorerplugin* theWrappedObject);
158 157 int registermenu(socexplorerplugin* theWrappedObject, QMenu* menu);
159 158 void setBaseAddress(socexplorerplugin* theWrappedObject, unsigned int baseAddress);
160 159 void setInstanceName(socexplorerplugin* theWrappedObject, const QString& newName);
161 160 void py_set_ChildsMenu(socexplorerplugin* theWrappedObject, QMenu* ChildsMenu){ theWrappedObject->ChildsMenu = ChildsMenu; }
162 161 QMenu* py_get_ChildsMenu(socexplorerplugin* theWrappedObject){ return theWrappedObject->ChildsMenu; }
163 162 void py_set_childs(socexplorerplugin* theWrappedObject, QList<socexplorerplugin* > childs){ theWrappedObject->childs = childs; }
164 163 QList<socexplorerplugin* > py_get_childs(socexplorerplugin* theWrappedObject){ return theWrappedObject->childs; }
165 164 void py_set_closeAction(socexplorerplugin* theWrappedObject, QAction* closeAction){ theWrappedObject->closeAction = closeAction; }
166 165 QAction* py_get_closeAction(socexplorerplugin* theWrappedObject){ return theWrappedObject->closeAction; }
167 166 void py_set_menu(socexplorerplugin* theWrappedObject, QMenu* menu){ theWrappedObject->menu = menu; }
168 167 QMenu* py_get_menu(socexplorerplugin* theWrappedObject){ return theWrappedObject->menu; }
169 168 void py_set_parent(socexplorerplugin* theWrappedObject, socexplorerplugin* parent){ theWrappedObject->parent = parent; }
170 169 socexplorerplugin* py_get_parent(socexplorerplugin* theWrappedObject){ return theWrappedObject->parent; }
171 170 };
172 171
173 172
@@ -1,242 +1,240
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the SocExplorer Software
3 3 -- Copyright (C) 2011, Plasma Physics Laboratory - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 2 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #include "mainwindow.h"
23 23 #include <QDockWidget>
24 24
25 25 SocExplorerMainWindow::SocExplorerMainWindow(QString ScriptToEval, QWidget *parent)
26 26 : QMainWindow(parent)
27 27 {
28 28 QCoreApplication::setApplicationName("SocExplorer");
29 29 QCoreApplication::setOrganizationName("LPP");
30 30 QCoreApplication::setOrganizationDomain("lpp.fr");
31 31 this->makeObjects(ScriptToEval);
32 32 this->makeLayout();
33 33 this->makeMenu();
34 34 this->makeConnections();
35 35 this->setWindowIcon(QIcon(":/images/icon.png"));
36 36 this->setAcceptDrops(true);
37 37 this->pluginManager->setRootLoadable(true);
38 38 this->PythonConsoleInst->pyConsoleRunFile(ScriptToEval);
39 39 QFile file(":/styles/SocExplorer.css");
40 40 if(file.open(QIODevice::ReadOnly | QIODevice::Text))
41 41 {
42 42 qApp->setStyleSheet(file.readAll());
43 43 file.close();
44 44 }
45 45 }
46 46
47 47
48 48 void SocExplorerMainWindow::makeObjects(QString ScriptToEval)
49 49 {
50 50 Q_UNUSED(ScriptToEval)
51 51 this->p_pluginGUIlist = new QList<QDockWidget*>();
52 52 pluginsDockContainer = new QMainWindow;
53 53 pluginsDockContainer->setWindowFlags(Qt::Widget);
54 54 pluginsDockContainer->setDockNestingEnabled(true);
55 55 this->mainWidget = new QSplitter(Qt::Vertical);
56 56 this->appTranslator = new QTranslator;
57 57 this->Quit = new QAction(tr("&Quit"),this);
58 58 this->Quit->setShortcut(tr("CTRL+Q"));
59 59 this->ManagePlugins = new QAction(tr("&Manage Plugins"),this);
60 60 this->ManagePlugins->setShortcut(tr("CTRL+P"));
61 61 this->regsManager = new QAction(tr("&Manage registers"),this);
62 62 this->exploreRegs = new QAction(tr("&Explore registers"),this);
63 63 this->help = new QAction(tr("&Help"),this);
64 64 this->help->setShortcut(tr("CTRL+H"));
65 65 this->about = new QAction(tr("&About"),this);
66 66 socexplorerproxy::setMainWindow(this);
67 67 SocExplorerEngine::setMainWindow(this);
68 68 SocExplorerEngine::xmlModel()->scanXmlFiles();
69 this->regExplorer = new regsExplorer();
69 this->regExplorer = new RegsExplorer();
70 70 this->regExplorer->setAllowedAreas(Qt::AllDockWidgetAreas);
71 71 this->addPluginInterface(this->regExplorer);
72 72 this->PythonConsoleInst = new PythonConsole(socexplorerproxy::self());
73 73 this->PythonConsoleInst->addObject("SocExplorerEngine",SocExplorerEngine::self());
74 74 this->pluginManager = new dockablePluginManager();
75 75 this->toolpane = new toolBar;
76 76 this->p_about = new aboutsocexplorer();
77
78 77 }
79 78
80 79 void SocExplorerMainWindow::makeLayout()
81 80 {
82 81 this->mainWidget->addWidget(pluginsDockContainer);
83 82 this->mainWidget->addWidget(this->PythonConsoleInst);
84 83 this->toolpane->setAllowedAreas(Qt::RightDockWidgetArea|Qt::LeftDockWidgetArea);
85 84 this->addDockWidget(Qt::LeftDockWidgetArea,this->toolpane);
86 85 this->toolpane->addTool(this->pluginManager);
87 86 this->setCentralWidget(this->mainWidget);
88 87 }
89 88
90 89
91 90 void SocExplorerMainWindow::makeConnections()
92 91 {
93 92 connect(socexplorerproxy::self(),SIGNAL(clearMenu()),this,SLOT(clearMenu()));
94 93 connect(this,SIGNAL(translateSig()),socexplorerproxy::self(),SLOT(updateText()));
95 94 connect(socexplorerproxy::self(),SIGNAL(addPluginGUI(QDockWidget*)),this,SLOT(addPluginInterface(QDockWidget*)));
96 95 connect(socexplorerproxy::self(),SIGNAL(removePluginGUI(QDockWidget*)),this,SLOT(removePluginInterface(QDockWidget*)));
97 96 connect(this->ManagePlugins,SIGNAL(triggered()),this,SLOT(launchPluginManager()));
98 97 connect(this->Quit,SIGNAL(triggered()),qApp,SLOT(quit()));
99 98 connect(this,SIGNAL(registerObject(QObject*,QString)),this->PythonConsoleInst,SLOT(registerObject(QObject*,QString)));
100 99 connect(socexplorerproxy::self(),SIGNAL(registerObject(QObject*,QString)),this,SIGNAL(registerObject(QObject*,QString)));
101 100 connect(this->pluginManager,SIGNAL(geteplugintree()),socexplorerproxy::self(),SLOT(geteplugintree()));
102 101 connect(socexplorerproxy::self(),SIGNAL(treeChanged(QList<socexplorerplugin*>)),this->pluginManager,SIGNAL(treeChanged(QList<socexplorerplugin*>)));
103 102 connect(this->pluginManager,SIGNAL(changeSysDriverInstName(QString,QString)),socexplorerproxy::self(),SLOT(changeSysDriverInstName(QString,QString)));
104 103 connect(this->pluginManager,SIGNAL(changeSysDriverInstName(QString,QString)),this->PythonConsoleInst,SLOT(changeSysDriverInstName(QString,QString)));
105 104 connect(this->pluginManager,SIGNAL(closeSysDriver(QString)),socexplorerproxy::self(),SLOT(closeSysDriver(QString)));
106 105 connect(this->pluginManager,SIGNAL(closeSysDriver(QString)),this->PythonConsoleInst,SLOT(removeDriver(QString)));
107 106 connect(this->pluginManager,SIGNAL(pluginselected(QString)),this,SLOT(pluginselected(QString)));
108 107 connect(this->about,SIGNAL(triggered()),this,SLOT(showAboutBox()));
109 108 connect(this->exploreRegs,SIGNAL(triggered()),this->regExplorer,SLOT(show()));
110 109
111 110 this->pluginManager->connect(this->pluginManager,SIGNAL(loadSysDrviver(QString)),socexplorerproxy::self(),SLOT(loadSysDriver(QString)));
112 111 this->pluginManager->connect(this->pluginManager,SIGNAL(loadSysDriverToParent(QString,QString)),socexplorerproxy::self(),SLOT(loadSysDriverToParent(QString,QString)));
113 112
114 113 }
115 114
116 115
117 116 void SocExplorerMainWindow::launchPluginManager()
118 117 {
119 118
120 119 if(this->pluginManager->isHidden())
121 120 {
122 121 this->pluginManager->setHidden(false);
123 122 }
124 123
125 124 }
126 125
127 126
128 127 void SocExplorerMainWindow::addPluginInterface(QDockWidget *plugin)
129 128 {
130 129 plugin->setAllowedAreas(Qt::AllDockWidgetAreas);
131 130 this->pluginsDockContainer->addDockWidget(Qt::TopDockWidgetArea,plugin);
132 131 if(p_pluginGUIlist->count()!=0)
133 132 this->pluginsDockContainer->tabifyDockWidget(p_pluginGUIlist->last(),plugin);
134 133 p_pluginGUIlist->append(plugin);
135
136 134 }
137 135
138 136 void SocExplorerMainWindow::removePluginInterface(QDockWidget *plugin)
139 137 {
140 138 p_pluginGUIlist->removeOne(plugin);
141 139 this->pluginsDockContainer->removeDockWidget(plugin);
142 140 }
143 141
144 142
145 143 void SocExplorerMainWindow::clearMenu()
146 144 {
147 145 this->menuBar()->clear();
148 146 this->makeMenu();
149 147 }
150 148
151 149
152 150 void SocExplorerMainWindow::makeMenu()
153 151 {
154 152 this->FileMenu = menuBar()->addMenu(tr("&File"));
155 153 this->PluginsMenu = menuBar()->addMenu(tr("&Plugins"));
156 154 this->ToolsMenu = menuBar()->addMenu(tr("&Tools"));
157 155 this->ToolsMenu->addAction(this->exploreRegs);
158 156 this->FileMenu->addAction(this->Quit);
159 157 socexplorerproxy::self()->makeMenu(this->PluginsMenu);
160 158 this->PluginsMenu->addAction(this->ManagePlugins);
161 159
162 160 this->helpMenu = menuBar()->addMenu(tr("Help"));
163 161 this->helpMenu->addAction(this->help);
164 162 this->helpMenu->addAction(this->about);
165 163
166 164 }
167 165
168 166
169 167 SocExplorerMainWindow::~SocExplorerMainWindow()
170 168 {
171 169 }
172 170
173 171
174 172 void SocExplorerMainWindow::setLangage(QAction *action)
175 173 {
176 174 QString local = action->data().toString();
177 175 QString qmPath = QDir(QString("translations")).absolutePath();
178 176 appTranslator->load(qmPath+"/socexplorer_"+local+".qm");
179 177 qApp->installTranslator(appTranslator);
180 178 emit this->translateSig();
181 179 }
182 180
183 181
184 182 void SocExplorerMainWindow::createLangMenu()
185 183 {
186 184 this->langMenu = menuBar()->addMenu(tr("&Langue"));
187 185 this->langActionGrp = new QActionGroup(this);
188 186 connect(this->langActionGrp,SIGNAL(triggered(QAction*)),this,SLOT(setLangage(QAction*)));
189 187 QDir* qmDir = new QDir(QString("translations"));
190 188 QStringList LangFiles = qmDir->entryList(QStringList("socexplorer_*.qm"));
191 189 for(int i=0;i<LangFiles.size();++i)
192 190 {
193 191 QString Local = LangFiles[i];
194 192 Local.remove(0,Local.indexOf('_')+1);
195 193 Local.chop(3);
196 194 QTranslator translator;
197 195 translator.load(LangFiles[i],qmDir->absolutePath());
198 196 QString langage = translator.translate("MainWindow","English");
199 197 QAction *action = new QAction(tr("&%1 %2").arg(i+1).arg(langage),this);
200 198 action->setCheckable(true);
201 199 action->setData(Local);
202 200 langMenu->addAction(action);
203 201 langActionGrp->addAction(action);
204 202 if(langage==tr("English"))
205 203 action->setChecked(true);
206 204 }
207 205 }
208 206
209 207
210 208 void SocExplorerMainWindow::updateText()
211 209 {
212 210 emit this->translateSig();
213 211 }
214 212
215 213
216 214
217 215 void SocExplorerMainWindow::showAboutBox()
218 216 {
219 217 p_about->show();
220 218 }
221 219
222 220 void SocExplorerMainWindow::pluginselected(const QString &instanceName)
223 221 {
224 222 socexplorerplugin* drv=socexplorerproxy::self()->getSysDriver(instanceName);
225 223 if(drv)
226 224 drv->raise();
227 225 }
228 226
229 227
230 228
231 229 void SocExplorerMainWindow::closeEvent(QCloseEvent *event)
232 230 {
233 231 socexplorerproxy::self()->close();
234 232 qApp->closeAllWindows();
235 233 event->accept();
236 234 }
237 235
238 236
239 237
240 238
241 239
242 240
@@ -1,86 +1,86
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the SocExplorer Software
3 3 -- Copyright (C) 2011, Plasma Physics Laboratory - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 2 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #ifndef MAINWINDOW_H
23 23 #define MAINWINDOW_H
24 24
25 25 #include <QMainWindow>
26 26 #include <QApplication>
27 27 #include <QVBoxLayout>
28 28 #include <QIcon>
29 29 #include <QMenuBar>
30 30 #include <QMenu>
31 31 #include <QAction>
32 32 #include <QDockWidget>
33 33 #include <QTranslator>
34 34 #include <QSplitter>
35 35 #include "dockablepluginmanager.h"
36 36 #include <socexplorerproxy.h>
37 37 #include "PyWdgt/pythonconsole.h"
38 38 #include "aboutsocexplorer.h"
39 39 #include "toolbar.h"
40 40 #include "regsExplorer/regsexplorer.h"
41 41
42 42 class SocExplorerMainWindow : public QMainWindow
43 43 {
44 44 Q_OBJECT
45 45
46 46 public:
47 47 SocExplorerMainWindow(QString ScriptToEval,QWidget *parent = 0);
48 48 ~SocExplorerMainWindow();
49 49 QAction* Quit,*LoadPlugin,*ManagePlugins,*help,*regsManager,*exploreRegs,*about,*translateAction;
50 50 QActionGroup*langActionGrp;
51 51 QMenu* FileMenu,*PluginsMenu,*ToolsMenu,*langMenu,*helpMenu;
52 52 QTranslator* appTranslator;
53 53 void createLangMenu();
54 54 void closeEvent(QCloseEvent *event);
55 55 toolBar* toolpane;
56 56
57 57
58 58 public slots:
59 59 void launchPluginManager();
60 60 void addPluginInterface(QDockWidget* plugin);
61 61 void removePluginInterface(QDockWidget* plugin);
62 62 void clearMenu();
63 63 void updateText();
64 64 void setLangage(QAction* action);
65 65 void showAboutBox();
66 66 void pluginselected(const QString& instanceName);
67 67
68 68 signals:
69 69 void translateSig();
70 70 void registerObject(QObject* object,const QString& instanceName);
71 71
72 72 private:
73 73 void makeObjects(QString ScriptToEval);
74 74 void makeLayout();
75 75 void makeConnections();
76 76 void makeMenu();
77 77 QMainWindow* pluginsDockContainer;
78 78 QSplitter* mainWidget;
79 79 PythonConsole* PythonConsoleInst;
80 80 dockablePluginManager* pluginManager;
81 regsExplorer* regExplorer;
81 RegsExplorer* regExplorer;
82 82 aboutsocexplorer* p_about;
83 83 QList<QDockWidget*>* p_pluginGUIlist;
84 84 };
85 85
86 86 #endif // MAINWINDOW_H
@@ -1,50 +1,58
1 1 #include "regsexplorer.h"
2 #include "ui_regsexplorernew.h"
2 3 #include "socmodel.h"
3 4
4 regsExplorer::regsExplorer(QWidget *parent) :
5 QDockWidget(parent)
5 RegsExplorer::RegsExplorer(QWidget *parent) :
6 QDockWidget(parent),
7 ui(new Ui::RegsExplorerNew)
6 8 {
7 mainWidget = new QTabWidget;
8 cfg = new regsExplorerCfg;
9 socViewer = new SocRegsViewerNew(tr("No soc Detected"),this);
10 this->setWidget(this->mainWidget);
11 this->mainWidget->addTab(this->cfg,"Config");
12 this->mainWidget->addTab(this->socViewer,"View");
13 this->setWindowTitle(tr("Regs Explorer"));
9 ui->setupUi(this);
14 10 connect(SocExplorerEngine::self(),SIGNAL(enumDeviceAdded(socExplorerEnumDevice*)),this,SLOT(addDev(socExplorerEnumDevice*)));
11 delegate.device=NULL;
12 }
13
14 RegsExplorer::~RegsExplorer()
15 {
16 delete ui;
15 17 }
16 18
17
18 void regsExplorer::addDev(socExplorerEnumDevice *device)
19 void RegsExplorer::addDev(socExplorerEnumDevice *device)
19 20 {
20 delegate.device = device;
21 peripheralWidget* peripheral=new peripheralWidget(device->name(),device->baseAddress(),&delegate,this);
22 this->socViewer->addPeripheral(peripheral);
23 peripheralModel periphM=SocExplorerEngine::xmlModel()->getPeripheral(device->name());
24 int startIndex,stopIndex;
25 QString desc;
26 QString name;
27 bool rw;
28 for(int i=0;i<periphM.registers.count();i++)
21 if((delegate.device->sameSoc(device))||(delegate.device==NULL))
29 22 {
30 peripheral->addRegister(periphM.registers.at(i).name,device->baseAddress() + periphM.registers.at(i).offset);
31 for(int j=0;j<periphM.registers.at(i).bitfields.count();j++)
23 delegate.device = device;
24 peripheralWidget* peripheral=new peripheralWidget(device->name(),device->baseAddress(),&delegate,this);
25 this->ui->regsViewer->addPeripheral(peripheral);
26 peripheralModel periphM=SocExplorerEngine::xmlModel()->getPeripheral(device->name());
27 int startIndex,stopIndex;
28 QString desc;
29 QString name;
30 bool rw;
31 this->ui->regsViewer->setSocName(device->socName());
32 for(int i=0;i<periphM.registers.count();i++)
32 33 {
33 startIndex = periphM.registers.at(i).bitfields.at(j).offset;
34 stopIndex = periphM.registers.at(i).bitfields.at(j).offset+periphM.registers.at(i).bitfields.at(j).size-1;
35 desc = periphM.registers.at(i).bitfields.at(j).description;
36 rw = periphM.registers.at(i).bitfields.at(j).rw;
37 name = periphM.registers.at(i).bitfields.at(j).name;
38 peripheral->registerAt(i)->setBitFieldAttribute(startIndex,stopIndex,name,desc,rw);
34 peripheral->addRegister(periphM.registers.at(i).name,device->baseAddress() + periphM.registers.at(i).offset);
35 for(int j=0;j<periphM.registers.at(i).bitfields.count();j++)
36 {
37 startIndex = periphM.registers.at(i).bitfields.at(j).offset;
38 stopIndex = periphM.registers.at(i).bitfields.at(j).offset+periphM.registers.at(i).bitfields.at(j).size-1;
39 desc = periphM.registers.at(i).bitfields.at(j).description;
40 rw = periphM.registers.at(i).bitfields.at(j).rw;
41 name = periphM.registers.at(i).bitfields.at(j).name;
42 peripheral->registerAt(i)->setBitFieldAttribute(startIndex,stopIndex,name,desc,rw);
43 }
39 44 }
40 45 }
41 // connect(peripheral,SIGNAL(readRegSig(qint32)),device,SLOT(readReg(qint32)));
42 // connect(peripheral,SIGNAL(writeRegSig(qint32,qint32)),device,SLOT(writeReg(qint32,qint32)));
43 // QCheckBox* chkbx = this->cfg->addDev(device);
44 // chkbx->setChecked(true);
45 // connect(chkbx,SIGNAL(toggled(bool)),peripheral,SLOT(setVisible(bool)));
46 46 }
47 47
48
49
50
48 void RegsExplorer::changeEvent(QEvent *e)
49 {
50 QDockWidget::changeEvent(e);
51 switch (e->type()) {
52 case QEvent::LanguageChange:
53 ui->retranslateUi(this);
54 break;
55 default:
56 break;
57 }
58 }
@@ -1,66 +1,37
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the SocExplorer Software
3 -- Copyright (C) 2011, Plasma Physics Laboratory - CNRS
4 --
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 2 of the License, or
8 -- (at your option) any later version.
9 --
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
14 --
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
22 #ifndef REGSEXPLORER_H
23 #define REGSEXPLORER_H
1 #ifndef REGSEXPLORERNEW_H
2 #define REGSEXPLORERNEW_H
24 3
25 #include <QWidget>
26 #include <QTabWidget>
27 4 #include <QDockWidget>
28 #include "regsexplorercfg.h"
29 #include "regsviewer.h"
30 #include <QGridLayout>
31 5 #include <socexplorerengine.h>
32 6 #include <peripheralwidget.h>
33 #include <socregsviewer.h>
34 7 #include <socregsviewernew.h>
35 8
36
9 namespace Ui {
10 class RegsExplorerNew;
11 }
37 12
38 class regsExplorer : public QDockWidget
13 class RegsExplorer : public QDockWidget
39 14 {
40 15 Q_OBJECT
41 16 class regExplorerReadWriteDelegate: public peripheralWidget::readWriteProxy
42 17 {
43 18 public:
44 19 regExplorerReadWriteDelegate() {}
45 20 void writeReg(qint32 address,qint32 value){if(device)device->writeReg(address,value);}
46 21 qint32 readReg(qint32 address){if(device)return device->readReg(address);}
47 22 socExplorerEnumDevice* device;
48 23 };
49 24 public:
50 explicit regsExplorer(QWidget *parent = 0);
51
52 signals:
53
25 explicit RegsExplorer(QWidget *parent = 0);
26 ~RegsExplorer();
54 27 public slots:
55
56 28 void addDev(socExplorerEnumDevice* device);
29 protected:
30 void changeEvent(QEvent *e);
57 31
58 32 private:
59 QTabWidget* mainWidget;
60 regsExplorerCfg* cfg;
61 // socRegsViewer* socViewer;
62 SocRegsViewerNew* socViewer;
33 Ui::RegsExplorerNew *ui;
63 34 regExplorerReadWriteDelegate delegate;
64 35 };
65 36
66 #endif // REGSEXPLORER_H
37 #endif // REGSEXPLORERNEW_H
@@ -1,114 +1,113
1 1 #-------------------------------------------------
2 2 #
3 3 # Project created by QtCreator 2011-09-19T22:52:10
4 4 #
5 5 #-------------------------------------------------
6 6 SOCEXPLORER_ROOT = $${PWD}/..
7 7 include(../build_cfg/socexplorer.pri)
8 8
9 9 TARGET = socexplorer$${DEBUG_EXT}
10 10 TEMPLATE = app
11 11 CONFIG += pythonqt
12 12
13 13
14 14 QMAKE_LFLAGS_RELEASE += --enable-auto-import -mstackrealign
15 15 QMAKE_LFLAGS_DEBUG += --enable-auto-import -mstackrealign
16 16
17 17 include ( common/pythonQtOut/generated_cpp/PySocExplorer/PySocExplorer.pri )
18 18 include ( SocExplorerEngine/pythonQtOut/generated_cpp/PySocExplorerEngine/PySocExplorerEngine.pri )
19 19 include ( SocExplorerEngine/plugins/socexplorerplugin.prf )
20 20
21 21 INCLUDEPATH+=$${PWD} \
22 22 $${PWD}/common \
23 23 $${PWD}/common/qhexedit \
24 24 $${PWD}/common/QCustomPlot \
25 25 $${PWD}/common/genericBinaryFiles \
26 26 $${PWD}/common/genericBinaryFiles/elf \
27 27 $${PWD}/common/genericBinaryFiles/srec \
28 28 $${PWD}/common/genericBinaryFiles/BinFile \
29 29 SocExplorerEngine/engine \
30 30 SocExplorerEngine/pluginloader \
31 31 SocExplorerEngine/pluginsInterface \
32 32 SocExplorerEngine/proxy \
33 33 SocExplorerEngine/pluginManagerWdgt \
34 34 SocExplorerEngine/plugins \
35 35 SocExplorerEngine/RegisterMVS \
36 36 SocExplorerEngine/XmlEngine \
37 37 SocExplorerEngine/SOC \
38 38 SocExplorerEngine/PeripheralWidget/src \
39 39 SocExplorerEngine/memtester
40 40
41 41 win32:INCLUDEPATH+= \
42 42 $${PWD}/common/genericBinaryFiles/elf/libelfWin32/include \
43 43 $${PWD}/common/genericBinaryFiles/elf/libelfWin32/include/libelf \
44 44
45 45
46 46 RC_FILE = ../win32cfg/socexplorer.rc
47 47
48 48
49 49 unix:LIBS+=-L$${SOCEXPLORER_ROOT}/bin/linux -lsocexplorercommon$${DEBUG_EXT} -L$${SOCEXPLORER_ROOT}/bin/linux -lsocexplorerengine$${DEBUG_EXT}
50 50
51 51 win32-g++:LIBS += $${SOCEXPLORER_ROOT}/bin/win32/socexplorercommon$${DEBUG_EXT}.dll $${SOCEXPLORER_ROOT}/bin/win32/socexplorerengine$${DEBUG_EXT}.dll
52 52
53 53
54 54 unix{
55 55 translation.files = $${SOCEXPLORER_ROOT}/translations/socexplorer_fr.qm \
56 56 $${SOCEXPLORER_ROOT}/translations/socexplorer_en.qm
57 57 translation.path = $${SOCEXPLORER_TRANSLATION_INSTALL_PATH}
58 58 target.path = /usr/bin
59 59 INSTALLS += translation target
60 60 }
61 61
62 62 header.path = $$[QT_INSTALL_HEADERS]/SocExplorer/common
63 63 header.files = \
64 64 socexplorer.h
65 65 INSTALLS += header
66 66
67 67
68 68 SOURCES += main.cpp\
69 69 mainwindow.cpp \
70 70 PyWdgt/pythonconsole.cpp \
71 71 PyWdgt/pythonqtscriptingconsoledandd.cpp \
72 72 dockablepluginmanager.cpp \
73 73 toolbar.cpp \
74 74 toolbarcontainer.cpp \
75 regsExplorer/regsexplorer.cpp \
76 regsExplorer/regsviewer.cpp \
77 regsExplorer/regsexplorercfg.cpp \
78 aboutsocexplorer.cpp
75 aboutsocexplorer.cpp \
76 regsExplorer/regsexplorer.cpp
79 77
80 78 HEADERS += mainwindow.h \
81 79 PyWdgt/pythonconsole.h \
82 80 PyWdgt/pythonqtscriptingconsoledandd.h \
83 81 dockablepluginmanager.h \
84 82 toolbar.h \
85 83 toolbarcontainer.h \
86 regsExplorer/regsexplorer.h \
87 regsExplorer/regsviewer.h \
88 regsExplorer/regsexplorercfg.h \
89 84 socexplorer.h \
90 85 SocExplorerEngine/plugins/socexplorerplugin.h \
91 aboutsocexplorer.h
86 aboutsocexplorer.h \
87 regsExplorer/regsexplorer.h
92 88
93 89
94 90 include ( NicePyConsole/NicePyConsole.pri)
95 91
96 92 win32{
97 93 RESOURCES = ../ressources/SocExplorer.qrc
98 94 }
99 95
100 96 unix{
101 97 RESOURCES = ../ressources/SocExplorer.qrc
102 98 }
103 99
104 100 TRANSLATIONS = ../translations/socexplorer_fr.ts \
105 101 ../translations/socexplorer_en.ts
106 102
103 FORMS += \
104 regsExplorer/regsexplorernew.ui
107 105
108 106
109 107
110 108
111 109
112 110
113 111
114 112
113
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now