fix hooks to voxel stats dialog

This commit is contained in:
Stephen Birarda 2013-08-15 12:38:26 -07:00
parent d1bc2058bc
commit 4903122432
4 changed files with 31 additions and 27 deletions

View file

@ -91,7 +91,6 @@ Application::Application(int& argc, char** argv, timeval &startup_time) :
QApplication(argc, argv),
_window(new QMainWindow(desktop())),
_glWidget(new GLCanvas()),
_voxelStatsDialog(NULL),
_displayLevels(false),
_frameCount(0),
_fps(120.0f),
@ -1099,21 +1098,6 @@ void Application::checkBandwidthMeterClick() {
}
}
void Application::voxelStatsDetails() {
if (!_voxelStatsDialog) {
_voxelStatsDialog = new VoxelStatsDialog(_glWidget, &_voxelSceneStats);
connect(_voxelStatsDialog, SIGNAL(closed()), SLOT(voxelStatsDetailsClosed()));
_voxelStatsDialog->show();
}
_voxelStatsDialog->raise();
}
void Application::voxelStatsDetailsClosed() {
QDialog* dlg = _voxelStatsDialog;
_voxelStatsDialog = NULL;
delete dlg;
}
void Application::setFullscreen(bool fullscreen) {
_window->setWindowState(fullscreen ? (_window->windowState() | Qt::WindowFullScreen) :
(_window->windowState() & ~Qt::WindowFullScreen));
@ -1970,8 +1954,10 @@ void Application::update(float deltaTime) {
if (bandwidthDialog) {
bandwidthDialog->update();
}
if (_voxelStatsDialog) {
_voxelStatsDialog->update();
VoxelStatsDialog* voxelStatsDialog = Menu::getInstance()->getVoxelStatsDialog();
if (voxelStatsDialog) {
voxelStatsDialog->update();
}
// Update audio stats for procedural sounds

View file

@ -119,6 +119,7 @@ public:
QSettings* getSettings() { return _settings; }
Swatch* getSwatch() { return &_swatch; }
QMainWindow* getWindow() { return _window; }
VoxelSceneStats* getVoxelSceneStats() { return &_voxelSceneStats; }
QNetworkAccessManager* getNetworkAccessManager() { return _networkAccessManager; }
GeometryCache* getGeometryCache() { return &_geometryCache; }
@ -141,9 +142,6 @@ private slots:
void timer();
void idle();
void terminate();
void voxelStatsDetails();
void voxelStatsDetailsClosed();
void setFullscreen(bool fullscreen);
@ -242,7 +240,6 @@ private:
QAction* _followMode;
BandwidthMeter _bandwidthMeter;
VoxelStatsDialog* _voxelStatsDialog;
SerialInterface _serialHeadSensor;
QNetworkAccessManager* _networkAccessManager;

View file

@ -38,9 +38,14 @@ Menu* Menu::getInstance() {
const ViewFrustumOffset DEFAULT_FRUSTUM_OFFSET = {-135.0f, 0.0f, 0.0f, 25.0f, 0.0f};
Menu::Menu() :
_actionHash(),
_audioJitterBufferSamples(0),
_bandwidthDialog(NULL),
_fieldOfView(DEFAULT_FIELD_OF_VIEW_DEGREES),
_frustumDrawMode(FRUSTUM_DRAW_MODE_ALL),
_viewFrustumOffset(DEFAULT_FRUSTUM_OFFSET)
_viewFrustumOffset(DEFAULT_FRUSTUM_OFFSET),
_voxelModeActionsGroup(NULL),
_voxelStatsDialog(NULL)
{
Application *appInstance = Application::getInstance();
@ -173,12 +178,9 @@ Menu::Menu() :
addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::Oscilloscope, 0, true);
addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::Bandwidth, 0, true);
addActionToQMenuAndActionHash(toolsMenu, MenuOption::BandwidthDetails, 0, this, SLOT(bandwidthDetails()));
addActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelStats, 0, this, SLOT(voxelStatsDetails()));
addActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelStats);
// toolsMenu->addAction("Voxel Stats Details", this, SLOT(voxelStatsDetails()));
QMenu* voxelMenu = addMenu("Voxels");
_voxelModeActionsGroup = new QActionGroup(this);
@ -655,6 +657,21 @@ void Menu::bandwidthDetailsClosed() {
_bandwidthDialog = NULL;
}
void Menu::voxelStatsDetails() {
if (!_voxelStatsDialog) {
_voxelStatsDialog = new VoxelStatsDialog(Application::getInstance()->getGLWidget(),
Application::getInstance()->getVoxelSceneStats());
connect(_voxelStatsDialog, SIGNAL(closed()), SLOT(voxelStatsDetailsClosed()));
_voxelStatsDialog->show();
}
_voxelStatsDialog->raise();
}
void Menu::voxelStatsDetailsClosed() {
delete _voxelStatsDialog;
_voxelStatsDialog = NULL;
}
void Menu::cycleFrustumRenderMode() {
_frustumDrawMode = (FrustumDrawMode)((_frustumDrawMode + 1) % FRUSTUM_DRAW_MODE_COUNT);
updateFrustumRenderModeAction();

View file

@ -47,6 +47,7 @@ public:
BandwidthDialog* getBandwidthDialog() const { return _bandwidthDialog; }
FrustumDrawMode getFrustumDrawMode() const { return _frustumDrawMode; }
ViewFrustumOffset getViewFrustumOffset() const { return _viewFrustumOffset; }
VoxelStatsDialog* getVoxelStatsDialog() const { return _voxelStatsDialog; }
void loadSettings(QSettings* settings = NULL);
void saveSettings(QSettings* settings = NULL);
@ -57,10 +58,12 @@ public:
public slots:
void bandwidthDetails();
void voxelStatsDetails();
private slots:
void editPreferences();
void bandwidthDetailsClosed();
void voxelStatsDetailsClosed();
void cycleFrustumRenderMode();
void chooseVoxelPaintColor();
@ -97,6 +100,7 @@ private:
float _gyroCameraSensitivity;
ViewFrustumOffset _viewFrustumOffset;
QActionGroup* _voxelModeActionsGroup;
VoxelStatsDialog* _voxelStatsDialog;
};
namespace MenuOption {