Changed: #1193 Object Viewer is converted into a plug-in to the Object Viewer Qt
|
@ -1,84 +1,40 @@
|
|||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${LIBXML2_INCLUDE_DIR} ${NEL_INCLUDE_DIR} ${QT_INCLUDES})
|
||||
INCLUDE( ${QT_USE_FILE} )
|
||||
|
||||
FILE(GLOB OBJECT_VIEWER_SRC configuration.h entity.h object_viewer.h particle_editor.h modules.h sound_system.h
|
||||
particle_node.h ps_initial_pos.h dup_ps.h vegetable_editor.h vegetable_node.h
|
||||
extension_system/iplugin_spec.h extension_system/plugin_spec.h
|
||||
extension_system/*.cpp *.cpp)
|
||||
CONFIGURE_FILE(translations/translations.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc COPYONLY)
|
||||
|
||||
SET(OBJECT_VIEWER_HDR main_window.h graphics_viewport.h animation_dialog.h
|
||||
animation_set_dialog.h settings_dialog.h setup_fog_dialog.h
|
||||
slot_manager_dialog.h particle_control_dialog.h particle_workspace_dialog.h
|
||||
particle_tree_model.h particle_system_page.h particle_workspace_page.h edit_range_widget.h
|
||||
emitter_page.h attrib_widget.h located_bindable_page.h located_page.h
|
||||
particle_force_page.h particle_light_page.h particle_zone_page.h particle_sound_page.h
|
||||
basic_edit_widget.h direction_widget.h color_edit_widget.h particle_property_dialog.h
|
||||
ps_mover_page.h value_blender_dialog.h value_gradient_dialog.h
|
||||
value_from_emitter_dialog.h curve_dialog.h bin_op_dialog.h hoverpoints.h
|
||||
mesh_widget.h morph_mesh_dialog.h constraint_mesh_widget.h tail_particle_widget.h
|
||||
auto_lod_dialog.h particle_texture_widget.h particle_texture_anim_widget.h
|
||||
multi_tex_dialog.h spinner_dialog.h follow_path_dialog.h water_pool_dialog.h
|
||||
skeleton_scale_dialog.h skeleton_tree_model.h particle_link_skeleton_dialog.h
|
||||
vegetable_dialog.h global_wind_dialog.h day_night_dialog.h sun_color_dialog.h
|
||||
vegetable_noise_value_widget.h vegetable_density_page.h vegetable_landscape_page.h
|
||||
vegetable_scale_page.h vegetable_appearance_page.h vegetable_rotate_page.h
|
||||
tune_mrm_dialog.h tune_timer_dialog.h camera_control.h
|
||||
extension_system/iplugin_manager.h extension_system/plugin_manager.h)
|
||||
FILE(GLOB OBJECT_VIEWER_SRC extension_system/*.h
|
||||
extension_system/*.cpp
|
||||
*.h *.cpp)
|
||||
|
||||
SET(OBJECT_VIEWER_UIS animation_form.ui animation_set_form.ui settings_form.ui
|
||||
setup_fog_form.ui slot_form.ui particle_control_form.ui particle_workspace_form.ui
|
||||
edit_range_float_form.ui edit_range_uint_form.ui particle_system_form.ui workspace_form.ui
|
||||
attrib_form.ui emitter_form.ui located_bindable_form.ui located_form.ui
|
||||
particle_force_form.ui particle_light_form.ui particle_zone_form.ui particle_sound_form.ui
|
||||
basic_edit_form.ui direction_form.ui color_edit_form.ui ps_mover_form.ui curve_form.ui
|
||||
mesh_form.ui morph_mesh_form.ui constraint_mesh_form.ui tail_form.ui auto_lod_form.ui
|
||||
particle_texture_form.ui particle_texture_anim_form.ui multi_tex_form.ui skeleton_scale_form.ui
|
||||
particle_link_skeleton_form.ui water_pool_form.ui vegetable_dialog_form.ui
|
||||
vegetable_noise_value_form.ui global_wind_form.ui sun_color_form.ui day_night_form.ui
|
||||
vegetable_density_form.ui vegetable_apperance_form.ui vegetable_landscape_form.ui
|
||||
vegetable_rotate_form.ui vegetable_scale_form.ui tune_mrm_form.ui tune_timer_form.ui)
|
||||
SET(OBJECT_VIEWER_HDR extension_system/iplugin_manager.h
|
||||
extension_system/plugin_manager.h)
|
||||
|
||||
SET(OBJECT_VIEWER_RCS object_viewer_qt.qrc)
|
||||
SET(OBJECT_VIEWER_RCS object_viewer_qt.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
|
||||
|
||||
SET(LANGUAGES en fr de ru)
|
||||
SET(OBJECT_VIEWER_TS translations/object_viewer_qt_en.ts
|
||||
translations/object_viewer_qt_fr.ts
|
||||
translations/object_viewer_qt_de.ts
|
||||
translations/object_viewer_qt_ru.ts)
|
||||
|
||||
SET(QT_USE_QTGUI TRUE)
|
||||
SET(QT_USE_QTOPENGL TRUE)
|
||||
|
||||
QT4_ADD_RESOURCES( OBJECT_VIEWER_RC_SRCS ${OBJECT_VIEWER_RCS} )
|
||||
QT4_ADD_TRANSLATION(OBJECT_VIEWER_QM ${OBJECT_VIEWER_TS})
|
||||
QT4_ADD_RESOURCES( OBJECT_VIEWER_RC_SRCS ${OBJECT_VIEWER_RCS})
|
||||
QT4_WRAP_CPP( OBJECT_VIEWER_MOC_SRCS ${OBJECT_VIEWER_HDR} )
|
||||
QT4_WRAP_UI( OBJECT_VIEWER_UI_HDRS ${OBJECT_VIEWER_UIS} )
|
||||
|
||||
FOREACH(LANGUAGE ${LANGUAGES})
|
||||
SET (TS ${CMAKE_CURRENT_SOURCE_DIR}/translations/object_viewer_qt_${LANGUAGE}.ts)
|
||||
SET (QM ${CMAKE_CURRENT_SOURCE_DIR}/translations/object_viewer_qt_${LANGUAGE}.qm)
|
||||
SET (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
||||
SET (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
||||
ADD_CUSTOM_COMMAND (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
|
||||
ENDFOREACH()
|
||||
|
||||
ADD_CUSTOM_TARGET (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} -recursive -no-obsolete -ts ${TRANSLATIONS})
|
||||
ADD_CUSTOM_COMMAND (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
||||
|
||||
SOURCE_GROUP(QtResources FILES ${OBJECT_VIEWER_UIS} ${OBJECT_VIEWER_RCS})
|
||||
SOURCE_GROUP(QtGeneratedUiHdr FILES ${OBJECT_VIEWER_UI_HDRS})
|
||||
SOURCE_GROUP(QtGeneratedMocSrc FILES ${OBJECT_VIEWER_MOC_SRCS})
|
||||
SOURCE_GROUP(QtResources FILES ${OBJECT_VIEWER_RCS})
|
||||
SOURCE_GROUP(QtGeneratedMocQrcSrc FILES ${OBJECT_VIEWER_MOC_SRCS} ${OBJECT_VIEWER_RC_SRCS})
|
||||
|
||||
ADD_EXECUTABLE(object_viewer_qt WIN32 MACOSX_BUNDLE
|
||||
${OBJECT_VIEWER_SRC}
|
||||
${OBJECT_VIEWER_MOC_SRCS}
|
||||
${OBJECT_VIEWER_RC_SRCS}
|
||||
${OBJECT_VIEWER_UI_HDRS}
|
||||
${TRANSLATIONS})
|
||||
${OBJECT_VIEWER_RC_SRCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(object_viewer_qt
|
||||
nelmisc
|
||||
nel3d
|
||||
nelsound
|
||||
nelligo
|
||||
nelgeorges
|
||||
${QT_LIBRARIES}
|
||||
${QT_QTOPENGL_LIBRARY}
|
||||
${QT_QTMAIN_LIBRARY})
|
||||
|
||||
ADD_DEFINITIONS(-DQT_NO_KEYWORDS ${LIBXML2_DEFINITIONS} ${QT_DEFINITIONS})
|
||||
|
|
|
@ -15,9 +15,19 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "stdpch.h"
|
||||
// Project includes
|
||||
#include "extension_system/iplugin_spec.h"
|
||||
#include "extension_system/plugin_manager.h"
|
||||
|
||||
// NeL includes
|
||||
#include <nel/misc/types_nl.h>
|
||||
#include <nel/misc/app_context.h>
|
||||
#include <nel/misc/debug.h>
|
||||
#include <nel/misc/common.h>
|
||||
#include <nel/misc/file.h>
|
||||
#include <nel/misc/dynloadlib.h>
|
||||
#include <nel/misc/path.h>
|
||||
#include <nel/misc/command.h>
|
||||
|
||||
// Qt includes
|
||||
#include <QtCore/QDir>
|
||||
|
@ -29,19 +39,6 @@
|
|||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QSplashScreen>
|
||||
|
||||
// NeL includes
|
||||
#include <nel/misc/debug.h>
|
||||
#include <nel/misc/common.h>
|
||||
#include <nel/misc/file.h>
|
||||
#include <nel/misc/dynloadlib.h>
|
||||
#include <nel/misc/path.h>
|
||||
#include <nel/misc/command.h>
|
||||
|
||||
// Project includes
|
||||
#include "modules.h"
|
||||
#include "extension_system/iplugin_spec.h"
|
||||
#include "extension_system/plugin_manager.h"
|
||||
|
||||
static const char *appNameC = "ObjectViewerQt";
|
||||
|
||||
// nel_qt log file name
|
||||
|
@ -57,17 +54,12 @@ static const char *appNameC = "ObjectViewerQt";
|
|||
# define NLQT_USE_LOG 1
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
namespace NLQT
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
CFileDisplayer *s_FileDisplayer = NULL;
|
||||
|
||||
NLMISC::CFileDisplayer *s_FileDisplayer = NULL;
|
||||
} /* anonymous namespace */
|
||||
|
||||
} /* namespace NLQT */
|
||||
|
@ -106,28 +98,26 @@ static inline QString msgCoreLoadFailure(const QString &why)
|
|||
return QCoreApplication::translate("Application", "Failed to load Core plugin: %1").arg(why);
|
||||
}
|
||||
|
||||
#define OVQT_OLD true
|
||||
|
||||
sint main(int argc, char **argv)
|
||||
{
|
||||
// go nel!
|
||||
new NLMISC::CApplicationContext;
|
||||
{
|
||||
// use log.log if NEL_LOG_IN_FILE and NLQT_USE_LOG_LOG defined as 1
|
||||
createDebug(NULL, NLQT_USE_LOG_LOG, false);
|
||||
NLMISC::createDebug(NULL, NLQT_USE_LOG_LOG, false);
|
||||
#if NLQT_USE_LOG
|
||||
// create NLQT_LOG_FILE
|
||||
// filedisplayer only deletes the 001 etc
|
||||
if (NLQT_ERASE_LOG && CFile::isExists(NLQT_LOG_FILE))
|
||||
CFile::deleteFile(NLQT_LOG_FILE);
|
||||
if (NLQT_ERASE_LOG && NLMISC::CFile::isExists(NLQT_LOG_FILE))
|
||||
NLMISC::CFile::deleteFile(NLQT_LOG_FILE);
|
||||
// initialize the log file
|
||||
NLQT::s_FileDisplayer = new CFileDisplayer();
|
||||
NLQT::s_FileDisplayer = new NLMISC::CFileDisplayer();
|
||||
NLQT::s_FileDisplayer->setParam(NLQT_LOG_FILE, NLQT_ERASE_LOG);
|
||||
DebugLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
InfoLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
WarningLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
AssertLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
ErrorLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
NLMISC::DebugLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
NLMISC::InfoLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
NLMISC::WarningLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
NLMISC::AssertLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
NLMISC::ErrorLog->addDisplayer(NLQT::s_FileDisplayer);
|
||||
#endif
|
||||
|
||||
nlinfo("Welcome to NeL Object Viewer Qt!");
|
||||
|
@ -145,7 +135,7 @@ sint main(int argc, char **argv)
|
|||
QTranslator qtTranslator;
|
||||
QString locale = settings->value("Language", QLocale::system().name()).toString();
|
||||
QString qtTrPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||
translator.load("object_viewer_qt_" + locale, ":/translations");
|
||||
translator.load("object_viewer_qt_" + locale, ":/");
|
||||
qtTranslator.load("qt_" + locale, qtTrPath);
|
||||
app.installTranslator(&translator);
|
||||
app.installTranslator(&qtTranslator);
|
||||
|
@ -155,41 +145,6 @@ sint main(int argc, char **argv)
|
|||
CLibrary::addLibPath((qApp->applicationDirPath() + QString("/../PlugIns/nel")).toStdString());
|
||||
#endif
|
||||
|
||||
#if defined(OVQT_OLD)
|
||||
Modules::init();
|
||||
|
||||
Modules::plugMan().setSettings(settings);
|
||||
|
||||
// load and set remap extensions from config
|
||||
Modules::config().configRemapExtensions();
|
||||
// load and set search paths from config
|
||||
Modules::config().configSearchPaths();
|
||||
|
||||
Modules::mainWin().showMaximized();
|
||||
Modules::plugMan().addObject(&Modules::mainWin());
|
||||
|
||||
#if !defined(NL_OS_MAC)
|
||||
Modules::plugMan().setPluginPaths(QStringList() << QString("./plugins"));
|
||||
#else
|
||||
Modules::plugMan().setPluginPaths(QStringList() <<
|
||||
qApp->applicationDirPath() + QString("/../PlugIns/ovqt"));
|
||||
#endif
|
||||
|
||||
Modules::plugMan().loadPlugins();
|
||||
|
||||
QStringList errors;
|
||||
Q_FOREACH (ExtensionSystem::IPluginSpec *spec, Modules::plugMan().plugins())
|
||||
if (spec->hasError())
|
||||
errors.append(spec->fileName() + " : " + spec->errorString());
|
||||
|
||||
if (!errors.isEmpty())
|
||||
QMessageBox::warning(0, QCoreApplication::translate("Application", "Object Viewer Qt - Plugin loader messages"),
|
||||
errors.join(QString::fromLatin1("\n\n")));
|
||||
|
||||
splash->finish(&Modules::mainWin());
|
||||
int result = app.exec();
|
||||
Modules::release();
|
||||
#else
|
||||
ExtensionSystem::CPluginManager pluginManager;
|
||||
pluginManager.setSettings(settings);
|
||||
QStringList pluginPaths;
|
||||
|
@ -239,7 +194,5 @@ sint main(int argc, char **argv)
|
|||
errors.join(QString::fromLatin1("\n\n")));
|
||||
|
||||
int result = app.exec();
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
|
@ -1,62 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>images/nel.png</file>
|
||||
<file>images/open-file.png</file>
|
||||
<file>images/go-down.png</file>
|
||||
<file>images/go-up.png</file>
|
||||
<file>images/list-add.png</file>
|
||||
<file>images/list-remove.png</file>
|
||||
<file>images/play.png</file>
|
||||
<file>images/pause.png</file>
|
||||
<file>images/stop.png</file>
|
||||
<file>images/seek-backward.png</file>
|
||||
<file>images/seek-forward.png</file>
|
||||
<file>images/skip-backward.png</file>
|
||||
<file>images/skip-forward.png</file>
|
||||
<file>images/preferences.png</file>
|
||||
<file>images/time.png</file>
|
||||
<file>images/anim.png</file>
|
||||
<file>images/animset.png</file>
|
||||
<file>images/dqynight.png</file>
|
||||
<file>images/mixer.png</file>
|
||||
<file>images/pqrticles.png</file>
|
||||
<file>images/sound.png</file>
|
||||
<file>images/veget.png</file>
|
||||
<file>images/water.png</file>
|
||||
<file>images/wind.png</file>
|
||||
<file>images/ico_bgcolor.png</file>
|
||||
<file>images/ico_framedelay.png</file>
|
||||
<file>images/ico_skelscale.png</file>
|
||||
<file>images/ico_mrm_mesh.png</file>
|
||||
<file>images/ico_light_group.png</file>
|
||||
<file>images/clear.png</file>
|
||||
<file>images/insert.png</file>
|
||||
<file>images/new.png</file>
|
||||
<file>images/refresh.png</file>
|
||||
<file>images/save-as.png</file>
|
||||
<file>images/save.png</file>
|
||||
<file>images/insert-horizontal.png</file>
|
||||
<file>images/polymode.png</file>
|
||||
<file>images/rmfill.png</file>
|
||||
<file>images/rmline.png</file>
|
||||
<file>images/rmpoints.png</file>
|
||||
<file>images/cam_del.png</file>
|
||||
<file>images/cam_add.png</file>
|
||||
<file>images/Emitter.bmp</file>
|
||||
<file>images/Force.bmp</file>
|
||||
<file>images/nel_ide_load.png</file>
|
||||
<file>images/bad_particle_system_item.png</file>
|
||||
<file>images/particle_system_item.png</file>
|
||||
<file>images/instance_item.png</file>
|
||||
<file>images/light_item.png</file>
|
||||
<file>images/located_item.png</file>
|
||||
<file>images/particle_item.png</file>
|
||||
<file>images/sound_item.png</file>
|
||||
<file>images/workspace_item.png</file>
|
||||
<file>images/collision_zone_item.png</file>
|
||||
<file>translations/object_viewer_qt_en.qm</file>
|
||||
<file>translations/object_viewer_qt_fr.qm</file>
|
||||
<file>translations/object_viewer_qt_de.qm</file>
|
||||
<file>translations/object_viewer_qt_ru.qm</file>
|
||||
</qresource>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -3,3 +3,4 @@ ADD_SUBDIRECTORY(example)
|
|||
ADD_SUBDIRECTORY(ovqt_sheet_builder)
|
||||
ADD_SUBDIRECTORY(log)
|
||||
ADD_SUBDIRECTORY(disp_sheet_id)
|
||||
ADD_SUBDIRECTORY(object_viewer)
|
|
@ -49,8 +49,7 @@ CorePlugin::~CorePlugin()
|
|||
qDeleteAll(_autoReleaseObjects);
|
||||
_autoReleaseObjects.clear();
|
||||
|
||||
if (_oldOVQT)
|
||||
delete _mainWindow;
|
||||
delete _mainWindow;
|
||||
}
|
||||
|
||||
bool CorePlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString)
|
||||
|
@ -58,71 +57,26 @@ bool CorePlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QStr
|
|||
Q_UNUSED(errorString);
|
||||
_plugMan = pluginManager;
|
||||
|
||||
// for old ovqt
|
||||
QMainWindow *wnd = qobject_cast<QMainWindow *>(_plugMan->objectByName("CMainWindow"));
|
||||
if (wnd)
|
||||
_mainWindow = new MainWindow(pluginManager);
|
||||
/* if (QtWin::isCompositionEnabled())
|
||||
{
|
||||
_pluginView = new ExtensionSystem::CPluginView(_plugMan);
|
||||
QMenu *toolsMenu = qobject_cast<QMenu *>(_plugMan->objectByName("ovqt.Menu.Tools"));
|
||||
QMenu *helpMenu = qobject_cast<QMenu *>(_plugMan->objectByName("ovqt.Menu.Help"));
|
||||
nlassert(toolsMenu);
|
||||
nlassert(helpMenu);
|
||||
|
||||
QAction *newAction = toolsMenu->addAction(tr("New settings"));
|
||||
QAction *newAction2 = helpMenu->addAction(tr("About plugins"));
|
||||
newAction->setIcon(QIcon(Constants::ICON_SETTINGS));
|
||||
|
||||
connect(newAction, SIGNAL(triggered()), this, SLOT(execSettings()));
|
||||
connect(newAction2, SIGNAL(triggered()), _pluginView, SLOT(show()));
|
||||
_oldOVQT = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_mainWindow = new MainWindow(pluginManager);
|
||||
#ifdef Q_WS_X11
|
||||
_mainWindow->setAttribute(Qt::WA_TranslucentBackground);
|
||||
_mainWindow->setAttribute(Qt::WA_NoSystemBackground, false);
|
||||
QPalette pal = _mainWindow->palette();
|
||||
QColor bg = pal.window().color();
|
||||
bg.setAlpha(180);
|
||||
pal.setColor(QPalette::Window, bg);
|
||||
_mainWindow->setPalette(pal);
|
||||
_mainWindow->ensurePolished(); // workaround Oxygen filling the background
|
||||
_mainWindow->setAttribute(Qt::WA_StyledBackground, false);
|
||||
#endif
|
||||
if (QtWin::isCompositionEnabled())
|
||||
{
|
||||
QtWin::extendFrameIntoClientArea(_mainWindow);
|
||||
_mainWindow->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
_oldOVQT = true;
|
||||
bool success = _mainWindow->initialize(errorString);
|
||||
CSearchPathsSettingsPage *serchPathPage = new CSearchPathsSettingsPage(this);
|
||||
serchPathPage->applySearchPaths();
|
||||
addAutoReleasedObject(serchPathPage);
|
||||
|
||||
return success;
|
||||
QtWin::extendFrameIntoClientArea(_mainWindow);
|
||||
_mainWindow->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
*/ bool success = _mainWindow->initialize(errorString);
|
||||
CSearchPathsSettingsPage *serchPathPage = new CSearchPathsSettingsPage(this);
|
||||
serchPathPage->applySearchPaths();
|
||||
addAutoReleasedObject(serchPathPage);
|
||||
return success;
|
||||
}
|
||||
|
||||
void CorePlugin::extensionsInitialized()
|
||||
{
|
||||
_pluginView = new ExtensionSystem::CPluginView(_plugMan);
|
||||
if (_oldOVQT)
|
||||
_mainWindow->extensionsInitialized();
|
||||
_mainWindow->extensionsInitialized();
|
||||
}
|
||||
|
||||
void CorePlugin::shutdown()
|
||||
{
|
||||
delete _pluginView;
|
||||
}
|
||||
|
||||
void CorePlugin::execSettings()
|
||||
{
|
||||
CSettingsDialog settingsDialog(_plugMan);
|
||||
settingsDialog.show();
|
||||
settingsDialog.execDialog();
|
||||
}
|
||||
|
||||
void CorePlugin::setNelContext(NLMISC::INelContext *nelContext)
|
||||
|
|
|
@ -69,15 +69,10 @@ public:
|
|||
protected:
|
||||
NLMISC::CLibraryContext *_LibContext;
|
||||
|
||||
private Q_SLOTS:
|
||||
void execSettings();
|
||||
|
||||
private:
|
||||
ExtensionSystem::IPluginManager *_plugMan;
|
||||
ExtensionSystem::CPluginView *_pluginView;
|
||||
MainWindow *_mainWindow;
|
||||
QList<QObject *> _autoReleaseObjects;
|
||||
bool _oldOVQT;
|
||||
};
|
||||
|
||||
} // namespace Core
|
||||
|
|
|
@ -59,6 +59,7 @@ MainWindow::MainWindow(ExtensionSystem::IPluginManager *pluginManager, QWidget *
|
|||
|
||||
m_tabWidget = new QTabWidget(this);
|
||||
m_tabWidget->setTabPosition(QTabWidget::South);
|
||||
m_tabWidget->setMovable(true);
|
||||
setCentralWidget(m_tabWidget);
|
||||
|
||||
setDockNestingEnabled(true);
|
||||
|
|
|
@ -44,21 +44,16 @@ bool MyPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QStrin
|
|||
void MyPlugin::extensionsInitialized()
|
||||
{
|
||||
Core::ICore *core = Core::ICore::instance();
|
||||
if (core == 0)
|
||||
nlinfo("This not ovqt ng");
|
||||
else
|
||||
{
|
||||
Core::IMenuManager *menuManager = core->menuManager();
|
||||
//menuManager = _plugMan->getObject<Core::IMenuManager>();
|
||||
QAction *exampleAction1 = new QAction("Example1", this);
|
||||
QAction *exampleAction2 = new QAction("Example2", this);
|
||||
QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT);
|
||||
QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP);
|
||||
helpMenu->insertAction(aboutQtAction, exampleAction1);
|
||||
helpMenu->addSeparator();
|
||||
helpMenu->addAction(exampleAction2);
|
||||
menuManager->menuBar()->addMenu("ExampleMenu");
|
||||
}
|
||||
Core::IMenuManager *menuManager = core->menuManager();
|
||||
//menuManager = _plugMan->getObject<Core::IMenuManager>();
|
||||
QAction *exampleAction1 = new QAction("Example1", this);
|
||||
QAction *exampleAction2 = new QAction("Example2", this);
|
||||
QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT);
|
||||
QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP);
|
||||
helpMenu->insertAction(aboutQtAction, exampleAction1);
|
||||
helpMenu->addSeparator();
|
||||
helpMenu->addAction(exampleAction2);
|
||||
menuManager->menuBar()->addMenu("ExampleMenu");
|
||||
}
|
||||
|
||||
void MyPlugin::setNelContext(NLMISC::INelContext *nelContext)
|
||||
|
|
|
@ -0,0 +1,154 @@
|
|||
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${LIBXML2_INCLUDE_DIR}
|
||||
${QT_INCLUDES})
|
||||
|
||||
FILE(GLOB SRC *.cpp *.h)
|
||||
|
||||
SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_manager.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_spec.h)
|
||||
|
||||
SET(OBJECT_VIEWER_PLUGIN_HDR object_viewer_plugin.h
|
||||
main_window.h
|
||||
graphics_viewport.h
|
||||
animation_dialog.h
|
||||
animation_set_dialog.h
|
||||
settings_dialog.h
|
||||
setup_fog_dialog.h
|
||||
slot_manager_dialog.h
|
||||
particle_control_dialog.h
|
||||
particle_workspace_dialog.h
|
||||
particle_tree_model.h
|
||||
particle_system_page.h
|
||||
particle_workspace_page.h
|
||||
edit_range_widget.h
|
||||
emitter_page.h
|
||||
attrib_widget.h
|
||||
located_bindable_page.h
|
||||
located_page.h
|
||||
particle_force_page.h
|
||||
particle_light_page.h
|
||||
particle_zone_page.h
|
||||
particle_sound_page.h
|
||||
basic_edit_widget.h
|
||||
direction_widget.h
|
||||
color_edit_widget.h
|
||||
particle_property_dialog.h
|
||||
ps_mover_page.h
|
||||
value_blender_dialog.h
|
||||
value_gradient_dialog.h
|
||||
value_from_emitter_dialog.h
|
||||
curve_dialog.h
|
||||
bin_op_dialog.h
|
||||
hoverpoints.h
|
||||
mesh_widget.h
|
||||
morph_mesh_dialog.h
|
||||
constraint_mesh_widget.h
|
||||
tail_particle_widget.h
|
||||
auto_lod_dialog.h
|
||||
particle_texture_widget.h
|
||||
particle_texture_anim_widget.h
|
||||
multi_tex_dialog.h
|
||||
spinner_dialog.h
|
||||
follow_path_dialog.h
|
||||
water_pool_dialog.h
|
||||
skeleton_scale_dialog.h
|
||||
skeleton_tree_model.h
|
||||
particle_link_skeleton_dialog.h
|
||||
vegetable_dialog.h
|
||||
global_wind_dialog.h
|
||||
day_night_dialog.h
|
||||
sun_color_dialog.h
|
||||
vegetable_noise_value_widget.h
|
||||
vegetable_density_page.h
|
||||
vegetable_landscape_page.h
|
||||
vegetable_scale_page.h
|
||||
vegetable_appearance_page.h
|
||||
vegetable_rotate_page.h
|
||||
tune_mrm_dialog.h
|
||||
tune_timer_dialog.h
|
||||
camera_control.h)
|
||||
|
||||
SET(OBJECT_VIEWER_PLUGIN_UIS animation_form.ui
|
||||
animation_set_form.ui
|
||||
settings_form.ui
|
||||
setup_fog_form.ui
|
||||
slot_form.ui
|
||||
particle_control_form.ui
|
||||
particle_workspace_form.ui
|
||||
edit_range_float_form.ui
|
||||
edit_range_uint_form.ui
|
||||
particle_system_form.ui
|
||||
workspace_form.ui
|
||||
attrib_form.ui
|
||||
emitter_form.ui
|
||||
located_bindable_form.ui
|
||||
located_form.ui
|
||||
particle_force_form.ui
|
||||
particle_light_form.ui
|
||||
particle_zone_form.ui
|
||||
particle_sound_form.ui
|
||||
basic_edit_form.ui
|
||||
direction_form.ui
|
||||
color_edit_form.ui
|
||||
ps_mover_form.ui
|
||||
curve_form.ui
|
||||
mesh_form.ui
|
||||
morph_mesh_form.ui
|
||||
constraint_mesh_form.ui
|
||||
tail_form.ui
|
||||
auto_lod_form.ui
|
||||
particle_texture_form.ui
|
||||
particle_texture_anim_form.ui
|
||||
multi_tex_form.ui
|
||||
skeleton_scale_form.ui
|
||||
particle_link_skeleton_form.ui
|
||||
water_pool_form.ui
|
||||
vegetable_dialog_form.ui
|
||||
vegetable_noise_value_form.ui
|
||||
global_wind_form.ui
|
||||
sun_color_form.ui
|
||||
day_night_form.ui
|
||||
vegetable_density_form.ui
|
||||
vegetable_apperance_form.ui
|
||||
vegetable_landscape_form.ui
|
||||
vegetable_rotate_form.ui
|
||||
vegetable_scale_form.ui
|
||||
tune_mrm_form.ui
|
||||
tune_timer_form.ui)
|
||||
|
||||
SET(OBJECT_VIEWER_PLUGIN_RCS object_viewer.qrc)
|
||||
|
||||
SET(QT_USE_QTGUI TRUE)
|
||||
SET(QT_USE_QTOPENGL TRUE)
|
||||
|
||||
QT4_ADD_RESOURCES(OBJECT_VIEWER_PLUGIN_RC_SRCS ${OBJECT_VIEWER_PLUGIN_RCS})
|
||||
QT4_WRAP_CPP(OBJECT_VIEWER_PLUGIN_MOC_SRC ${OBJECT_VIEWER_PLUGIN_HDR})
|
||||
QT4_WRAP_UI(OBJECT_VIEWER_PLUGIN_UI_HDRS ${OBJECT_VIEWER_PLUGIN_UIS})
|
||||
|
||||
SOURCE_GROUP(QtResources FILES ${OBJECT_VIEWER_PLUGIN_UIS})
|
||||
SOURCE_GROUP(QtGeneratedUiHdr FILES ${OBJECT_VIEWER_PLUGIN_UI_HDRS})
|
||||
SOURCE_GROUP(QtGeneratedMocSrc FILES ${OBJECT_VIEWER_PLUGIN_MOC_SRC})
|
||||
SOURCE_GROUP("Object Viewer Plugin" FILES ${SRC})
|
||||
SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC})
|
||||
|
||||
ADD_LIBRARY(ovqt_plugin_object_viewer MODULE ${SRC} ${OBJECT_VIEWER_PLUGIN_MOC_SRC} ${OVQT_EXT_SYS_SRC} ${OBJECT_VIEWER_PLUGIN_UI_HDRS} ${OBJECT_VIEWER_PLUGIN_RC_SRCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(ovqt_plugin_object_viewer
|
||||
ovqt_plugin_core
|
||||
nelmisc
|
||||
nel3d
|
||||
nelsound
|
||||
nelligo
|
||||
nelgeorges
|
||||
${QT_LIBRARIES}
|
||||
${QT_QTOPENGL_LIBRARY})
|
||||
|
||||
NL_DEFAULT_PROPS(ovqt_plugin_object_viewer "NeL, Tools, 3D: Object Viewer Qt Plugin: Object Viewer")
|
||||
NL_ADD_RUNTIME_FLAGS(ovqt_plugin_object_viewer)
|
||||
NL_ADD_LIB_SUFFIX(ovqt_plugin_object_viewer)
|
||||
|
||||
ADD_DEFINITIONS(-DQT_NO_KEYWORDS ${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS})
|
||||
|
||||
INSTALL(TARGETS ovqt_plugin_object_viewer LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d)
|
|
@ -192,7 +192,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/animset.png</normaloff>:/images/animset.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -236,7 +236,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/mixer.png</normaloff>:/images/mixer.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -274,7 +274,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/skip-backward.png</normaloff>:/images/skip-backward.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -306,7 +306,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/seek-backward.png</normaloff>:/images/seek-backward.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -344,7 +344,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/play.png</normaloff>
|
||||
<normalon>:/images/pause.png</normalon>:/images/play.png</iconset>
|
||||
</property>
|
||||
|
@ -383,7 +383,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/stop.png</normaloff>:/images/stop.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -418,7 +418,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/seek-forward.png</normaloff>:/images/seek-forward.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -450,7 +450,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/skip-forward.png</normaloff>:/images/skip-forward.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -482,7 +482,7 @@
|
|||
</widget>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="object_viewer_qt.qrc"/>
|
||||
<include location="object_viewer.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
|
@ -23,7 +23,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/animset.png</normaloff>:/images/animset.png</iconset>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -308,7 +308,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/clear.png</normaloff>:/images/clear.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -354,7 +354,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/list-add.png</normaloff>:/images/list-add.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -380,7 +380,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/list-remove.png</normaloff>:/images/list-remove.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -403,7 +403,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/go-up.png</normaloff>:/images/go-up.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -426,7 +426,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/go-down.png</normaloff>:/images/go-down.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -470,7 +470,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/time.png</normaloff>:/images/time.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
|
@ -490,7 +490,7 @@
|
|||
</widget>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="object_viewer_qt.qrc"/>
|
||||
<include location="object_viewer.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -136,7 +136,7 @@ Right click to remove points.</string>
|
|||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="object_viewer_qt.qrc">
|
||||
<iconset resource="object_viewer.qrc">
|
||||
<normaloff>:/images/refresh.png</normaloff>:/images/refresh.png</iconset>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
|
@ -230,7 +230,7 @@ Right click to remove points.</string>
|
|||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="object_viewer_qt.qrc"/>
|
||||
<include location="object_viewer.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
|
@ -108,7 +108,7 @@
|
|||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="object_viewer_qt.qrc"/>
|
||||
<include location="object_viewer.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -75,7 +75,7 @@
|
|||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="object_viewer_qt.qrc"/>
|
||||
<include location="object_viewer.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
|
@ -49,7 +49,6 @@ namespace NLQT
|
|||
CGraphicsViewport::CGraphicsViewport(QWidget *parent)
|
||||
: QNLWidget(parent)
|
||||
{
|
||||
this->setStatusTip("Status ready");
|
||||
}
|
||||
|
||||
CGraphicsViewport::~CGraphicsViewport()
|
Before (image error) Size: 246 B After (image error) Size: 246 B |
Before (image error) Size: 246 B After (image error) Size: 246 B |
Before (image error) Size: 8 KiB After (image error) Size: 8 KiB |
Before (image error) Size: 8.8 KiB After (image error) Size: 8.8 KiB |
Before (image error) Size: 6 KiB After (image error) Size: 6 KiB |
Before (image error) Size: 5.6 KiB After (image error) Size: 5.6 KiB |
Before (image error) Size: 5.8 KiB After (image error) Size: 5.8 KiB |
Before (image error) Size: 3.8 KiB After (image error) Size: 3.8 KiB |
Before (image error) Size: 5.6 KiB After (image error) Size: 5.6 KiB |
Before (image error) Size: 7 KiB After (image error) Size: 7 KiB |
Before (image error) Size: 2.3 KiB After (image error) Size: 2.3 KiB |
Before (image error) Size: 2.4 KiB After (image error) Size: 2.4 KiB |
Before (image error) Size: 5.2 KiB After (image error) Size: 5.2 KiB |
Before (image error) Size: 6.3 KiB After (image error) Size: 6.3 KiB |
Before (image error) Size: 5.3 KiB After (image error) Size: 5.3 KiB |
Before (image error) Size: 9.5 KiB After (image error) Size: 9.5 KiB |
Before (image error) Size: 4.7 KiB After (image error) Size: 4.7 KiB |
Before (image error) Size: 2.1 KiB After (image error) Size: 2.1 KiB |
Before (image error) Size: 1.4 KiB After (image error) Size: 1.4 KiB |
Before (image error) Size: 6.3 KiB After (image error) Size: 6.3 KiB |
Before (image error) Size: 3.7 KiB After (image error) Size: 3.7 KiB |
Before (image error) Size: 2.6 KiB After (image error) Size: 2.6 KiB |
Before (image error) Size: 1.6 KiB After (image error) Size: 1.6 KiB |
Before (image error) Size: 3.7 KiB After (image error) Size: 3.7 KiB |
Before (image error) Size: 8.7 KiB After (image error) Size: 8.7 KiB |
Before (image error) Size: 15 KiB After (image error) Size: 15 KiB |
Before (image error) Size: 2.4 KiB After (image error) Size: 2.4 KiB |
Before (image error) Size: 1.1 KiB After (image error) Size: 1.1 KiB |
Before (image error) Size: 4.7 KiB After (image error) Size: 4.7 KiB |
Before (image error) Size: 4.5 KiB After (image error) Size: 4.5 KiB |
Before (image error) Size: 1.1 KiB After (image error) Size: 1.1 KiB |
Before (image error) Size: 1.1 KiB After (image error) Size: 1.1 KiB |
Before (image error) Size: 14 KiB After (image error) Size: 14 KiB |