// TODO: When the switchover to the new GUI is complete, this function should go away // and be replaced with a call to Inkscape::NSApplication::Editor::createDesktop. // It currently only exists to correctly mimic the desktop creation functionality // in file.cpp. // // \see sp_file_new SPDesktop* makeInkboardDesktop(SPDocument* doc) { SPDesktop* dt; if (NSApplication::Application::getNewGui()) dt = NSApplication::Editor::createDesktop(doc); else { SPViewWidget *dtw = sp_desktop_widget_new(sp_document_namedview(doc, NULL)); g_return_val_if_fail(dtw != NULL, NULL); sp_document_unref(doc); sp_create_window(dtw, TRUE); dt = static_cast<SPDesktop*>(dtw->view); sp_namedview_window_from_document(dt); sp_namedview_update_layers_from_document(dt); } return dt; }
void TemplateWidget::create() { if (_current_template.display_name == "") return; if (_current_template.is_procedural){ SPDesktop *desktop = SP_ACTIVE_DESKTOP; SPDesktop *desc = sp_file_new_default(); _current_template.tpl_effect->effect(desc); DocumentUndo::clearUndo(sp_desktop_document(desc)); sp_desktop_document(desc)->setModifiedSinceSave(false); // Apply cx,cy etc. from document sp_namedview_window_from_document( desc ); if (desktop) desktop->clearWaitingCursor(); } else { sp_file_new(_current_template.path); } }