Marble 2.0: Difference between revisions

From KDE TechBase
(Created page with "Refactoring goals towards a Marble 2.0 version. == Marble Library Split == Split libmarblewidget into several libraries: * libMarbleCore ** Non-interactive classes, e.g. geod...")
 
(Page moved to community wiki)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
Refactoring goals towards a Marble 2.0 version.
{{ Moved To Community }}
 
== Marble Library Split ==
Split libmarblewidget into several libraries:
* libMarbleCore
** Non-interactive classes, e.g. geodata, file parsing
** No dependency to QWidgets or Qt Quick
* libMarbleMap
** Interactive, UI toolkit independent classes, e.g. layers, graphicsview
** Dependency to MarbleCore
** No dependency to QWidgets or Qt Quick
* libMarbleWidgets
** QWidget related interactive classes
** Dependency to QWidget, libMarbleMap, libMarbleCore
* libMarbleQuick
** Qt Quick 2.0 related interactive classes
** Dependency to QtQuick, libMarbleMap, libMarbleCore
 
== Header normalization ==
* The header structure in src/lib/ should match the exported headers in include/. No "flattening" as it happens currently where e.g. marble/geodata/* is copied to /marble/.
* During compilation, the subdirectories of marble/ are not added to the compiler search path anymore, so #include statements need to use the full path marble/$module/$class.h for files outside their directory.
* Headers follow the directory structure marble/$module/$path, where $path is either a filename or a directory + filename, but not deeper nested

Latest revision as of 04:49, 26 October 2016

This page is now on the community wiki.