ported to qt5 (hopefully mantaining compatibility).

In particular changed some deprecated methods and sorted include order
to fix glew and qt5 opengl clashes.
This commit is contained in:
Federico Ponchio ponchio 2013-02-21 16:14:46 +00:00
parent ad0e67005a
commit 9630bcbf92
26 changed files with 152 additions and 91 deletions

View File

@ -72,7 +72,7 @@ QT += xmlpatterns
QT += script
TARGET =
TARGET = common
DEPENDPATH += .
INCLUDEPATH += . $$EXIF_DIR
DEFINES += GLEW_STATIC

View File

@ -23,7 +23,13 @@
#ifndef MESHLAB_INTERFACES_H
#define MESHLAB_INTERFACES_H
#include <GL/glew.h>
//#include <GL/glew.h>
#include "filterparameter.h"
#include "GLLogStream.h"
//#include "meshmodel.h"
#include "scriptinterface.h"
#include "xmlfilterinfo.h"
#include <QtCore>
#include <QApplication>
@ -32,11 +38,6 @@
#include <QGLFormat>
#include <QMessageBox>
#include <QTabletEvent>
#include "filterparameter.h"
#include "GLLogStream.h"
#include "meshmodel.h"
#include "scriptinterface.h"
#include "xmlfilterinfo.h"
class QWidget;
@ -51,6 +52,7 @@ class GLArea;
class GLAreaReg;
class QScriptEngine;
class MeshModel;
/** The MainWindowInterface class defines just the executeFilter() callback function
that is invoked by the standard parameter input dialog.

View File

@ -45,6 +45,7 @@
#include <wrap/callback.h>
#include <wrap/io_trimesh/io_mask.h>
#include <wrap/io_trimesh/additionalinfo.h>
#include <QList>
#include <QString>
#include <QStringList>

View File

@ -24,14 +24,14 @@
#ifndef PLUGINMANAGER_H
#define PLUGINMANAGER_H
#include<QMap>
#include<QObject>
#include "interfaces.h"
#include "xmlfilterinfo.h"
#include "scriptinterface.h"
#include "scriptsyntax.h"
#include<QMap>
#include<QObject>
class QScriptEngine;
/**
\brief This class provides the basic tools for managing all the plugins. It is used by both meshlab and meshlab server.

View File

@ -1,6 +1,13 @@
#include "additionalgui.h"
#include "../common/mlexception.h"
#include <QStylePainter>
#include <QHBoxLayout>
#include <QToolTip>
#include <QWidgetAction>
#include <QApplication>
#include <QScrollBar>
CheckBoxListItemDelegate::CheckBoxListItemDelegate(QObject *parent)
: QStyledItemDelegate(parent)
{

View File

@ -13,6 +13,9 @@
#include <QMenu>
#include <QProgressBar>
#include <QShortcut>
#include <QTreeWidget>
#include <QComboBox>
#include <QPushButton>
#include "../common/scriptsyntax.h"
#include "../common/searcher.h"

View File

@ -23,7 +23,9 @@
#include "ui_renametexture.h"
#include "changetexturename.h"
#include <QtGui>
#include <QFileDialog>
ChangeTextureNameDialog::ChangeTextureNameDialog(QWidget *parent) : QDialog(parent)
{

View File

@ -98,7 +98,7 @@ void CustomDialog::updateSettings()
vrp.push_back(curParSet.paramList.at(ii));
}
tw->resizeColumnsToContents();
tw->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
tw->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
//tw->setColumnWidth(0,tw->horizontalHeader()->width());
//tw->setColumnWidth(1,tw->horizontalHeader()->width());

View File

@ -25,6 +25,8 @@
#include "glarea.h"
#include "mainwindow.h"
#include <QFileDialog>
#include <wrap/gl/picking.h>
#include <wrap/qt/trackball.h>
#include <wrap/qt/col_qt_convert.h>
@ -188,7 +190,7 @@ void GLArea::pasteTile()
if (snapBuffer.isNull())
snapBuffer = QImage(tileBuffer.width() * ss.resolution, tileBuffer.height() * ss.resolution, tileBuffer.format());
uchar *snapPtr = snapBuffer.bits() + (tileBuffer.bytesPerLine() * tileCol) + ((totalCols * tileRow) * tileBuffer.numBytes());
uchar *snapPtr = snapBuffer.bits() + (tileBuffer.bytesPerLine() * tileCol) + ((totalCols * tileRow) * tileBuffer.byteCount());
uchar *tilePtr = tileBuffer.bits();
for (int y=0; y < tileBuffer.height(); y++)

View File

@ -24,10 +24,7 @@
#ifndef GLAREA_H
#define GLAREA_H
#include <GL/glew.h>
#include <QTimer>
#include <QTime>
#include <QtGui>
#include <vcg/space/plane3.h>
#include <vcg/space/line3.h>
#include <vcg/math/matrix44.h>
@ -37,6 +34,10 @@
#include <vcg/math/shot.h>
#include <wrap/gl/shot.h>
#include <QTimer>
#include <QTime>
#include <QtGui>
#include "../common/interfaces.h"
#include "glarea_setting.h"
#include "multiViewer_Container.h"

View File

@ -28,11 +28,11 @@ $Log: stdpardialog.cpp,v $
****************************************************************************/
#include <GL/glew.h>
#include <QtGui>
#include "mainwindow.h"
#include "ui_layerDialog.h"
#include "layerDialog.h"
#include "mainwindow.h"
using namespace std;
@ -669,4 +669,4 @@ float DecoratorParamsTreeWidget::osDependentButtonHeightScaleFactor()
#else
return 1.5f;
#endif
}
}

