git-svn-id: svn://db.shs.com.ru/libs@68 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2015-12-10 14:42:56 +00:00
parent 30ea938f38
commit 8f0c371a96
15 changed files with 221 additions and 26 deletions

View File

@@ -148,11 +148,11 @@ void MainWindow::importFile(const QString & path) {
QApplication::setOverrideCursor(Qt::WaitCursor);
QFileInfo fi(path);
GLObjectBase * o = 0;
if (fi.completeSuffix().toLower() == "qgl") o = loadFromQGLFile(path);
if (fi.completeSuffix().toLower() == "ase") o = loadFromASEFile(path);
if (fi.completeSuffix().toLower() == "3ds") o = loadFrom3DSFile(path);
if (fi.completeSuffix().toLower() == "obj") o = loadFromOBJFile(path);
if (fi.completeSuffix().toLower() == "dae") o = loadFromDAEFile(path);
if (fi.suffix().toLower() == "qgl") o = loadFromQGLFile(path);
if (fi.suffix().toLower() == "ase") o = loadFromASEFile(path);
if (fi.suffix().toLower() == "3ds") o = loadFrom3DSFile(path);
if (fi.suffix().toLower() == "obj") o = loadFromOBJFile(path);
if (fi.suffix().toLower() == "dae") o = loadFromDAEFile(path);
QApplication::restoreOverrideCursor();
if (!o) {
QMessageBox::critical(this, "Import", "Can`t load " + path + "!");
@@ -251,6 +251,17 @@ void MainWindow::on_actionSave_triggered() {
}
void MainWindow::on_actionSaveSelected_triggered() {
if (!sel_obj) return;
QString f = QFileDialog::getSaveFileName(this, "Select file", prev_path, "QGLView(*.qgl)");
if (f.isEmpty()) return;
if (f.right(4).toLower() != ".qgl")
f += ".qgl";
prev_path = f;
saveToQGLFile(f, sel_obj);
}
void MainWindow::on_actionOpen_triggered() {
QString f = QFileDialog::getOpenFileName(this, "Select file", prev_path, "Supported types(*.qgl *.ase *.3ds *.obj *.dae);;"
"QGLView(*.qgl);;"
@@ -281,12 +292,15 @@ void MainWindow::on_view_keyEvent(Qt::Key k, Qt::KeyboardModifiers m) {
void MainWindow::on_treeObjects_itemClicked(QTreeWidgetItem * ti, int col) {
((GLObjectBase*)(ti->data(0, Qt::UserRole).toULongLong()))->select();
if (sel_obj->type() == GLObjectBase::glCamera)
view->setCamera(*(Camera*)sel_obj);
}
void MainWindow::objectsTreeChanged() {
treeObjects->clear();
makeObjetTree(&(view->rootObject()), treeObjects->invisibleRootItem());
treeObjects->expandAll();
}