ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
FileRunner.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <QDialog>
11 
12 namespace Ui
13 {
14 class FileRunner;
15 }
16 
18 class PythonInterpreter;
19 
22 class FileRunner final : public QDialog
23 {
24  Q_OBJECT
25 
26  public:
27  explicit FileRunner(PythonInterpreter *interp, QWidget *parent = nullptr);
28 
29  FileRunner(const FileRunner &) = delete;
30  FileRunner operator=(const FileRunner &) = delete;
31  FileRunner(FileRunner &&) = delete;
33  ~FileRunner() noexcept override;
34 
35  private Q_SLOTS:
36  void selectFile();
37  void runFile() const;
38  void pythonExecutionStarted();
39  void pythonExecutionEnded();
40 
41  protected:
42  void resizeEvent(QResizeEvent *event) override;
43 
44  private:
45  PythonInterpreter *m_interpreter;
46  WaitingSpinnerWidget *m_busyWidget;
47  Ui::FileRunner *m_ui;
48  QString m_filePath;
49 };
MouseEvent event
FileRunner(const FileRunner &)=delete
void resizeEvent(QResizeEvent *event) override
Definition: FileRunner.cpp:72
~FileRunner() noexcept override
Definition: FileRunner.cpp:67
FileRunner operator=(FileRunner &&)=delete
FileRunner(PythonInterpreter *interp, QWidget *parent=nullptr)
Definition: FileRunner.cpp:19
FileRunner operator=(const FileRunner &)=delete
FileRunner(FileRunner &&)=delete