View File

@ -26,15 +26,9 @@
//None of this should happen if we are compiling c, not c++
#ifdef __cplusplus
#include <GL/glew.h>
#include <QtScript>
#include <QDir>
#include <QMainWindow>
#include <QMdiArea>
#include <QStringList>
#include <QColorDialog>
#include <QMdiSubWindow>
#include <GL/glew.h>
#include "../common/pluginmanager.h"
#include "../common/scriptinterface.h"
#include "glarea.h"
@ -43,6 +37,15 @@
#include "xmlstdpardialog.h"
#include "xmlgeneratorgui.h"
#include <QtScript>
#include <QDir>
#include <QMainWindow>
#include <QMdiArea>
#include <QStringList>
#include <QColorDialog>
#include <QMdiSubWindow>
#define MAXRECENTFILES 4
class QAction;
@ -51,8 +54,8 @@ class QMenu;
class QScrollArea;
class QSignalMapper;
class QProgressDialog;
class QHttp;
class QNetworkAccessManager;
class QNetworkReply;
class MainWindow : public QMainWindow, MainWindowInterface
{
@ -181,7 +184,7 @@ private slots:
void dropEvent ( QDropEvent * event );
void dragEnterEvent(QDragEnterEvent *);
void connectionDone(bool status);
void connectionDone(QNetworkReply *reply);
void sendHistory();
///////////Solt Wrapper for QMdiArea //////////////////
@ -216,7 +219,7 @@ private:
void initDocumentMeshRenderState(MeshLabXMLFilterContainer* mfc,EnvWrap &env );
void initDocumentRasterRenderState(MeshLabXMLFilterContainer* mfc, EnvWrap &env );
QHttp *httpReq;
QNetworkAccessManager *httpReq;
QBuffer myLocalBuf;
int idHost;
int idGet;

View File

@ -30,11 +30,15 @@
#include <QtGui>
#include <QToolBar>
#include <QProgressBar>
#include <QHttp>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFileOpenEvent>
#include <QFile>
#include <QtXml>
#include <QSysInfo>
#include <QStatusBar>
#include <QMenuBar>
#include "mainwindow.h"
#include "plugindialog.h"
#include "customDialog.h"
@ -71,9 +75,8 @@ MainWindow::MainWindow()
connect(mdiarea, SIGNAL(subWindowActivated(QMdiSubWindow *)),this, SLOT(updateStdDialog()));
connect(mdiarea, SIGNAL(subWindowActivated(QMdiSubWindow *)),this, SLOT(updateXMLStdDialog()));
connect(mdiarea, SIGNAL(subWindowActivated(QMdiSubWindow *)),this, SLOT(updateDocumentScriptBindings()));
httpReq=new QHttp(this);
//connect(httpReq, SIGNAL(requestFinished(int,bool)), this, SLOT(connectionFinished(int,bool)));
connect(httpReq, SIGNAL(done(bool)), this, SLOT(connectionDone(bool)));
httpReq=new QNetworkAccessManager(this);
connect(httpReq, SIGNAL(finished(QNetworkReply*)), this, SLOT(connectionDone(QNetworkReply*)));
QIcon icon;
icon.addPixmap(QPixmap(":images/eye48.png"));
@ -1142,21 +1145,21 @@ void MainWindow::checkForUpdates(bool verboseFlag)
QString OS="Lin";
#endif
QString message=BaseCommand+QString("?code=%1&count=%2&scount=%3&totkv=%4&ver=%5&os=%6").arg(UID).arg(loadedMeshCounter).arg(savedMeshCounter).arg(totalKV).arg(MeshLabApplication::appVer()).arg(OS);
idHost=httpReq->setHost(MeshLabApplication::organizationHost()); // id == 1
bool ret=myLocalBuf.open(QBuffer::WriteOnly);
if(!ret) QMessageBox::information(this,MeshLabApplication::appName(),QString("Failed opening of internal buffer"));
idGet=httpReq->get(message,&myLocalBuf); // id == 2
//idHost=httpReq->setHost(MeshLabApplication::organizationHost()); // id == 1
httpReq->get(QNetworkRequest(MeshLabApplication::organizationHost() + message));
//idGet=httpReq->get(message,&myLocalBuf); // id == 2
}
void MainWindow::connectionDone(bool /* status */)
void MainWindow::connectionDone(QNetworkReply *reply)
{
QString answer=myLocalBuf.data();
QString answer = reply->readAll();
if(answer.left(3)==QString("NEW"))
QMessageBox::information(this,"MeshLab Version Checking",answer.remove(0,3));
else if (VerboseCheckingFlag) QMessageBox::information(this,"MeshLab Version Checking","Your MeshLab version is the most recent one.");
else if (VerboseCheckingFlag)
QMessageBox::information(this,"MeshLab Version Checking","Your MeshLab version is the most recent one.");
reply->deleteLater();
myLocalBuf.close();
QSettings settings;
int loadedMeshCounter=settings.value("loadedMeshCounter",0).toInt();
settings.setValue("lastComunicatedValue",loadedMeshCounter);

View File

@ -22,11 +22,6 @@
****************************************************************************/
#include <QtGui>
#include <QToolBar>
#include <QProgressBar>
#include <QHttp>
#include <QDesktopServices>
#include "mainwindow.h"
#include "plugindialog.h"
@ -40,6 +35,15 @@
#include "xmlgeneratorgui.h"
#include "filterthread.h"
#include <QtGui>
#include <QToolBar>
#include <QToolTip>
#include <QStatusBar>
#include <QMenuBar>
#include <QProgressBar>
#include <QDesktopServices>
#include "../common/scriptinterface.h"
#include "../common/meshlabdocumentxml.h"
#include "../common/meshlabdocumentbundler.h"

View File

@ -3,6 +3,8 @@ include (../general.pri)
DESTDIR = ../distrib
EXIF_DIR = ../external/jhead-2.95
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x000000
INCLUDEPATH *= . \
.. \
../.. \
@ -131,9 +133,9 @@ win32-g++:LIBS += -L../external/lib/win32-gcc -ljhead -L../distrib -lcom
linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
linux-g++:QMAKE_RPATHDIR += ../distrib
linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -ljhead -L../distrib -lcommon
linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -ljhead -L../distrib -lcommon -lGLU
linux-g++-32:QMAKE_RPATHDIR += ../distrib
linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -ljhead -L../distrib -lcommon
linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -ljhead -L../distrib -lcommon -lGLU
linux-g++-64:QMAKE_RPATHDIR += ../distrib
# uncomment in your local copy only in emergency cases.

View File

@ -21,10 +21,18 @@
* *
****************************************************************************/
#include <QtGui>
#include <QStringList>
#include <common/interfaces.h>
#include "plugindialog.h"
#include <common/interfaces.h>
#include <QtGui>
#include <QLabel>
#include <QTreeWidget>
#include <QGroupBox>
#include <QPushButton>
#include <QHeaderView>
#include <QGridLayout>
#include <QHBoxLayout>
#include <QStringList>
PluginDialog::PluginDialog(const QString &path, const QStringList &fileNames,QWidget *parent): QDialog(parent)
{
@ -80,10 +88,10 @@ PluginDialog::PluginDialog(const QString &path, const QStringList &fileNames,QWi
void PluginDialog::populateTreeWidget(const QString &path,const QStringList &fileNames)
{
if (fileNames.isEmpty()) {
label->setText(tr("Can't find any plugins in the %1 " "directory.").arg(QDir::convertSeparators(path)));
label->setText(tr("Can't find any plugins in the %1 " "directory.").arg(QDir::toNativeSeparators(path)));
treeWidget->hide();
} else {
label->setText(tr("Found the following plugins in the %1 " "directory:").arg(QDir::convertSeparators(path)));
label->setText(tr("Found the following plugins in the %1 " "directory:").arg(QDir::toNativeSeparators(path)));
QDir dir(path);
foreach (QString fileName, fileNames) {
QPluginLoader loader(dir.absoluteFilePath(fileName));

View File

@ -21,14 +21,14 @@
* *
****************************************************************************/
#include <Qt>
#include <QtGui>
#include <QFileInfo>
#include "ui_savemaskexporter.h"
#include "savemaskexporter.h"
#include "changetexturename.h"
#include <Qt>
#include <QtGui>
#include <QFileInfo>
SaveMaskExporterDialog::SaveMaskExporterDialog(QWidget *parent,MeshModel *m,int capability,int defaultBits, RichParameterSet *_parSet,GLArea* glar):
QDialog(parent),m(m),mask(0),capability(capability),defaultBits(defaultBits),parSet(_parSet),glar(glar)
{

View File

@ -26,8 +26,8 @@
#include <wrap/io_trimesh/io_mask.h>
#include "../common/filterparameter.h"
#include "stdpardialog.h"
#include "../common/filterparameter.h"
#include "glarea.h"
//
// Each file format exposes:

View File

@ -23,7 +23,15 @@
#include "stdpardialog.h"
#include <QtGui>
#include <QLabel>
#include <QPushButton>
#include <QLineEdit>
#include <QFileDialog>
#include <QDialogButtonBox>
#include <QClipboard>
#include <QColorDialog>
using namespace vcg;
MeshlabStdDialog::MeshlabStdDialog(QWidget *p)
:QDockWidget(QString("Plugin"), p),curmask(MeshModel::MM_UNKNOWN)

View File

@ -1,6 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FilterCreatorTab</class>
<customwidgets>
<customwidget>
<class>PrimitiveButton</class>
<extends>QPushButton</extends>
<header>additionalgui.h</header>
</customwidget>
<customwidget>
<class>FilterGeneratorGUI</class>
<extends>QFrame</extends>
<header>xmlgeneratorgui.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>MLScriptEditor</class>
<extends>QPlainTextEdit</extends>
<header>additionalgui.h</header>
</customwidget>
</customwidgets>
<widget class="QFrame" name="FilterCreatorTab">
<property name="geometry">
<rect>
@ -111,24 +129,7 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>PrimitiveButton</class>
<extends>QPushButton</extends>
<header>additionalgui.h</header>
</customwidget>
<customwidget>
<class>FilterGeneratorGUI</class>
<extends>QFrame</extends>
<header>xmlgeneratorgui.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>MLScriptEditor</class>
<extends>QPlainTextEdit</extends>
<header>additionalgui.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -1,12 +1,16 @@
#include "ui_filtergui.h"
//#include "ui_paramgui.h"
#include "ui_filtercreatortab.h"
//#include "ui_filtereditorframe.h"
#include "xmlgeneratorgui.h"
#include "../common/meshmodel.h"
#include "../common/interfaces.h"
#include "../common/mlexception.h"
#include "../common/pluginmanager.h"
#include "ui_filtercreatortab.h"
#include "ui_filtergui.h"
//#include "ui_paramgui.h"
//#include "ui_filtereditorframe.h"
#include "xmlgeneratorgui.h"
#include <QSplitter>
#include <QFileDialog>
ParamGeneratorGUI::ParamGeneratorGUI(QWidget* parent /*= NULL*/ )
:QFrame(parent),parentitem(NULL),currentname()

View File

@ -1,9 +1,9 @@
#ifndef XMLGENERATORGUI_H
#define XMLGENERATORGUI_H
#include "../common/meshmodel.h"
//#include "../common/meshmodel.h"
#include "../common/xmlfilterinfo.h"
#include "../common/pluginmanager.h"
//#include "../common/pluginmanager.h"
#include "additionalgui.h"
#include <QTabWidget>
#include <QFrame>
@ -14,6 +14,10 @@
#include <QComboBox>
#include <QLabel>
#include <QPlainTextEdit>
#include <QScriptValue>
class PluginManager;
class MeshDocument;
namespace Ui
{
@ -198,4 +202,4 @@ signals:
void insertXMLPluginRequested(const QString& filename,const QString& plugscriptname);
void historyRequest();
};
#endif
#endif

View File

@ -1,6 +1,8 @@
#include "xmlstdpardialog.h"
#include <climits>
#include <QtGui>
#include <QColorDialog>
#include <QFileDialog>
MeshLabXMLStdDialog::MeshLabXMLStdDialog(QWidget *p )
:QDockWidget(QString("Plugin"), p),isfilterexecuting(false),env(),showHelp(false)

View File

@ -11,7 +11,9 @@ CONFIG += ordered
SUBDIRS = common \ # the common framework, used by all the plugins,
meshlab \ # the GUI framework
meshlabplugins/io_base\ # a few basic file formats (ply, obj, off), without this you cannot open anything
meshlabplugins/filter_meshing \ # a few basic filtering operations, including the well know simplification
meshlabplugins/filter_mls \ # a few basic filtering operations, including the well know simplification
#
# Next some other useful, but still easy to be compiled, plugins
# Uncomment them if you succeed in compiling the above ones.

View File

@ -20,8 +20,6 @@
* for more details. *
* *
****************************************************************************/
#include <Qt>
#include <QtGui>
#include "baseio.h"
@ -40,6 +38,10 @@
#include <wrap/io_trimesh/export_vmi.h>
#include <wrap/io_trimesh/export.h>
#include <Qt>
#include <QtGui>
#include <QStaticAssertFailure>
using namespace std;
using namespace vcg;
// initialize importing parameters

View File

@ -1,4 +1,4 @@
include (../../general.pri)
include (general.pri)
VCGDIR = ../$$VCGDIR
# this is the common include for all the plugins