|
@@ -7,9 +7,11 @@ ControlOperationPage::ControlOperationPage(QWidget* parent)
|
|
|
, ui(new Ui::ControlOperationPage)
|
|
|
{
|
|
|
ui->setupUi(this);
|
|
|
+ m_isEnable = false;
|
|
|
|
|
|
|
|
|
InitWnd();
|
|
|
+ initForm();
|
|
|
}
|
|
|
|
|
|
ControlOperationPage::~ControlOperationPage()
|
|
@@ -22,15 +24,21 @@ void ControlOperationPage::updateOperateWidget(const QPixmap& pixmap) {
|
|
|
QPixmap scaledPixmap = pixmap.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
|
|
|
|
|
clearLayout();
|
|
|
-
|
|
|
- ui->Operatewidget->setPixmap(scaledPixmap);
|
|
|
+ ImageView* customView = new ImageView(ui->Operatewidget);
|
|
|
+ customView->setPixmap(scaledPixmap);
|
|
|
+ QVBoxLayout* layout = new QVBoxLayout(ui->Operatewidget);
|
|
|
+ layout->setContentsMargins(0, 0, 0, 0);
|
|
|
+ layout->addWidget(customView);
|
|
|
+ ui->Operatewidget->setLayout(layout);
|
|
|
+
|
|
|
m_currentPixmap = scaledPixmap;
|
|
|
m_scaleFactor = 1.0;
|
|
|
m_previousScaleFactor = 1.0;
|
|
|
ui->label_Percentage->setText("100%");
|
|
|
|
|
|
- m_currentMode = ModeImage;
|
|
|
-
|
|
|
+
|
|
|
+ m_currentImageView = customView;
|
|
|
+ applyScale();
|
|
|
}
|
|
|
|
|
|
void ControlOperationPage::setDataSources(const QStringList& textList) {
|
|
@@ -85,15 +93,12 @@ void ControlOperationPage::updateScale(double newScaleFactor)
|
|
|
|
|
|
void ControlOperationPage::applyScale()
|
|
|
{
|
|
|
- if (m_currentMode == ModeImage)
|
|
|
+ if (m_currentMode == ModeImage && m_currentImageView)
|
|
|
{
|
|
|
|
|
|
- int newWidth = m_currentPixmap.width() * m_scaleFactor;
|
|
|
- int newHeight = m_currentPixmap.height() * m_scaleFactor;
|
|
|
-
|
|
|
- QPixmap scaledImage = m_currentPixmap.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
|
|
- ui->Operatewidget->setPixmapAndPoint(scaledImage, m_previousScaleFactor, m_scaleFactor, m_mousePos);
|
|
|
- m_previousScaleFactor = m_scaleFactor;
|
|
|
+ QTransform transform;
|
|
|
+ transform.scale(m_scaleFactor, m_scaleFactor);
|
|
|
+ m_currentImageView->setTransform(transform);
|
|
|
}
|
|
|
else if (m_currentMode == ModeView && m_currentView)
|
|
|
{
|
|
@@ -110,10 +115,11 @@ void ControlOperationPage::applyScale()
|
|
|
}
|
|
|
|
|
|
void ControlOperationPage::handleDoubleClick() {
|
|
|
- if (m_currentMode == ModeImage)
|
|
|
+ if (m_currentMode == ModeImage && m_currentImageView)
|
|
|
{
|
|
|
- QPixmap scaledImage = m_currentPixmap.scaled(m_currentPixmap.width(), m_currentPixmap.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
|
|
- ui->Operatewidget->setPixmap(scaledImage);
|
|
|
+ QTransform transform;
|
|
|
+ transform.scale(1, 1);
|
|
|
+ m_currentImageView->setTransform(transform);
|
|
|
}
|
|
|
else if (m_currentMode == ModeView && m_currentView)
|
|
|
{
|
|
@@ -232,7 +238,7 @@ ImageWidget* ControlOperationPage::getOperatewidget()
|
|
|
void ControlOperationPage::resizeSingleUI(bool bMax )
|
|
|
{
|
|
|
ui->DataSources->setGeometry(QRect(20, 20, 400, 32));
|
|
|
- ui->Operatewidget->setGeometry(QRect(5, 5, 786, 786));
|
|
|
+ ui->Operatewidget->setGeometry(QRect(20, 72, 786, 786));
|
|
|
|
|
|
ui->LiveButton->setGeometry(QRect(436, 20, 60, 32));
|
|
|
ui->horizontalLayout_2->setGeometry(QRect(12, 882, 786, 32));
|
|
@@ -263,12 +269,21 @@ qreal ControlOperationPage::getScaleFactorValue() {
|
|
|
return m_scaleFactor;
|
|
|
}
|
|
|
void ControlOperationPage::setScaleFactorSize(QPixmap scaledImage) {
|
|
|
- int newWidth = scaledImage.width() * m_scaleFactor;
|
|
|
- int newHeight = scaledImage.height() * m_scaleFactor;
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- QPixmap curr_scaledImage = scaledImage.scaled(newWidth, newHeight, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
|
|
- ui->Operatewidget->setPixmapAndPoint(curr_scaledImage, m_previousScaleFactor, m_scaleFactor, m_mousePos);
|
|
|
- ui->Operatewidget->setPixmap(curr_scaledImage);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (m_currentImageView == nullptr) {
|
|
|
+ updateOperateWidget(scaledImage);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ QSize size = ui->Operatewidget->size();
|
|
|
+ QPixmap scaledPixmap = scaledImage.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
|
|
+ m_currentImageView->setCurPixmap(scaledPixmap);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -289,6 +304,7 @@ void ControlOperationPage::UpDateCameraBind(CameraBind* pCameraBind)
|
|
|
|
|
|
void ControlOperationPage::setSwitchJoystickButEnable(bool isEnable)
|
|
|
{
|
|
|
+ ui->switchJoystickBut->setEnabled(isEnable);
|
|
|
if (isEnable == false)
|
|
|
{
|
|
|
ResetIdleTimer(false);
|
|
@@ -595,3 +611,59 @@ void ControlOperationPage::setBlueBord() {
|
|
|
ui->BackGround->setStyleSheet(QString::fromUtf8("border: 4px solid blue;"));
|
|
|
}
|
|
|
|
|
|
+void ControlOperationPage::on_RulerButton_clicked()
|
|
|
+{
|
|
|
+ if (m_currentMode == ModeImage) {
|
|
|
+ if (m_currentImageView->rulerVisibale()) {
|
|
|
+ m_currentImageView->endRuler();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ m_currentImageView->startRuler();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ControlOperationPage::on_PenButton_clicked() {
|
|
|
+ m_isEnable = !m_isEnable;
|
|
|
+
|
|
|
+ if (m_isEnable) {
|
|
|
+
|
|
|
+ m_currentImageView->setIsDrawing(true);
|
|
|
+ ui->PenButton->setStyleSheet("QPushButton { background-color: #808FFF; }");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+
|
|
|
+ m_currentImageView->setIsDrawing(false);
|
|
|
+ ui->PenButton->setStyleSheet("QPushButton { background-color: none; }");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ControlOperationPage::SaveNewImage()
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|