8 Window::Window(QWidget *parent) :
11 setWindowTitle("fstl");
14 format.setVersion(2, 1);
15 format.setSampleBuffers(true);
17 canvas = new Canvas(format, this);
18 setCentralWidget(canvas);
20 QAction* open_action = new QAction("Open", this);
21 open_action->setShortcut(QKeySequence::Open);
22 QObject::connect(open_action, SIGNAL(triggered()),
23 this, SLOT(on_open()));
25 QAction* quit_action = new QAction("Quit", this);
26 quit_action->setShortcut(QKeySequence::Quit);
27 QObject::connect(quit_action, SIGNAL(triggered()),
30 auto file_menu = menuBar()->addMenu("File");
31 file_menu->addAction(open_action);
32 file_menu->addAction(quit_action);
37 void Window::on_open()
39 QString filename = QFileDialog::getOpenFileName(
40 this, "Load .stl file", QString(), "*.stl");
41 if (not filename.isNull())
47 void Window::load_stl(const QString &filename)
49 Loader* loader = new Loader(this, filename);
50 connect(loader, SIGNAL(got_mesh(Mesh*)),
51 canvas, SLOT(load_mesh(Mesh*)));
52 connect(loader, SIGNAL(finished()),
53 loader, SLOT(deleteLater()));