diff --git a/umbrello/CMakeLists.txt b/umbrello/CMakeLists.txt index 82e39959d..357d0bfe8 100644 --- a/umbrello/CMakeLists.txt +++ b/umbrello/CMakeLists.txt @@ -1,679 +1,673 @@ add_subdirectory( headings ) +add_subdirectory(docgenerators) if(ENABLE_OBJECT_DIAGRAM) set(ACTION_NEW_OBJECT_DIAGRAM "") endif() configure_file(umbrelloui.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/umbrelloui.rc @ONLY) if(BUILD_KF5) configure_file(ui.qrc.cmake ${CMAKE_CURRENT_BINARY_DIR}/ui.qrc @ONLY) endif() ########### set variables ############# # php import support requires kdevplatform and kdev-php # which does not compile without NO_CAST_XX_ASCII if(NOT BUILD_PHP_IMPORT) add_definitions(-DQT_NO_CAST_TO_ASCII) add_definitions(-DQT_NO_CAST_FROM_ASCII) endif() # Some definitions for experimental code or debugging # TODO migrate debug settings to DEBUG_REGISTER macro #add_definitions(-DXMI_FLAT_PACKAGES) # umlobject #add_definitions(-DDEBUG_LVITEM_INSERTION_ORDER) # umllistviewitem #add_definitions(-DTRY_BUGFIX_120682) # model_utils #add_definitions(-DVERBOSE_DEBUGGING) # listpopupmenu, association, petaltree2uml, # umlobject, umldoc, classifierlistpage if(UNIX) add_definitions(-D_GLIBCXX_PERMIT_BACKWARD_HASH) endif() add_definitions(-DCMAKE_BINARY_DIR="${CMAKE_BINARY_DIR}") add_definitions(-DDOCGENERATORS_DIR="${CMAKE_SOURCE_DIR}/umbrello/docgenerators") add_definitions(-DUMBRELLOUI_RC="${CMAKE_CURRENT_BINARY_DIR}/umbrelloui.rc") include_directories( ${LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/ ${CMAKE_CURRENT_SOURCE_DIR}/clipboard/ ${CMAKE_CURRENT_SOURCE_DIR}/cmds ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/ada/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/as/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/cpp/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/csharp/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/d/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/idl/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/java/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/js/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/pascal/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/perl/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/php/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/python/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/ruby/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/sql/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/tcl/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/vala/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/xml/ ${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/ ${CMAKE_CURRENT_SOURCE_DIR}/codeimport/ ${CMAKE_CURRENT_SOURCE_DIR}/codeimport/csharp/ ${CMAKE_CURRENT_SOURCE_DIR}/codeimpwizard/ ${CMAKE_CURRENT_SOURCE_DIR}/debug/ ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/ ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/pages/ ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/widgets/ ${CMAKE_CURRENT_SOURCE_DIR}/docgenerators/ ${CMAKE_CURRENT_SOURCE_DIR}/finder/ ${CMAKE_CURRENT_SOURCE_DIR}/refactoring/ ${CMAKE_CURRENT_SOURCE_DIR}/uml1model/ ${CMAKE_CURRENT_SOURCE_DIR}/umlwidgets/ ${CMAKE_CURRENT_SOURCE_DIR}/menus ${CMAKE_SOURCE_DIR}/lib/cppparser/ ${CMAKE_SOURCE_DIR}/lib/interfaces/ ) set(libdebug_SRCS debug/debug_utils.cpp ) set(libcodegenerator_SRCS codegenerators/advancedcodegenerator.cpp codegenerators/classifiercodedocument.cpp codegenerators/codeaccessormethod.cpp codegenerators/codeblock.cpp codegenerators/codeblockwithcomments.cpp codegenerators/codeclassfield.cpp codegenerators/codeclassfielddeclarationblock.cpp codegenerators/codecomment.cpp codegenerators/codedocument.cpp codegenerators/codegenerationpolicy.cpp codegenerators/codegenerator.cpp codegenerators/codegenfactory.cpp codegenerators/codegenobjectwithtextblocks.cpp codegenerators/codegenpolicyext.cpp codegenerators/codegen_utils.cpp codegenerators/codemethodblock.cpp codegenerators/codeoperation.cpp codegenerators/codeparameter.cpp codegenerators/ada/adawriter.cpp codegenerators/as/aswriter.cpp codegenerators/cpp/cppcodeclassfield.cpp codegenerators/cpp/cppcodecomment.cpp codegenerators/cpp/cppcodedocumentation.cpp codegenerators/cpp/cppcodegenerationform.cpp codegenerators/cpp/cppcodegenerationpolicy.cpp codegenerators/cpp/cppcodegenerationpolicypage.cpp codegenerators/cpp/cppcodegenerator.cpp codegenerators/cpp/cppheaderclassdeclarationblock.cpp codegenerators/cpp/cppheadercodeaccessormethod.cpp codegenerators/cpp/cppheadercodeclassfielddeclarationblock.cpp codegenerators/cpp/cppheadercodedocument.cpp codegenerators/cpp/cppheadercodeoperation.cpp codegenerators/cpp/cppmakecodedocument.cpp codegenerators/cpp/cppsourcecodeaccessormethod.cpp codegenerators/cpp/cppsourcecodeclassfielddeclarationblock.cpp codegenerators/cpp/cppsourcecodedocument.cpp codegenerators/cpp/cppsourcecodeoperation.cpp codegenerators/cpp/cppwriter.cpp codegenerators/csharp/csharpwriter.cpp codegenerators/d/dclassdeclarationblock.cpp codegenerators/d/dclassifiercodedocument.cpp codegenerators/d/dcodeaccessormethod.cpp codegenerators/d/dcodeclassfield.cpp codegenerators/d/dcodeclassfielddeclarationblock.cpp codegenerators/d/dcodecomment.cpp codegenerators/d/dcodedocumentation.cpp codegenerators/d/dcodegenerationpolicy.cpp codegenerators/d/dcodegenerationpolicypage.cpp codegenerators/d/dcodegenerator.cpp codegenerators/d/dcodeoperation.cpp codegenerators/d/dwriter.cpp codegenerators/hierarchicalcodeblock.cpp codegenerators/idl/idlwriter.cpp codegenerators/java/javaantcodedocument.cpp codegenerators/java/javaclassdeclarationblock.cpp codegenerators/java/javaclassifiercodedocument.cpp codegenerators/java/javacodeaccessormethod.cpp codegenerators/java/javacodeclassfield.cpp codegenerators/java/javacodeclassfielddeclarationblock.cpp codegenerators/java/javacodecomment.cpp codegenerators/java/javacodedocumentation.cpp codegenerators/java/javacodegenerationpolicy.cpp codegenerators/java/javacodegenerationpolicypage.cpp codegenerators/java/javacodegenerator.cpp codegenerators/java/javacodeoperation.cpp codegenerators/java/javawriter.cpp codegenerators/js/jswriter.cpp codegenerators/ownedcodeblock.cpp codegenerators/ownedhierarchicalcodeblock.cpp codegenerators/pascal/pascalwriter.cpp codegenerators/perl/perlwriter.cpp codegenerators/php/php5writer.cpp codegenerators/php/phpwriter.cpp codegenerators/python/pythonwriter.cpp codegenerators/ruby/rubyclassdeclarationblock.cpp codegenerators/ruby/rubyclassifiercodedocument.cpp codegenerators/ruby/rubycodeaccessormethod.cpp codegenerators/ruby/rubycodeclassfield.cpp codegenerators/ruby/rubycodeclassfielddeclarationblock.cpp codegenerators/ruby/rubycodecomment.cpp codegenerators/ruby/rubycodedocumentation.cpp codegenerators/ruby/rubycodegenerationpolicy.cpp codegenerators/ruby/rubycodegenerationpolicypage.cpp codegenerators/ruby/rubycodegenerator.cpp codegenerators/ruby/rubycodeoperation.cpp codegenerators/ruby/rubywriter.cpp codegenerators/simplecodegenerator.cpp codegenerators/sql/mysqlwriter.cpp codegenerators/sql/postgresqlwriter.cpp codegenerators/sql/sqlwriter.cpp codegenerators/tcl/tclwriter.cpp codegenerators/textblock.cpp codegenerators/vala/valawriter.cpp codegenerators/xml/xmlcodecomment.cpp codegenerators/xml/xmlelementcodeblock.cpp codegenerators/xml/xmlschemawriter.cpp ) ki18n_wrap_ui( libcodegenerator_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/cpp/cppcodegenerationformbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/d/dcodegenerationformbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/java/javacodegenerationformbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/codegenerators/ruby/rubycodegenerationformbase.ui ) set(libdocgenerator_SRCS docgenerators/docbook2xhtmlgeneratorjob.cpp docgenerators/docbookgenerator.cpp docgenerators/docbookgeneratorjob.cpp docgenerators/xhtmlgenerator.cpp ) set(libdialogs_SRCS dialogs/activitydialog.cpp dialogs/associationpropertiesdialog.cpp dialogs/classpropertiesdialog.cpp dialogs/classwizard.cpp dialogs/codeeditor.cpp dialogs/codetextedit.cpp dialogs/codetexthighlighter.cpp dialogs/codeviewerdialog.cpp dialogs/diagramselectiondialog.cpp dialogs/dialog_utils.cpp dialogs/dontaskagain.cpp dialogs/exportallviewsdialog.cpp dialogs/finddialog.cpp dialogs/messagewidgetpropertiesdialog.cpp dialogs/multipagedialogbase.cpp dialogs/notedialog.cpp dialogs/objectnodedialog.cpp dialogs/overwritedialog.cpp dialogs/parameterpropertiesdialog.cpp dialogs/selectoperationdialog.cpp dialogs/settingsdialog.cpp dialogs/singlepagedialogbase.cpp dialogs/statedialog.cpp dialogs/umlattributedialog.cpp dialogs/umlinstanceattributedialog.cpp dialogs/umlcheckconstraintdialog.cpp dialogs/umlentityattributedialog.cpp dialogs/umlenumliteraldialog.cpp dialogs/umlfiledialog.cpp dialogs/umlforeignkeyconstraintdialog.cpp dialogs/umloperationdialog.cpp dialogs/umlroledialog.cpp dialogs/umltemplatedialog.cpp dialogs/umluniqueconstraintdialog.cpp dialogs/umlviewdialog.cpp dialogs/pages/activitypage.cpp dialogs/pages/notepage.cpp dialogs/pages/associationgeneralpage.cpp dialogs/pages/associationrolepage.cpp dialogs/pages/autolayoutoptionpage.cpp dialogs/pages/classassociationspage.cpp dialogs/pages/classgeneralpage.cpp dialogs/pages/classifierlistpage.cpp dialogs/pages/classoptionspage.cpp dialogs/pages/codegenerationpolicypage.cpp dialogs/pages/codeimportoptionspage.cpp dialogs/pages/codevieweroptionspage.cpp dialogs/pages/constraintlistpage.cpp dialogs/pages/defaultcodegenpolicypage.cpp dialogs/pages/diagramprintpage.cpp dialogs/pages/diagrampropertiespage.cpp dialogs/pages/dialogpagebase.cpp dialogs/pages/generaloptionpage.cpp dialogs/pages/packagecontentspage.cpp dialogs/pages/selectoperationpage.cpp dialogs/pages/uioptionspage.cpp dialogs/pages/umlroleproperties.cpp dialogs/pages/umlwidgetstylepage.cpp dialogs/widgets/documentationwidget.cpp dialogs/widgets/imagetypewidget.cpp dialogs/widgets/resolutionwidget.cpp dialogs/widgets/umlartifacttypewidget.cpp dialogs/widgets/umldatatypewidget.cpp dialogs/widgets/defaultvaluewidget.cpp dialogs/widgets/umlobjectnamewidget.cpp dialogs/widgets/umlpackagewidget.cpp dialogs/widgets/umlstereotypewidget.cpp dialogs/widgets/visibilityenumwidget.cpp ) ki18n_wrap_ui( libdialogs_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/codeviewerdialogbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/codevieweroptionsbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/exportallviewsdialogbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/finddialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/pages/autolayoutoptionpage.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/pages/codeimportoptionspage.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/pages/diagrampropertiespage.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/pages/umlrolepropertiesbase.ui ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/umlinstanceattributedialog.ui ) set(librefactoring_SRCS refactoring/refactoringassistant.cpp ) set(libcodegenwizard_SRCS codegenwizard/codegenerationwizard.cpp codegenwizard/codegenoptionspage.cpp codegenwizard/codegenselectpage.cpp codegenwizard/codegenstatuspage.cpp ) ki18n_wrap_ui( libcodegenwizard_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/codegenoptionspage.ui ${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/codegenselectpage.ui ${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/codegenstatuspage.ui ) set(libcodeimpwizard_SRCS codeimpwizard/codeimportingwizard.cpp codeimpwizard/codeimpselectpage.cpp codeimpwizard/codeimpstatuspage.cpp codeimpwizard/codeimpthread.cpp ) ki18n_wrap_ui( libcodeimpwizard_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/codeimpwizard/codeimpselectpage.ui ${CMAKE_CURRENT_SOURCE_DIR}/codeimpwizard/codeimpstatuspage.ui ) set(libcodeimport_SRCS codeimport/adaimport.cpp codeimport/classimport.cpp codeimport/idlimport.cpp codeimport/import_utils.cpp codeimport/javaimport.cpp codeimport/nativeimportbase.cpp codeimport/pascalimport.cpp codeimport/pythonimport.cpp codeimport/sqlimport.cpp codeimport/csharp/csharpimport.cpp ) if(BUILD_PHP_IMPORT) list(APPEND libcodeimport_SRCS codeimport/phpimport.cpp ) endif() list(APPEND libcodeimport_SRCS codeimport/cppimport.cpp ) set(libkdevcppparser_SRCS ${CMAKE_SOURCE_DIR}/lib/cppparser/ast.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/ast_utils.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/cachemanager.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/driver.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/errors.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/lexer.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/lexercache.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/lookup.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/parser.cpp ${CMAKE_SOURCE_DIR}/lib/cppparser/tree_parser.cpp ${CMAKE_SOURCE_DIR}/lib/interfaces/hashedstring.cpp codeimport/kdevcppparser/cpptree2uml.cpp ) set(libclipboard_SRCS clipboard/idchangelog.cpp clipboard/umlclipboard.cpp clipboard/umldragdata.cpp ) set(libcmds_SRCS cmds/cmdbaseobjectcommand.cpp cmds/cmdcreatediagram.cpp cmds/cmdhandlerename.cpp cmds/cmdremovediagram.cpp cmds/cmdsetstereotype.cpp cmds/cmdsetvisibility.cpp cmds/generic/cmdrenameumlinstancetype.cpp cmds/generic/cmdcreateumlobject.cpp cmds/generic/cmdremoveumlobject.cpp cmds/generic/cmdrenameumlobject.cpp cmds/widget/cmdbasewidgetcommand.cpp cmds/widget/cmdchangefont.cpp cmds/widget/cmdchangetextcolor.cpp cmds/widget/cmdchangelinecolor.cpp cmds/widget/cmdchangelinewidth.cpp cmds/widget/cmdchangefillcolor.cpp cmds/widget/cmdchangeusefillcolor.cpp cmds/widget/cmdchangemultiplicity.cpp cmds/widget/cmdchangevisualproperty.cpp cmds/widget/cmdcreatewidget.cpp cmds/widget/cmdmovewidget.cpp cmds/widget/cmdresizewidget.cpp cmds/widget/cmdremovewidget.cpp cmds/widget/cmdsetname.cpp cmds/widget/cmdsettxt.cpp ) set(libmenus_SRCS menus/listpopupmenu.cpp menus/umllistviewpopupmenu.cpp menus/umlscenepopupmenu.cpp menus/associationwidgetpopupmenu.cpp menus/widgetbasepopupmenu.cpp menus/dialogspopupmenu.cpp ) set(libumlwidgets_SRCS umlwidgets/activitywidget.cpp umlwidgets/actorwidget.cpp umlwidgets/artifactwidget.cpp umlwidgets/associationline.cpp umlwidgets/associationwidget.cpp umlwidgets/boxwidget.cpp umlwidgets/categorywidget.cpp umlwidgets/childwidgetplacement.cpp umlwidgets/childwidgetplacementpin.cpp umlwidgets/childwidgetplacementport.cpp umlwidgets/classifierwidget.cpp umlwidgets/combinedfragmentwidget.cpp umlwidgets/componentwidget.cpp umlwidgets/datatypewidget.cpp umlwidgets/entitywidget.cpp umlwidgets/enumwidget.cpp umlwidgets/floatingdashlinewidget.cpp umlwidgets/floatingtextwidget.cpp umlwidgets/forkjoinwidget.cpp umlwidgets/interfacewidget.cpp umlwidgets/layoutgrid.cpp umlwidgets/linkwidget.cpp umlwidgets/messagewidget.cpp umlwidgets/nodewidget.cpp umlwidgets/notewidget.cpp umlwidgets/objectnodewidget.cpp umlwidgets/objectwidget.cpp umlwidgets/packagewidget.cpp umlwidgets/pinportbase.cpp umlwidgets/pinwidget.cpp umlwidgets/portwidget.cpp umlwidgets/preconditionwidget.cpp umlwidgets/regionwidget.cpp umlwidgets/seqlinewidget.cpp umlwidgets/signalwidget.cpp umlwidgets/statewidget.cpp umlwidgets/toolbarstateonewidget.cpp umlwidgets/umlwidget.cpp umlwidgets/usecasewidget.cpp umlwidgets/widget_factory.cpp umlwidgets/widget_utils.cpp umlwidgets/widgetbase.cpp umlwidgets/widgetlist_utils.cpp umlwidgets/statusbartoolbutton.cpp ) set(libfinder_SRCS finder/findresults.cpp finder/umldocfinder.cpp finder/umlfinder.cpp finder/umllistviewfinder.cpp finder/umlscenefinder.cpp ) set(libuml_SRCS uml1model/actor.cpp uml1model/artifact.cpp uml1model/association.cpp uml1model/attribute.cpp uml1model/category.cpp uml1model/checkconstraint.cpp uml1model/classifier.cpp uml1model/classifierlistitem.cpp uml1model/component.cpp uml1model/datatype.cpp uml1model/entity.cpp uml1model/entityattribute.cpp uml1model/entityconstraint.cpp uml1model/enum.cpp uml1model/enumliteral.cpp uml1model/folder.cpp uml1model/foreignkeyconstraint.cpp uml1model/node.cpp uml1model/operation.cpp uml1model/package.cpp uml1model/port.cpp uml1model/stereotype.cpp uml1model/template.cpp uml1model/umlattributelist.cpp uml1model/umlcanvasobject.cpp uml1model/umlclassifierlistitemlist.cpp uml1model/umlentityattributelist.cpp uml1model/umlentityconstraintlist.cpp uml1model/umlobject.cpp uml1model/umlobjectlist.cpp uml1model/umlrole.cpp uml1model/usecase.cpp uml1model/uniqueconstraint.cpp uml1model/instance.cpp uml1model/instanceattribute.cpp ) set(umbrellobase_SRCS assocrules.cpp basictypes.cpp birdview.cpp codeviewerstate.cpp cmdlineexportallviewsevent.cpp diagramswindow.cpp diagram_utils.cpp objectswindow.cpp docwindow.cpp dotgenerator.cpp icon_utils.cpp import_argo.cpp import_rose.cpp layoutgenerator.cpp model_utils.cpp object_factory.cpp optionstate.cpp petalnode.cpp petaltree2uml.cpp stereotypeswindow.cpp toolbarstatearrow.cpp toolbarstateassociation.cpp toolbarstate.cpp toolbarstatefactory.cpp toolbarstatemessages.cpp toolbarstateother.cpp toolbarstatepool.cpp umlappprivate.cpp uml.cpp umldoc.cpp umllistview.cpp umllistviewitem.cpp umlscene.cpp umlview.cpp umlviewimageexporterall.cpp umlviewimageexporter.cpp umlviewimageexportermodel.cpp uniqueid.cpp worktoolbar.cpp ) set(umbrellomodels_SRCS models/diagramsmodel.cpp models/objectsmodel.cpp models/stereotypesmodel.cpp ) kconfig_add_kcfg_files(umbrellobase_SRCS umbrellosettings.kcfgc) set(libumbrello_SRCS ${libdebug_SRCS} ${libdialogs_SRCS} ${libfinder_SRCS} ${librefactoring_SRCS} ${libcodegenwizard_SRCS} ${libcodeimpwizard_SRCS} ${libclassparser_SRCS} ${libclipboard_SRCS} ${libkdevcppparser_SRCS} ${libcodeimport_SRCS} ${libcodegenerator_SRCS} ${libdocgenerator_SRCS} ${libcmds_SRCS} ${libmenus_SRCS} ${libuml_SRCS} ${libumlwidgets_SRCS} ${umbrellobase_SRCS} ${umbrellomodels_SRCS} ) set(umbrello_SRCS main.cpp ) set(LIB_BUILD_MODE STATIC) if(NOT BUILD_KF5) if(CMAKE_MAJOR_VERSION LESS 3) qt4_add_resources(libumbrello_SRCS icons.qrc) else() list(APPEND libumbrello_SRCS icons.qrc) endif() kde4_add_library(libumbrello ${LIB_BUILD_MODE} ${libumbrello_SRCS}) set_target_properties(libumbrello PROPERTIES OUTPUT_NAME umbrello) target_link_libraries(libumbrello Qt4::QtCore Qt4::QtGui Qt4::QtXml Qt4::QtWebKit ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KFILE_LIBS} ) if(BUILD_PHP_IMPORT) target_link_libraries(libumbrello ${KDEVPLATFORM_INTERFACES_LIBRARIES} ${KDEVPLATFORM_LANGUAGE_LIBRARIES} ${KDEVPLATFORM_OUTPUTVIEW_LIBRARIES} ${KDEVPLATFORM_PROJECT_LIBRARIES} ${KDEVPLATFORM_SUBLIME_LIBRARIES} ${KDEVPLATFORM_SHELL_LIBRARIES} ${KDEVPLATFORM_UTIL_LIBRARIES} ${KDEVPLATFORM_VCS_LIBRARIES} ${KDEVPLATFORM_DEBUGGER_LIBRARIES} ${KDEVPLATFORM_DOCUMENTATION_LIBRARIES} ${KDEVPLATFORM_TESTS_LIBRARIES} ${KDEVPLATFORM_JSONTESTS_LIBRARIES} kdev4phpparser ) endif() kde4_add_app_icon(umbrello_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/global/kde4/hi*-apps-umbrello.png") kde4_add_executable(umbrello ${umbrello_SRCS}) target_link_libraries(umbrello ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KFILE_LIBS} libumbrello) else() if(CMAKE_MAJOR_VERSION LESS 3) qt5_add_resources(libumbrello_SRCS icons.qrc ${CMAKE_CURRENT_BINARY_DIR}/ui.qrc) else() list(APPEND libumbrello_SRCS icons.qrc ${CMAKE_CURRENT_BINARY_DIR}/ui.qrc) endif() add_library(libumbrello ${LIB_BUILD_MODE} ${libumbrello_SRCS}) set_target_properties(libumbrello PROPERTIES OUTPUT_NAME umbrello) target_link_libraries(libumbrello Qt5::Widgets Qt5::Xml Qt5::PrintSupport Qt5::Svg Qt5::WebKitWidgets KF5::Archive KF5::Completion KF5::CoreAddons KF5::I18n KF5::IconThemes KF5::KIOCore KF5::KDELibs4Support KF5::TextEditor KF5::WidgetsAddons KF5::XmlGui KF5::Crash ${LIBXSLT_LIBRARIES} ${LIBXML2_LIBRARIES} ) if(BUILD_PHP_IMPORT) target_link_libraries(libumbrello KDev::Interfaces KDev::Language KDev::Tests kdevphpparser ) endif() ecm_add_app_icon(umbrello_SRCS ICONS ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/16-apps-umbrello.png ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/22-apps-umbrello.png ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/32-apps-umbrello.png ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/48-apps-umbrello.png ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/64-apps-umbrello.png ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/128-apps-umbrello.png ) add_executable(umbrello ${umbrello_SRCS}) target_link_libraries(umbrello libumbrello KF5::Crash KF5::WindowSystem KF5::KDELibs4Support ) set_target_properties(umbrello PROPERTIES OUTPUT_NAME umbrello5) endif() if(LIB_BUILD_MODE EQUAL SHARED) install(TARGETS libumbrello ${INSTALL_TARGETS_DEFAULT_ARGS} ) endif() install(TARGETS umbrello ${INSTALL_TARGETS_DEFAULT_ARGS} ) ########### install files ############# if(NOT BUILD_KF5) install( PROGRAMS org.kde.umbrello.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/umbrelloui.rc DESTINATION ${UMBRELLO_DATA_INSTALL_DIR} ) else() file(READ org.kde.umbrello.desktop UMBRELLO_DESKTOP_OUT) string(REPLACE "Exec=umbrello" "Exec=umbrello5" UMBRELLO_DESKTOP_OUT "${UMBRELLO_DESKTOP_OUT}") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/org.kde.umbrello.desktop "${UMBRELLO_DESKTOP_OUT}") install( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.umbrello.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) install(FILES org.kde.umbrello.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) endif() -install( FILES - docgenerators/xmi2docbook.xsl - docgenerators/docbook2xhtml.xsl - docgenerators/xmi.css - docgenerators/common.ent - DESTINATION ${UMBRELLO_DATA_INSTALL_DIR} ) - install( DIRECTORY layouts DESTINATION ${UMBRELLO_DATA_INSTALL_DIR} PATTERN .svn EXCLUDE ) add_subdirectory( pics ) diff --git a/umbrello/docgenerators/CMakeLists.txt b/umbrello/docgenerators/CMakeLists.txt new file mode 100644 index 000000000..e3491c891 --- /dev/null +++ b/umbrello/docgenerators/CMakeLists.txt @@ -0,0 +1,10 @@ +install( FILES + xmi2docbook.xsl + docbook2xhtml.xsl + xmi.css + common.ent + DESTINATION ${UMBRELLO_DATA_INSTALL_DIR} ) + +install( DIRECTORY + simple4125 + DESTINATION ${UMBRELLO_DATA_INSTALL_DIR} ) diff --git a/umbrello/docgenerators/docbookgeneratorjob.cpp b/umbrello/docgenerators/docbookgeneratorjob.cpp index f752fe659..a6bf3f6a8 100644 --- a/umbrello/docgenerators/docbookgeneratorjob.cpp +++ b/umbrello/docgenerators/docbookgeneratorjob.cpp @@ -1,114 +1,204 @@ /*************************************************************************** * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * copyright (C) 2008-2014 * * Umbrello UML Modeller Authors * ***************************************************************************/ #include "docbookgeneratorjob.h" #include "debug_utils.h" #include "uml.h" #include "umldoc.h" #include #include #include #include #include #include #include #include #include #include // kde includes #if QT_VERSION < 0x050000 #include #include #endif #include // qt includes #include #if QT_VERSION >= 0x050000 #include #include #endif extern int xmlLoadExtDtdDefaultValue; +#define MAX_PATHS 64 +xmlExternalEntityLoader defaultEntityLoader = NULL; +static xmlChar *paths[MAX_PATHS + 1]; +static int nbpaths = 0; +static QHash replaceURLList; + +/* +* Entity loading control and customization. +* taken from kdelibs/kdoctools/xslt.cpp +*/ +static xmlParserInputPtr xsltprocExternalEntityLoader(const char *_URL, const char *ID,xmlParserCtxtPtr ctxt) +{ + xmlParserInputPtr ret; + warningSAXFunc warning = NULL; + + // use local available dtd versions instead of fetching it everytime from the internet + QString url = QLatin1String(_URL); + QHash::const_iterator i; + for(i = replaceURLList.constBegin(); i != replaceURLList.constEnd(); i++) + { + if (url.startsWith(i.key())) + { + url.replace(i.key(),i.value()); + qDebug() << "converted" << _URL << "to" << url; + } + } + char URL[1024]; + strcpy(URL,url.toLatin1().constData()); + + const char *lastsegment = URL; + const char *iter = URL; + + if (nbpaths > 0) { + while (*iter != 0) { + if (*iter == '/') + lastsegment = iter + 1; + iter++; + } + } + + if ((ctxt != NULL) && (ctxt->sax != NULL)) { + warning = ctxt->sax->warning; + ctxt->sax->warning = NULL; + } + + if (defaultEntityLoader != NULL) { + ret = defaultEntityLoader(URL, ID, ctxt); + if (ret != NULL) { + if (warning != NULL) + ctxt->sax->warning = warning; + qDebug() << "Loaded URL=\"" << URL << "\" ID=\"" << ID << "\""; + return(ret); + } + } + for (int i = 0;i < nbpaths;i++) { + xmlChar *newURL; + + newURL = xmlStrdup((const xmlChar *) paths[i]); + newURL = xmlStrcat(newURL, (const xmlChar *) "/"); + newURL = xmlStrcat(newURL, (const xmlChar *) lastsegment); + if (newURL != NULL) { + ret = defaultEntityLoader((const char *)newURL, ID, ctxt); + if (ret != NULL) { + if (warning != NULL) + ctxt->sax->warning = warning; + qDebug() << "Loaded URL=\"" << newURL << "\" ID=\"" << ID << "\""; + xmlFree(newURL); + return(ret); + } + xmlFree(newURL); + } + } + if (warning != NULL) { + ctxt->sax->warning = warning; + if (URL != NULL) + warning(ctxt, "failed to load external entity \"%s\"\n", URL); + else if (ID != NULL) + warning(ctxt, "failed to load external entity \"%s\"\n", ID); + } + return(NULL); +} + DocbookGeneratorJob::DocbookGeneratorJob(QObject* parent): QThread(parent) { } void DocbookGeneratorJob::run() { UMLApp* app = UMLApp::app(); UMLDoc* umlDoc = app->document(); //write the XMI model in an in-memory char* string QString xmi; QTextStream xmiStream(&xmi, QIODevice::WriteOnly); #if QT_VERSION >= 0x050000 QTemporaryFile file; // we need this tmp file if we are writing to a remote file #else KTemporaryFile file; // we need this tmp file if we are writing to a remote file #endif file.setAutoRemove(false); // lets open the file for writing if (!file.open()) { uError() << "There was a problem saving file" << file.fileName(); return; } umlDoc->saveToXMI1(file); // save the xmi stuff to it xsltStylesheetPtr cur = 0; xmlDocPtr doc, res; const char *params[16 + 1]; int nbparams = 0; params[nbparams] = 0; QString xslBaseName = QLatin1String("xmi2docbook.xsl"); #if QT_VERSION >= 0x050000 QString xsltFile(QStandardPaths::locate(QStandardPaths::DataLocation, xslBaseName)); #else QString xsltFile(KGlobal::dirs()->findResource("appdata", xslBaseName)); #endif if (xsltFile.isEmpty()) xsltFile = QLatin1String(DOCGENERATORS_DIR) + QLatin1Char('/') + xslBaseName; + if (!defaultEntityLoader) { + defaultEntityLoader = xmlGetExternalEntityLoader(); + xmlSetExternalEntityLoader(xsltprocExternalEntityLoader); + QFileInfo xsltFilePath(xsltFile); + + replaceURLList[QLatin1String("http://www.oasis-open.org/docbook/xml/simple/4.1.2.5/sdocbook.dtd")] = QString("file:///%1/simple4125/sdocbook.dtd").arg(xsltFilePath.absolutePath()); + } + xmlSubstituteEntitiesDefault(1); xmlLoadExtDtdDefaultValue = 1; cur = xsltParseStylesheetFile((const xmlChar *)xsltFile.toLatin1().constData()); doc = xmlParseFile((const char*)(file.fileName().toUtf8())); res = xsltApplyStylesheet(cur, doc, params); #if QT_VERSION >= 0x050000 QTemporaryFile tmpDocBook; #else KTemporaryFile tmpDocBook; #endif tmpDocBook.setAutoRemove(false); tmpDocBook.open(); umlDoc->writeToStatusBar(i18n("Exporting to DocBook...")); xsltSaveResultToFd(tmpDocBook.handle(), res, cur); xsltFreeStylesheet(cur); xmlFreeDoc(res); xmlFreeDoc(doc); xsltCleanupGlobals(); xmlCleanupParser(); emit docbookGenerated(tmpDocBook.fileName()); } diff --git a/umbrello/docgenerators/simple4125/sdbcent.mod b/umbrello/docgenerators/simple4125/sdbcent.mod new file mode 100644 index 000000000..88f32a8db --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdbcent.mod @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +%ISOlat1; + + +%ISOnum; + + +%ISOpub; + + + diff --git a/umbrello/docgenerators/simple4125/sdbhier.mod b/umbrello/docgenerators/simple4125/sdbhier.mod new file mode 100644 index 000000000..0428fd7ba --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdbhier.mod @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + diff --git a/umbrello/docgenerators/simple4125/sdbpool.mod b/umbrello/docgenerators/simple4125/sdbpool.mod new file mode 100644 index 000000000..0e16c94dc --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdbpool.mod @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umbrello/docgenerators/simple4125/sdocbook-custom.dtd b/umbrello/docgenerators/simple4125/sdocbook-custom.dtd new file mode 100644 index 000000000..02947d6d3 --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdocbook-custom.dtd @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + +]]> + + + +%sinclist; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%sdbcent; + + + + + + + + + + + + + + + + + + + + + +%docbook; + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + +]]> + + + diff --git a/umbrello/docgenerators/simple4125/sdocbook.css b/umbrello/docgenerators/simple4125/sdocbook.css new file mode 100644 index 000000000..95a65fb2d --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdocbook.css @@ -0,0 +1,679 @@ +abbrev +{ + display: inline; +} + +abstract +{ + margin-left: 0.5in; + margin-right: 0.5in; + display: inline; +} + +acronym +{ + display: inline; +} + +address +{ + white-space: pre; + display: block; +} + +anchor +{ + display: inline; +} + +appendix +{ + display: block; +} + +articleinfo +{ + display: none; +} + +article +{ + display: block; +} + +audiodata +{ + display: none; +} + +audioobject +{ + display: none; +} + +author +{ + display: inline; +} + +authorgroup +{ + display: inline; +} + +authorinitials +{ + display: inline; +} + +bibliomisc +{ + display: inline; +} + +bibliomset +{ + display: inline; +} + +biblioset +{ + display: inline; +} + +blockquote +{ + display: block; + margin-left: 0.5in; + margin-right: 0.5in; +} + +caption +{ + display: none; +} + +citetitle +{ + display: inline; + font-style: italic; +} + +city +{ + display: inline; +} + +colspec +{ + display: none; +} + +command +{ + display: inline; + font-style: italic; +} + +computeroutput +{ + display: inline; + font-family: monospace; +} + +copyright +{ + display: inline; +} + +corpauthor +{ + display: inline; +} + +country +{ + display: inline; +} + +date +{ + display: inline; +} + +articleinfo +{ + display: none; +} + +appendixinfo +{ + display: none; +} + +edition +{ + display: inline; +} + +editor +{ + display: inline; +} + +email +{ + display: inline; + font-style: italic; +} + +emphasis +{ + display: inline; + font-style: italic; +} + +entry +{ + display: table-cell; +} + +example +{ + display: block; +} + +fax +{ + display: inline; +} + +figure +{ + display: block; +} + +filename +{ + display: inline; + font-style: italic; +} + +firstname +{ + display: inline; +} + +footnote +{ + display: inline; +} + +holder +{ + display: inline; +} + +honorific +{ + display: inline; +} + +imagedata +{ + display: inline; +} + +imageobject +{ + display: inline; +} + +informaltable +{ + display: block; +} + +inlinemediaobject +{ + display: inline; +} + +isbn +{ + display: inline; +} + +issn +{ + display: inline; +} + +issuenum +{ + display: inline; +} + +itemizedlist +{ + display: block; + list-style-type: disc; +} + +keyword +{ + display: inline; +} + +keywordset +{ + display: inline; +} + +legalnotice +{ + display: inline; +} + +lineage +{ + display: inline; +} + +lineannotation +{ + display: inline; +} + +link +{ + display: inline; +} + +listitem +{ + display: list-item; +} + +literal +{ + display: inline; +} + +literallayout +{ + display: inline; +} + +mediaobject +{ + display: inline; +} + +member +{ + display: inline; +} + +note +{ + display: inline; +} + +objectinfo +{ + display: inline; +} + +option +{ + display: inline; +} + +orderedlist +{ + display: block; + list-style-type: decimal; +} + +otheraddr +{ + display: inline; +} + +othercredit +{ + display: inline; +} + +othername +{ + display: inline; +} + +pagenums +{ + display: inline; +} + +para +{ + display: block; +} + +phone +{ + display: inline; +} + +phrase +{ + display: inline; +} + +pob +{ + display: inline; +} + +postcode +{ + display: inline; +} + +printhistory +{ + display: inline; +} + +procedure +{ + display: inline; +} + +programlisting +{ + display: inline; +} + +pubdate +{ + display: inline; +} + +publisher +{ + display: inline; +} + +publishername +{ + display: inline; +} + +quote +{ + display: inline; +} + +replaceable +{ + display: inline; +} + +revhistory +{ + display: inline; +} + +revision +{ + display: inline; +} + +revnumber +{ + display: inline; +} + +revremark +{ + display: inline; +} + +row +{ + display: table-row; +} + +section +{ + display: block; +} + +sectioninfo +{ + display: none; +} + +sidebar +{ + display: block; +} + +simplelist +{ + display: inline; +} + +state +{ + display: inline; +} + +step +{ + display: inline; +} + +street +{ + display: inline; +} + +substeps +{ + display: inline; +} + +subtitle +{ + display: inline; +} + +surname +{ + display: inline; +} + +systemitem +{ + display: inline; +} + +tbody +{ + display: table-row-group; +} + +term +{ + display: inline; +} + +textobject +{ + display: inline; +} + +tgroup +{ + display: table; +} + +thead +{ + display: table-row-group; +} + +title +{ + display: block; +} + +article title +{ + font-size: 36pt; + font-weight: bold; + display: block; +} + +section title +{ + font-size: 24pt; + font-weight: bold; + display: block; +} + +section section title +{ + font-size: 20pt; + font-weight: bold; + display: block; +} + +section section section title +{ + font-size: 18pt; + font-weight: bold; + display: block; +} + +section section section section title +{ + font-size: 16pt; + font-weight: bold; + display: block; +} + +section section section section section title +{ + font-size: 14pt; + font-weight: bold; + display: block; +} + +section section section section section section title +{ + font-size: 12pt; + font-weight: bold; + display: block; +} + +appendix title +{ + font-size: 24pt; + font-weight: bold; + display: block; +} + +appendix section title +{ + font-size: 22pt; + font-weight: bold; + display: block; +} + +appendix section section title +{ + font-size: 18pt; + font-weight: bold; + display: block; +} + +appendix section section section title +{ + font-size: 16pt; + font-weight: bold; + display: block; +} + +appendix section section section section title +{ + font-size: 14pt; + font-weight: bold; + display: block; +} + +appendix section section section section section title +{ + font-size: 12pt; + font-weight: bold; + display: block; +} + +titleabbrev +{ + display: none; +} + +trademark +{ + display: inline; +} + +ulink +{ + display: inline; +} + +userinput +{ + display: inline; +} + +variablelist +{ + display: inline; +} + +varlistentry +{ + display: inline; +} + +videodata +{ + display: inline; +} + +videoobject +{ + display: inline; +} + +volumenum +{ + display: inline; +} + +xref +{ + display: inline; +} + +year +{ + display: inline; +} + diff --git a/umbrello/docgenerators/simple4125/sdocbook.dtd b/umbrello/docgenerators/simple4125/sdocbook.dtd new file mode 100644 index 000000000..5d4145595 --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdocbook.dtd @@ -0,0 +1,1569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umbrello/docgenerators/simple4125/sdocbookref-custom.dtd b/umbrello/docgenerators/simple4125/sdocbookref-custom.dtd new file mode 100644 index 000000000..167aa271c --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdocbookref-custom.dtd @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + +%sdocbook-custom.dtd; + + + diff --git a/umbrello/docgenerators/simple4125/sdocbookref.dtd b/umbrello/docgenerators/simple4125/sdocbookref.dtd new file mode 100644 index 000000000..07b66dd96 --- /dev/null +++ b/umbrello/docgenerators/simple4125/sdocbookref.dtd @@ -0,0 +1,1729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umbrello/docgenerators/simple4125/sinclist.mod b/umbrello/docgenerators/simple4125/sinclist.mod new file mode 100644 index 000000000..afb6a50e8 --- /dev/null +++ b/umbrello/docgenerators/simple4125/sinclist.mod @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +