Window Size/Pos Tracking
This commit is contained in:
@@ -128,10 +128,30 @@ ProxGuiQT::~ProxGuiQT(void) {
|
||||
plotapp = NULL;
|
||||
}
|
||||
}
|
||||
void ProxGuiQT::SetWindowsPosition (void)
|
||||
{
|
||||
plotwidget->SetWindowsPosition ();
|
||||
|
||||
// -------------------------------------------------
|
||||
// Slider Widget form based on a class to enable
|
||||
// Event override functions
|
||||
// -------------------------------------------------
|
||||
|
||||
SliderWidget::SliderWidget() {
|
||||
// Set the initail postion and size from settings
|
||||
if (session.preferences_loaded)
|
||||
setGeometry (session.window_overlay_xpos,session.window_overlay_ypos,session.window_overlay_wsize,session.window_overlay_hsize);
|
||||
else
|
||||
resize(800, 400);
|
||||
}
|
||||
|
||||
void SliderWidget::resizeEvent (QResizeEvent *event) {
|
||||
session.window_overlay_hsize = event->size().height();
|
||||
session.window_overlay_wsize = event->size().width();
|
||||
}
|
||||
|
||||
void SliderWidget::moveEvent (QMoveEvent *event) {
|
||||
session.window_overlay_xpos = event->pos().x();
|
||||
session.window_overlay_ypos = event->pos().y();
|
||||
}
|
||||
|
||||
//--------------------
|
||||
void ProxWidget::applyOperation() {
|
||||
//printf("ApplyOperation()");
|
||||
@@ -179,7 +199,7 @@ ProxWidget::ProxWidget(QWidget *parent, ProxGuiQT *master) : QWidget(parent) {
|
||||
resize(800, 400);
|
||||
|
||||
// Setup the controller widget
|
||||
controlWidget = new QWidget();
|
||||
controlWidget = new SliderWidget ();//new QWidget();
|
||||
opsController = new Ui::Form();
|
||||
opsController->setupUi(controlWidget);
|
||||
//Due to quirks in QT Designer, we need to fiddle a bit
|
||||
@@ -192,7 +212,6 @@ ProxWidget::ProxWidget(QWidget *parent, ProxGuiQT *master) : QWidget(parent) {
|
||||
opsController->horizontalSlider_askedge->setValue(25);
|
||||
opsController->horizontalSlider_window->setValue(4000);
|
||||
|
||||
|
||||
QObject::connect(opsController->pushButton_apply, SIGNAL(clicked()), this, SLOT(applyOperation()));
|
||||
QObject::connect(opsController->pushButton_sticky, SIGNAL(clicked()), this, SLOT(stickOperation()));
|
||||
QObject::connect(opsController->horizontalSlider_window, SIGNAL(valueChanged(int)), this, SLOT(vchange_autocorr(int)));
|
||||
@@ -200,6 +219,8 @@ ProxWidget::ProxWidget(QWidget *parent, ProxGuiQT *master) : QWidget(parent) {
|
||||
QObject::connect(opsController->horizontalSlider_dirthr_down, SIGNAL(valueChanged(int)), this, SLOT(vchange_dthr_down(int)));
|
||||
QObject::connect(opsController->horizontalSlider_askedge, SIGNAL(valueChanged(int)), this, SLOT(vchange_askedge(int)));
|
||||
|
||||
controlWidget->setGeometry (session.window_overlay_xpos,session.window_overlay_ypos,session.window_overlay_wsize,session.window_overlay_hsize);
|
||||
|
||||
// Set up the plot widget, which does the actual plotting
|
||||
plot = new Plot(this);
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
@@ -213,9 +234,8 @@ ProxWidget::ProxWidget(QWidget *parent, ProxGuiQT *master) : QWidget(parent) {
|
||||
// shows plot window on the screen.
|
||||
show();
|
||||
|
||||
if (session.preferences_loaded)
|
||||
controlWidget->setGeometry (session.window_overlay_xpos,session.window_overlay_ypos,session.window_overlay_wsize,session.window_overlay_hsize);
|
||||
else {
|
||||
// Set Slider/Overlay position if no settings.
|
||||
if (!session.preferences_loaded){
|
||||
// Move controller widget below plot
|
||||
controlWidget->move(x(), y() + frameSize().height());
|
||||
controlWidget->resize(size().width(), 200);
|
||||
@@ -261,15 +281,14 @@ void ProxWidget::showEvent(QShowEvent *event) {
|
||||
controlWidget->show();
|
||||
plot->show();
|
||||
}
|
||||
void ProxWidget::SetWindowsPosition(void) {
|
||||
|
||||
// plotwidget->update();
|
||||
if (session.preferences_loaded) {
|
||||
setGeometry (session.window_plot_xpos,session.window_plot_ypos,session.window_plot_wsize,session.window_plot_hsize);
|
||||
controlWidget->setGeometry (session.window_overlay_xpos,session.window_overlay_ypos,session.window_overlay_wsize,session.window_overlay_hsize);
|
||||
update();
|
||||
controlWidget->update();
|
||||
}
|
||||
void ProxWidget::moveEvent(QMoveEvent *event) {
|
||||
session.window_plot_xpos = event->pos().x();
|
||||
session.window_plot_ypos = event->pos().y();
|
||||
|
||||
}
|
||||
void ProxWidget::resizeEvent(QResizeEvent *event) {
|
||||
session.window_plot_hsize = event->size().height();
|
||||
session.window_plot_wsize = event->size().width();
|
||||
}
|
||||
|
||||
//----------- Plotting
|
||||
|
||||
Reference in New Issue
Block a user