| 512 return; |
510 return; |
| 513 } |
511 } |
| 514 |
512 |
| 515 file->setImplicit (false); |
513 file->setImplicit (false); |
| 516 setCurrentFile (file); |
514 setCurrentFile (file); |
| 517 |
|
| 518 // Recalculate the bounding box |
|
| 519 g_BBox.calculate(); |
|
| 520 |
515 |
| 521 // Rebuild the object tree view now. |
516 // Rebuild the object tree view now. |
| 522 g_win->fullRefresh(); |
517 g_win->fullRefresh(); |
| 523 g_win->updateTitle(); |
518 g_win->updateTitle(); |
| 524 g_win->R()->setFile (file); |
519 g_win->R()->setFile (file); |
| 809 PROP_NAME (objs) << obj; |
804 PROP_NAME (objs) << obj; |
| 810 |
805 |
| 811 if (obj->getType() == LDObject::Vertex) |
806 if (obj->getType() == LDObject::Vertex) |
| 812 PROP_NAME (vertices) << obj; |
807 PROP_NAME (vertices) << obj; |
| 813 |
808 |
| 814 if (this == currentFile()) |
|
| 815 g_BBox.calcObject (obj); |
|
| 816 |
|
| 817 return numObjs() - 1; |
809 return numObjs() - 1; |
| 818 } |
810 } |
| 819 |
811 |
| 820 // ============================================================================= |
812 // ============================================================================= |
| 821 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
813 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
| 822 // ============================================================================= |
814 // ============================================================================= |
| 823 void LDOpenFile::insertObj (const ulong pos, LDObject* obj) { |
815 void LDOpenFile::insertObj (const ulong pos, LDObject* obj) { |
| 824 m_history.add (new AddHistory (pos, obj)); |
816 m_history.add (new AddHistory (pos, obj)); |
| 825 m_objs.insert (pos, obj); |
817 m_objs.insert (pos, obj); |
| 826 |
|
| 827 if (this == currentFile()) |
|
| 828 g_BBox.calcObject (obj); |
|
| 829 } |
818 } |
| 830 |
819 |
| 831 // ============================================================================= |
820 // ============================================================================= |
| 832 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
821 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
| 833 // ============================================================================= |
822 // ============================================================================= |
| 834 void LDOpenFile::forgetObject (LDObject* obj) { |
823 void LDOpenFile::forgetObject (LDObject* obj) { |
| 835 ulong idx = obj->getIndex (this); |
824 ulong idx = obj->getIndex (this); |
| 836 m_history.add (new DelHistory (idx, obj)); |
825 m_history.add (new DelHistory (idx, obj)); |
| 837 m_objs.erase (idx); |
826 m_objs.erase (idx); |
| 838 |
|
| 839 // Update the bounding box |
|
| 840 if (this == currentFile()) |
|
| 841 g_BBox.calculate (); |
|
| 842 } |
827 } |
| 843 |
828 |
| 844 // ============================================================================= |
829 // ============================================================================= |
| 845 bool safeToCloseAll () { |
830 bool safeToCloseAll () { |
| 846 for (LDOpenFile* f : g_loadedFiles) |
831 for (LDOpenFile* f : g_loadedFiles) |