Added save and set scroll bars value when user change current scene.
This commit is contained in:
parent
ba1433e83f
commit
6229e4f6bd
|
@ -620,8 +620,20 @@ void MainWindow::keyPressEvent ( QKeyEvent * event ){
|
||||||
void MainWindow::ActionDraw(bool checked){
|
void MainWindow::ActionDraw(bool checked){
|
||||||
if(checked){
|
if(checked){
|
||||||
ui->actionDetails->setChecked(false);
|
ui->actionDetails->setChecked(false);
|
||||||
|
/*Save scroll bars value for previous scene.*/
|
||||||
|
QScrollBar *horScrollBar = view->horizontalScrollBar();
|
||||||
|
currentScene->setHorScrollBar(horScrollBar->value());
|
||||||
|
QScrollBar *verScrollBar = view->verticalScrollBar();
|
||||||
|
currentScene->setVerScrollBar(verScrollBar->value());
|
||||||
|
|
||||||
currentScene = sceneDraw;
|
currentScene = sceneDraw;
|
||||||
view->setScene(currentScene);
|
view->setScene(currentScene);
|
||||||
|
/*Set value for current scene scroll bar.*/
|
||||||
|
horScrollBar = view->horizontalScrollBar();
|
||||||
|
horScrollBar->setValue(currentScene->getHorScrollBar());
|
||||||
|
verScrollBar = view->verticalScrollBar();
|
||||||
|
verScrollBar->setValue(currentScene->getVerScrollBar());
|
||||||
|
|
||||||
mode = Draw::Calculation;
|
mode = Draw::Calculation;
|
||||||
doc->setCurrentData();
|
doc->setCurrentData();
|
||||||
} else {
|
} else {
|
||||||
|
@ -632,8 +644,19 @@ void MainWindow::ActionDraw(bool checked){
|
||||||
void MainWindow::ActionDetails(bool checked){
|
void MainWindow::ActionDetails(bool checked){
|
||||||
if(checked){
|
if(checked){
|
||||||
ui->actionDraw->setChecked(false);
|
ui->actionDraw->setChecked(false);
|
||||||
|
/*Save scroll bars value for previous scene.*/
|
||||||
|
QScrollBar *horScrollBar = view->horizontalScrollBar();
|
||||||
|
currentScene->setHorScrollBar(horScrollBar->value());
|
||||||
|
QScrollBar *verScrollBar = view->verticalScrollBar();
|
||||||
|
currentScene->setVerScrollBar(verScrollBar->value());
|
||||||
|
|
||||||
currentScene = sceneDetails;
|
currentScene = sceneDetails;
|
||||||
view->setScene(sceneDetails);
|
view->setScene(sceneDetails);
|
||||||
|
/*Set value for current scene scroll bar.*/
|
||||||
|
horScrollBar = view->horizontalScrollBar();
|
||||||
|
horScrollBar->setValue(currentScene->getHorScrollBar());
|
||||||
|
verScrollBar = view->verticalScrollBar();
|
||||||
|
verScrollBar->setValue(currentScene->getVerScrollBar());
|
||||||
mode = Draw::Modeling;
|
mode = Draw::Modeling;
|
||||||
} else {
|
} else {
|
||||||
ui->actionDetails->setChecked(true);
|
ui->actionDetails->setChecked(true);
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QGraphicsItem>
|
#include <QGraphicsItem>
|
||||||
|
|
||||||
VMainGraphicsScene::VMainGraphicsScene():QGraphicsScene(){
|
VMainGraphicsScene::VMainGraphicsScene():QGraphicsScene(), horScrollBar(0), verScrollBar(0){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VMainGraphicsScene::VMainGraphicsScene(const QRectF & sceneRect, QObject * parent):
|
||||||
VMainGraphicsScene::VMainGraphicsScene(const QRectF & sceneRect, QObject * parent):QGraphicsScene ( sceneRect, parent ){
|
QGraphicsScene ( sceneRect, parent ), horScrollBar(0), verScrollBar(0){
|
||||||
}
|
}
|
||||||
|
|
||||||
void VMainGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent* event){
|
void VMainGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent* event){
|
||||||
|
@ -28,3 +28,19 @@ void VMainGraphicsScene::ChoosedItem(qint64 id, Scene::Type type){
|
||||||
void VMainGraphicsScene::RemoveTool(QGraphicsItem *tool){
|
void VMainGraphicsScene::RemoveTool(QGraphicsItem *tool){
|
||||||
this->removeItem(tool);
|
this->removeItem(tool);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qint32 VMainGraphicsScene::getVerScrollBar() const{
|
||||||
|
return verScrollBar;
|
||||||
|
}
|
||||||
|
|
||||||
|
void VMainGraphicsScene::setVerScrollBar(const qint32 &value){
|
||||||
|
verScrollBar = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
qint32 VMainGraphicsScene::getHorScrollBar() const{
|
||||||
|
return horScrollBar;
|
||||||
|
}
|
||||||
|
|
||||||
|
void VMainGraphicsScene::setHorScrollBar(const qint32 &value){
|
||||||
|
horScrollBar = value;
|
||||||
|
}
|
||||||
|
|
|
@ -12,6 +12,12 @@ class VMainGraphicsScene : public QGraphicsScene
|
||||||
public:
|
public:
|
||||||
VMainGraphicsScene();
|
VMainGraphicsScene();
|
||||||
VMainGraphicsScene(const QRectF & sceneRect, QObject * parent = 0);
|
VMainGraphicsScene(const QRectF & sceneRect, QObject * parent = 0);
|
||||||
|
qint32 getHorScrollBar() const;
|
||||||
|
void setHorScrollBar(const qint32 &value);
|
||||||
|
|
||||||
|
qint32 getVerScrollBar() const;
|
||||||
|
void setVerScrollBar(const qint32 &value);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void ChoosedItem(qint64 id, Scene::Type type);
|
void ChoosedItem(qint64 id, Scene::Type type);
|
||||||
void RemoveTool(QGraphicsItem *tool);
|
void RemoveTool(QGraphicsItem *tool);
|
||||||
|
@ -22,6 +28,9 @@ signals:
|
||||||
void mouseMove(QPointF scenePos);
|
void mouseMove(QPointF scenePos);
|
||||||
void mousePress(QPointF scenePos);
|
void mousePress(QPointF scenePos);
|
||||||
void ChoosedObject(qint64 id, Scene::Type type);
|
void ChoosedObject(qint64 id, Scene::Type type);
|
||||||
|
private:
|
||||||
|
qint32 horScrollBar;
|
||||||
|
qint32 verScrollBar;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VMAINGRAPHICSSCENE_H
|
#endif // VMAINGRAPHICSSCENE_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user