Compare commits

..
436 Commits
Author SHA1 Message Date
Eberhard Graether 855f0cbbbf ui: improved comment contrast in color schemes
* fixed clang warnings
2017-08-11 12:22:33 +02:00
malte_langkabel ddebf71e02 logic: fixed case where clang target flag was "---" 2017-08-11 11:31:28 +02:00
malte_langkabel 9d1faa791b build: updated windows deploy script
* changed commandline options to match the new format
* fixed 64bit package having no vscode plugin folder
* removed unnecessary reminders about the VS plugin
2017-08-10 18:26:04 +02:00
Andreas Stallinger e301b231db remove allow_failure 2017-08-10 16:10:02 +00:00
Andreas Stallinger 05ac4f3b6e logic: std::signal instead of sigaction
* commandline test cout redirect
[skip ci]
2017-08-10 18:00:02 +02:00
malte_langkabel 12120e443b data: updated test log 2017-08-10 17:22:24 +02:00
malte_langkabel 42b286909d logic: fixed showing Windows console and getting stuck while quitting
* fixed Sourcetrail being stuck while closing the application
* building Sourcetrail as Console application by default
* hiding console during runtime on Windows if Sourcetrail is started with GUI
2017-08-10 17:09:47 +02:00
malte_langkabel ba4e07e361 data: extended tutorial to mention call/inheritance graphs
* fixed section mentioning hatched elements in tutorial
* mention call/inheritance graphs in tutorial
* added new tut files to windows deployment package
2017-08-10 15:29:07 +02:00
malte_langkabel b9610951d8 logic: Java anonymous class fixes
* fixed solving anonymous classes
* fixed solving methods declared in anonymous classes
* fixed solving calls to those methods
* updated JavaSymbolSolver Jars
2017-08-10 15:15:48 +02:00
malte_langkabel 5de050ab62 build: fixed crash in QSemaphore::acquire on Windows 2017-08-10 15:12:25 +02:00
Andreas Stallinger eaf9df8551 src: revert git auto merge fail 2017-08-10 13:41:43 +02:00
Andreas Stallinger 37ead804bf src: clazy compiler warnings
get rid of most clazy warnings (https://github.com/KDE/clazy)
* range loop use refs
* qcolor ctor with ints
* missing Q_OBJECT macro
* use .constfirst instead of .first

enabled ccache for unix systems for fasterr recompiling
* if ccache is in path we use it now
2017-08-10 09:45:55 +02:00
Eberhard Graether bb5c1d49b6 ui: Fixes for release
* improved color scheme contrasts
* fixed code view single not updated to font size change
* fixed tooltip shown when hovering error location
* fixed previous reference count shown when fulltext search has no results
2017-08-10 03:16:29 +02:00
Eberhard Graether d9c8de2951 src: Fixed FilePath::canonical() for UNIX
* fixed clang warnings
* fixed ApplicationSettings loaded from wrong location in tests
* added symlink within canonical path to tests
2017-08-10 02:04:03 +02:00
Eberhard Graether ece2cbfe14 logic: Fixed cli message handling and Mac build 2017-08-10 01:17:26 +02:00
Andreas Stallinger 9269468a7b src: cleanup cli publish
cleaned commented code
removed bin/test/ApplicationSettings.xml
2017-08-09 15:16:37 +02:00
Andreas Stallinger c9789a415e logic: use signal instead of sigaction on windows 2017-08-09 14:09:50 +02:00
Andreas Stallinger 610c8b2901 logic: cli for indexing and configure 2017-08-09 13:34:20 +02:00
Andreas Stallinger 802153883e logic: commandline indexing and configuration 2017-08-09 12:33:43 +02:00
Eberhard Graether 2399e733b4 ressource: Fixed tictactoe 2017-08-09 12:25:12 +02:00
Eberhard Graether 2e375112e6 data: Save command line info for CXX indexer commands to errors and show within errors table (issue #351)
bug id = 351
2017-08-09 12:16:16 +02:00
malte_langkabel 1ac63f0158 logic: cxx indexer fixes
* fixed comment locations have been saved to wrong database table
* fixed usage of tryGetRealPathName on windows
* used real filename in PreprocessorCallbacks, DiagnosticsConsumer and CommentHandler
* fixed crash in IncludeValidation when only one source file was checked
2017-08-09 10:59:47 +02:00
malte_langkabel 42fc52b8f7 data: added tooltip view css file to windows installer
* also renamed css file for tooltip view to conform to names of other css files
2017-08-08 17:12:47 +02:00
malte_langkabel 43c647e2d2 data: add license information file for Open SSL 2017-08-08 16:48:07 +02:00
Eberhard Graether 289ac4ab63 ui: Fixed show data and log folder menu actions not working for symlinks 2017-08-08 16:39:50 +02:00
malte_langkabel fc02982acc build: added OpenSSL library to windows package
* this one is required for the HTTPS request of the update check
2017-08-08 16:25:28 +02:00
Eberhard Graether 2305a74e6c logic: Added cross-compilation UI to CXX source group setup (issue #370)
Allows for defining specific target triple of architecture, vendor, OS and environment as set of dropdown lists
in CXX source group setup.

bug id = 370
2017-08-08 16:00:32 +02:00
malte_langkabel 4f74235ca1 src: fixed making file paths canonical that contain symlinks 2017-08-08 15:05:36 +02:00
Eberhard Graether ff65a3f285 logic: Added update checker connecting to online API
* connects to https://www.sourcetrail.com/api/v1/versions/latest
* sends information about OS, platform, license type, current version and a unique user token
* Automatic update check is enabled via Startscreen and performed once every 24 hours on window focus
* Update check can be forced by clicking on "check for new version" on start screen
* renamed TimePoint to TimeStamp

fortune cookie message = In Träumen und im Leben ist nichts unmöglich.
2017-08-08 14:18:14 +02:00
malte_langkabel db1c3b3f40 logic: implement prefilling of JRE system library path
* if that setting is empty on startup we use the respective path detector to prefill
2017-08-07 16:22:54 +02:00
malte_langkabel 2d6d554cb1 logic: implemented interrupting AST visiting of Java indexer
* also reverting names of unsolved symbols and unsolved types
2017-08-07 16:02:06 +02:00
malte_langkabel 332cf7be70 ui: fix an issue where the autocompletion list becomes invisible after some time on Windows 2017-08-04 14:01:56 +02:00
malte_langkabel 0a1fdee998 logic: add lots of Java indexing fixes
* update JavaSymbolSolver to version 0.6.0
* moved to Javaparser 3.3.0
* fixed solving type parameter names in symbols solved in jar files
* implemented ignoring name contexts in javassist and jre based method signatures to break infinite recursion
2017-08-04 13:40:56 +02:00
Andreas Stallinger 6ecc2d630b Update .gitlab-ci.yml 2017-08-04 09:34:16 +00:00
malte_langkabel 8ec7f02433 logic: add NODE_ENUM to NODE_USEABLE_TYPE
* this makes sure that edges that point to an activated enum become aggregated
2017-08-04 10:55:05 +02:00
Andreas Stallinger 4e60574bf0 Update .gitlab-ci.yml (fix Linux64 job) [skip ci] 2017-08-03 16:34:03 +00:00
Eberhard Graether d80b1fc848 logic: removed preprocessor only option when indexing CXX source groups 2017-08-03 16:54:41 +02:00
Eberhard Graether 299b3a1cf7 ui: Fixes for upcoming release
* improved comment colors in all color schemes
* improved contrasts for dark color scheme
* fixed error locations stay visible when activating file in single file view
* removed scroll speed change listener from search autocompletion because it caused slowdown on macOS
* fixed bounding rects of graph edges to contain arrow
* fixed tooltip list shown with just one element
2017-08-03 16:15:27 +02:00
Eberhard Graether 9e06323ba7 data: Fixed duplicate rows in database 2017-08-02 17:30:17 +02:00
Eberhard Graether e089900571 data: Fixed uppercase CXX header files saved in lowercase & remove symlinks from FilePath when canonicalizing (issue #437)
bug id = 437
2017-08-02 14:19:44 +02:00
Eberhard Graether 8c5b69dce6 ui: Show list in tooltip when clicking source location with multiple tokens or local symbols
* Also shows list of all implicit symbols at a source location e.g. default constructors or template specializations
2017-08-02 12:32:13 +02:00
malte_langkabel 91969770d5 logic: sort and shuffle indexer commands for performance
Before indexing the indexer commands are sorted according to byte size of the
indexed source file. Afterwards the list is split into two halves and each half
is shuffled. This ensures that bigger files tend to be indexed first, so that
no indexer thread runs idle at the end of indexing.
2017-08-02 12:03:53 +02:00
malte_langkabel 2c6322631b build: fixed QOverload syntax for Visual Studio compiler 2017-08-02 11:51:56 +02:00
Eberhard Graether 63c81e27a2 ui: Window focus event sent when application changes state instead of main window
* Fixes tooltip disappearing when clicked on Windows
2017-08-01 19:15:10 +02:00
Eberhard Graether 96c68c4d0b ui: Fixes for code view
* set code font size as pixel value
* properly hide line number area for overview stats in both snippets and single file view
* fixed file title disabled for files in single file view in trial mode
2017-08-01 14:31:03 +02:00
Andreas Stallinger 244c9af3c6 src: new signal slot syntax
SLOT()/SIGNAL() -> &class::method()
2017-08-01 12:35:33 +02:00
malte_langkabel 8d68203727 src: add missing include for Visual Studio compiler 2017-08-01 11:17:12 +02:00
Eberhard Graether 01864b4d0c ui: Added custom tooltipping to code and graph (issue #195)
* Tooltips show node type with access specifier, reference count and fully qualified name
* Fields and global variables include the type name
* Methods and functinos show whole signature. Gets broken into multiple lines if too long.

Included changes:

* Upgraded to C++14
* fixed clang warnings
* Pass location of .srctrlprj file to build.sh script to load on launch
* Split off QtCodeField for showing highlighted and annotated code fom QtCodeArea
* removed TokenComponentSignature
* added TaskDecoratorDelay

bug id = 195
2017-07-31 12:45:22 +02:00
malte_langkabel 01b1e0d6f1 logic: add type information of variable decl to name hierarchy
* implemented this feature for both, CXX and Java
* adjusted tests to reflect these changes
* added NameElement and NameHierarchy to Java code
* created more specialized JavaDeclName classes: JavaFunctionDeclName and JavaVariableDeclName
* implemented recording static modifier for Java methods and variables

fortune cookie message = You will enjoy true success in whatever you do.
2017-07-28 09:12:32 +02:00
malte_langkabel 2e117c4b6d build: switch to Maven configuration for JavaIndexer 2017-07-27 13:16:57 +02:00
malte_langkabel 053ca3d8d1 data: move web content to CoatiWeb repository
* the new url for this content is: https://gitlab.com/CoatiSoftware/CoatiWeb
2017-07-27 09:54:21 +02:00
malte_langkabel 3f19a0393a logic: fix issue where Maven project did not show any source files (issue #428)
* fixed extraction of generated effective-pom from command line output
2017-07-26 14:41:15 +02:00
malte_langkabel 3a192c8089 ui: clean indexed header path selection
* for CDB projects the selection dialog for the indexed header paths now discards all paths that are subdirectories of other entries
2017-07-24 17:08:43 +02:00
malte_langkabel f2c7ecbbdf ui: add progress dialog for "show source files" button 2017-07-24 14:20:26 +02:00
malte_langkabel bec7aa4aac logic: add include path validation to project settings 2017-07-24 09:20:08 +02:00
Eberhard Graether faae66b304 ui: Fixed search related issues
* select elements when clicking into search bar
* fixed crash and single file mode clearing when fulltext search yields no results
2017-07-20 15:55:31 +02:00
malte_langkabel 3c72ce7459 web: Add blogpost
* Added blogpost titled "How to Export a Clang Compilation Database from a Visual Studio Solution"
2017-07-20 14:53:18 +02:00
Eberhard Graether 48811959fd build: Updated to Qt 5.9.1 2017-07-19 12:23:21 +02:00
malte_langkabel c6c49b2d45 build: add plugin folders to Windows package
* added missing plugin folders to Windows package
* fixed readme of VS extension
2017-07-19 10:23:39 +02:00
Andreas Stallinger 0455cb33f5 test: fix float tests in Vector2TestSuite 2017-07-18 16:16:17 +02:00
Andreas Stallinger 0d98b02431 Update .gitlab-ci.yml to run only one docker container at commit (32bit can be started manually) 2017-07-18 13:46:58 +00:00
malte_langkabel cad595a32c logic: add storage transformation to merge anonymous types and the respective typedef
* moved storage related classes to data/storage folder
* implemented recording c++ unions as NODE_UNION instead of just using NODE_TYPE
* added transformation to merge anonymous classes/structs/enums/unions and typedef nodes
* added tests for this transformation
* added setting for enabling/disabling this transformation
2017-07-18 15:14:43 +02:00
malte_langkabel e536f20e36 build: Updated to Boost 1.64.0
* switched from using BOOST_159_DIR to using BOOST_DIR
* changed windows configuration of boost to remove requirement of duplicating all include files.
2017-07-18 12:59:22 +02:00
Eberhard Graether 94551bf689 src: Updated to Botan 2.1.0 2017-07-18 12:55:13 +02:00
Eberhard Graether 7bc89acdf5 src: Updated to clang 4.0.1 2017-07-18 12:11:26 +02:00
Eberhard Graether 1982f4459a ui: Don't show start window when opening project with double-click
* added menu option to show start window
2017-07-17 17:07:01 +02:00
Eberhard Graether 4bb88a51b7 ui: Show license type label in title bar: "Sourcetrail [trial, test, non-commercial]" 2017-07-17 15:31:06 +02:00
Andreas Stallinger 83e5497a18 fix: missing include memory for linux build 2017-07-17 14:38:03 +02:00
Eberhard Graether e57e51a839 ui: Fixed class expand toggle shown in overview and namespace lists 2017-07-17 00:16:41 +02:00
Eberhard Graether 9d0b86ad98 logic: Show inheritance edges between parents of active symbol and other visible symbols (issue #167)
* add inheritance edges between parents of active symbol and other visible symbols
* add dashed inheritance edges when symbols are no direct decendants
* inheritance edges are also respected in layouting, putting base/derived classes in the correct top/bottom spot now

bug id = 167
2017-07-16 18:40:59 +02:00
Eberhard Graether 9a36d48d1e src: Improved project loading performance
* faster hierarchy cache building
* cache symbol definition kinds
* don't request files when caches can be used
* save SearchEdge by starting character in SearchNode to avoid iteration when adding to SearchIndex
* fixed disabled state of some search buttons
2017-07-15 15:21:08 +02:00
Eberhard Graether da756c9a4c src: Improved code view performance
* fixed slow annotation hovering
* improved retrieving source locations for whole files
2017-07-13 02:25:54 +02:00
Eberhard Graether 997f952b86 ui: Show recent bookmarks in bookmarks menu (issue #414)
bug id = 414
2017-07-12 15:01:14 +02:00
Eberhard Graether 77e748a5e1 ui: Fixed refernces shown and buttons wrong for file activation in snippet mode 2017-07-12 13:52:56 +02:00
malte_langkabel 9bcde198a5 logic: add auto-detection for JRE System Library
* fixed error columns are not saved to database correctly
* implemented setting JRE System Library paths in app settings
* added detector for JRE System Library that not use Java Runtime specified in AppSettings but detects JRE on its own by reusing the JavaPathDetector.
* added option to use JRE System Library in JavaSourceGroup
2017-07-10 18:12:52 +02:00
malte_langkabel b4166be89b build: open source Visual Studio extension
* moved SourcetrailPlugin to separate GitHub repository: https://github.com/CoatiSoftware/vs-sourcetrail
* changed Readme in ide_plugins folder to point to that repo and give instructions on how to install
* removed vsix from windows package
* renamed SourcetrailPlugin project to SourcetrailExtension
* changed assembly name to vs-sourcetrail
* removed plugin install script because the tests now use a configured experimental instance of Visual Studio
* added license file for cinder solution that is used in plugin integration tests
* replace license file with apache license
* added boilerplate notice of Apache License 2 to source files of plugin
2017-07-08 11:33:38 +02:00
Eberhard Graether eb25472f11 build: Fixed qt.conf for macOS with case-sensitive file system (issue #404)
bug id = 404
2017-07-05 12:23:05 +02:00
malte_langkabel 6ac340f602 logic: increase speed of inserting into persistent storage
* doubled storage injection speed by using precompiled sqlite statements.
2017-07-03 19:00:49 +02:00
malte_langkabel 31b9b74ca8 logic: improve database clearing performance
* added indices that speed up clearing elements
* enclosed clearing in transaction
2017-06-29 13:45:14 +02:00
Eberhard Graether db4f18c70d ui: Higher contrast for ui elements in bright color scheme
* use light green for files and macros
2017-06-29 13:23:55 +02:00
Andreas Stallinger 2b9ea45e33 linux package README update 2017-06-29 13:00:39 +02:00
malte_langkabel a66daa9ac0 build: reduce boost includes in FilePath.h 2017-06-28 17:50:51 +02:00
Eberhard Graether 99ea3b2a25 ui: Fixed zoom issues
* Show font size change as number not percent
* Show current graph zoom in label next to zoom buttons
* Fixed search blocks not properly updated when fonts size changes
2017-06-28 16:38:40 +02:00
Eberhard Graether a2554a9f75 ui: Show progress dialog for maven source group within parent window 2017-06-28 15:43:20 +02:00
malte_langkabel 8370caf705 logic: add logging for jars used by maven project setup 2017-06-28 11:55:23 +02:00
Andreas Stallinger d60a9c82d5 documentation: vscode extension added 2017-06-27 14:29:53 +02:00
Eberhard Graether 293a2a84c3 ui: Added Edit Project button below error table
* use leading uppercase letter in Log View UI elements
2017-06-27 14:21:48 +02:00
Eberhard Graether 73dd912fd6 web: Blog post Release 2017.2
<description>
2017-06-27 12:56:40 +02:00
Andreas Stallinger 68affaa4bc fix: fix putenv in utilityMaven
* include cstdlib
* const cast to char*
2017-06-27 12:32:57 +02:00
Andreas Stallinger ea047cde78 Update utilityMaven.cpp 2017-06-27 10:17:51 +00:00
malte_langkabel 5d35455492 logic: Maven fixes regarding JAVA_HOME variable (issue #405)
* setting value for JAVA_HOME variable automatically before executing Maven if not found in system environment.
* show error dialog when maven encounters an error while fetching source directories from pom
* added logging when fetching maven source directories from pom
2017-06-27 11:41:44 +02:00
Eberhard Graether 7e7d661bf1 web: updated documentation and changelog for 2017.2 2017-06-21 16:34:21 +02:00
malte_langkabel 70b24f9097 ui: fix typo in info dialog 2017-06-21 12:16:01 +02:00
Eberhard Graether 7a814f930d build: no visual studio plugin in mac bundle 2017-06-21 10:53:09 +02:00
Andreas Stallinger 0b432c07fd build: dont ignore install/eula 2017-06-20 17:47:46 +02:00
malte_langkabel ecfdd1ccb7 build: update Java indexer dependencies
* now using JavaParser version 3.2.4 (tagged with javaparser-parent-3.2.4)
* now using JavaSymbolSolver commit hash 5b96df7a
2017-06-20 16:55:24 +02:00
malte_langkabel ba549822c9 build: update windows installer
* changed windows installer to discard the first two digits of the version (17 instead of 2017)
* renamed vs plugin installer
* add game_object.h for TicTacToe to windows installer
* add eula.txt for eula window and keyboard shortcuts css to installer
* add eula and 3rd party licenses to windows install directory
2017-06-20 16:10:22 +02:00
Andreas Stallinger 8b6109be79 script: install script linux fix
install script failed when there were spaces in the path
2017-06-20 15:36:43 +02:00
Eberhard Graether ad3169c3c0 src: Fixes for release
* clear references count when clearing code view
* fixed scrolling to character in overview lists
* fixed aggregation activation shown in history menu
* fixed same snippet being added twice
* Sourcetrail [Trial] as window title
* fixed undoing trail expand will always reactivate symbol
2017-06-20 15:18:30 +02:00
Andreas Stallinger 81b88df3a2 gui: show eula on non windows versions 2017-06-20 14:45:52 +02:00
Eberhard Graether 738e13a664 resource: Updated EULA 2017-06-20 13:06:06 +02:00
Eberhard Graether d7fbaede79 src: Fixed crash when using shortcuts with focus on the graph (issue #390)
bug id = 390
2017-06-20 12:53:13 +02:00
Eberhard Graether 652a55b4fb logic: Fixed saving project name to ProjectSettings also sets project location to '/' 2017-06-19 23:38:39 +02:00
Eberhard Graether 05c2878eec src: Fixed old license partly shown and new placeholder in license dialog 2017-06-19 23:08:42 +02:00
Eberhard Graether 894beccb28 build: Added GameObject base to tictactoe sample
* Gets used in gifs and video
2017-06-19 22:15:34 +02:00
malte_langkabel e6c5ffa97a logic: apply some shared memory fixes
* corrections in estimating size of intermediate indexer commands
* avoided clearing and refilling the indexed files list every time files get added
* changed memory growth policy of InterprocessIndexingStatusManager to double allocated memory when it gets full
* added potential to grow memory when adding crashed file paths
2017-06-19 16:24:01 +02:00
malte_langkabel fba8dadee7 build: fix license compile errors on windows 2017-06-19 16:15:02 +02:00
Andreas Stallinger e953b35c62 logic: license format 2017-06-13 21:23:18 +02:00
malte_langkabel 72f3dcfc19 logic: improved plugin performance
* reduced file open/close events while writing cdb
* fixed detection of header paths
* refactored Visual Studio extension code
* removed very old menu option for converting a solution directly into a Coati project (which would have been performed by Coati itself, not by the plugin).
2017-06-12 12:10:48 +02:00
Andreas Stallinger 148588b179 logic: add 1MB buffer to pushIntermediateStorge 2017-06-12 12:05:34 +02:00
Andreas Stallinger 19ed6cb372 logic: versioning 2017-06-12 09:14:21 +02:00
Andreas Stallinger 419a2e27ba ui: subwindow when resize mainwindow
* disable drop in qtlineedit
    fixes bug where when file is dropped in the lineedit with text,
    the the file will be added as text midst the existing text
* move message to start from script before layout loading so it will load right
(only when started without script on linux)
* center subwindow when mainwindow size changes
2017-06-08 20:42:32 +02:00
malte_langkabel 699de2ee0a build: improve convenience for running Visual Studio plugin integration tests
* added testsettings file that causes Visual Studio to use the current build of the
    extension when running the integration tests. So no more uninstalling and installing
	of the extension before running the tests.
2017-06-08 14:57:18 +02:00
Andreas Stallinger 3ca6f266c7 build: name for artifacts from tagged jobs 2017-06-08 13:48:50 +02:00
Eberhard Graether 24894aa96f ui: More fixes for release
* Fixed graph resizing invoked during animation
* Clearin history when clearing UndoRedoController
* Fixed no hatching in single code view file button
2017-06-08 12:45:56 +02:00
Andreas Stallinger deed335a10 linux script start
warning when starting without script on linux
2017-06-08 12:13:36 +02:00
Eberhard Graether 3e62367af0 src: More fixes for release
* Show declname in java import error
* Don't clear window stack when saving preferences
* Fixed spacing in source group UI, status view and error view
* Resize graph scene rect when widget is resized
* Graph node centering respect no animation preference
* Fixed undoing of view commands
* Avoid scrollbar jump when restoring graph scroll position
* Deactivate local symbols in code when clicking into empty space
2017-06-08 00:35:31 +02:00
Eberhard Graether 610dbf5bfb src: Fixes for release
* Fixed annotations in code view when showing errors
* Fixed context menu hatched for non-indexed/incomplete file button
* Fixed file minimize button losing hover style when leaving to file bar
* Fixed only change bookmark button state when active node is bookmarked
* Fixed use bezier edges when expanding node on aggregation graph
* Fixed manually expanded nodes stay expanded
2017-06-07 17:46:16 +02:00
malte_langkabel 2b1098fe1d logic: disable Java errors for on-demand imports
* don't try to resolve an import that ends in an asterisk. these can be either type names or package names and it it's a package we have no way to find out whether or not such a package exists.
2017-06-07 17:37:19 +02:00
Andreas Stallinger 255fea62af ui: restrict subwindow movement
restrict subwindow movement to mainwindow
to make sure you cant move it were you dont see it
2017-06-07 17:21:54 +02:00
malte_langkabel 38e016c909 build: update list of installed files for windows deployment 2017-06-07 15:49:49 +02:00
Andreas Stallinger 59cece1707 ui: fixed historylist popup disapearing 2017-06-07 15:39:39 +02:00
Eberhard Graether 469789f994 build: Changelog for 1.0 2017-06-07 14:56:02 +02:00
Eberhard Graether 503ca76a40 ui: Use window decorations on dialog windows (issue #376)
* added SubWindow flag to QtWindow to either use window decorations or show window within main window
* fixes black borders in some Linux window managers

bug id = 376

fortune cookie message = Your skill will accomplish what the force of many others cannot.
2017-06-07 14:40:16 +02:00
malte_langkabel fb5bb33a10 logic: fix bookmark migration for Java projects
testing if currently loaded project is a Java project and setting delimiter for node names in bookmark tables accordingly.
2017-06-07 13:40:18 +02:00
malte_langkabel 21f963d652 logic: indexer fixes for java imports
* fixed solving import for statically imported member types
* enabled recording of fatal errors when an importing a type
* added AstVisitorClient for improved abstraction and debugging purposes
2017-06-07 13:00:20 +02:00
malte_langkabel b659e81515 logic: fix more Visual Studio plugin issues
* using .Net framework version 4.6.1 in all projects
* implemented exception handling in VCFileWrapperFactory
* moved logging in separate assembly
* enabled logging in wrapper code
2017-06-06 15:46:14 +02:00
Eberhard Graether fc36cc25ca ui: Improved code view UI
* reduced minimized file state to one-colored block
* added hover states to file buttons
* show hover state when hovering title bar
* fixed file button use for overview stats snippet
2017-06-05 23:46:50 +02:00
Eberhard Graether 71b3bdb26b logic: Improved code view performance
* Don't set stylesheet for every token activation
* Streamlined code area creation steps
* Delay most syntax highlighting until lines become visible
2017-06-05 23:34:20 +02:00
malte_langkabel 30e6512d71 logic: fixed versions of Visual Studio plugin assemblies 2017-06-05 16:11:09 +02:00
malte_langkabel f31c0ae3ba logic: Visual Studio plugin improvements
* changed dll version handling to be automated
* added some additional logging
* improved VCProjectWrapperFactory
2017-06-05 15:14:55 +02:00
Eberhard Graether de645be37a logic: Refactored Code View to process all contents in one update
* Use unified showCodeSnippets method for setting file information on CodeView
* Made async initial file and snippet expansion synced
* Add ScrollParams API to CodeView
* Regard scope size when scrolling to definition
* Only use QtThreadedLambdaFunctor in QtCodeView now
2017-06-05 14:23:43 +02:00
malte_langkabel 893b223bbc logic: record more import not found errors
* record "import not found" error when imported type cannot be resolved
2017-06-05 11:08:07 +02:00
malte_langkabel 7010b9a6fb logic: update Visual Studio plugin to support Visual Studio 2017
* changed description text of Visual Studio plugin
* changed plugin install targets to include VS 2017
* add license file with MIT license
* updated vsix for deployment

* implement wrapper for all used classes of VCProjectEngine.dll since you cannot just use the oldest version of this
  assembly (see https://stackoverflow.com/questions/44288050/typecast-fails-when-visual-studio-extension-uses-reference-to-older-assembly).
* improved serialization and deserialization of compile commands and compilation databases.
* updated used JSON package
* rename CommandObject to CompileCommand
* changed implementation to keep non-existent file paths in cdb
* made methods of SolutionParser non-static
* replace spaces with tabs

* added IntegrationTests project
* configured tests to simulate a new instance of VisualStudio
* added cinder as test project for integration tests
* remove all absolute paths from expected output of integration tests

fortune cookie message = A stranger will bring great meaning to your life.
2017-06-02 14:48:29 +02:00
Eberhard Graether aaca8618e2 logic: Only request unconnected child nodes when expanding node
* increases graph performance by ~30%
2017-06-01 14:48:03 +02:00
Eberhard Graether 8660ab5b14 build: Codesign MacOS app bundle to avoid "from unidentified developer" warning
fortune cookie message = Der Stern des Reichtums wird in Kürze auf dich scheinen
2017-05-31 16:23:25 +02:00
Eberhard Graether 8ab0abbe69 data: Added exception handling to database index 2017-05-31 14:07:21 +02:00
Eberhard Graether b79891693b ui: Fixed errors always shown after indexing 2017-05-31 13:44:58 +02:00
Eberhard Graether 8a6def2d7a ui: Fixes for source group ui
* added final icons
* fixed inconsistent names on copy
* fixed files list for cdb groups not updated
2017-05-31 13:33:34 +02:00
Eberhard Graether 539377339a ui: finalized design for history list 2017-05-31 12:31:11 +02:00
Eberhard Graether 29cfbe0f66 logic: error limit and better user experience (issue #385)
* only show up to 1000 errors in table and code view
* click button in bottom right of error table to show all
* same error order in code and table
* highlight error line when switching reference in code view
* improved error view performance

bug id = 385
2017-05-30 23:11:20 +02:00
Eberhard Graether a34abe6b4b ui: fixes and improvements in graph
* use bezier edges for aggregations
* fixed expanding nodes in trail graph makes trouble
* fixed hovering of edges at arrow
2017-05-30 15:08:01 +02:00
Eberhard Graether f760b873b4 logic: Fixed source files indexed multiple times when in multiple source groups 2017-05-30 12:17:18 +02:00
Eberhard Graether 561284ef5a ui: fixes
* Fixed send ping after changing plugin ports
* Fixed can't close EULA window
2017-05-30 11:55:01 +02:00
Eberhard Graether 7d5d19fde7 utility: Fixed License location check for CI 2017-05-30 08:59:52 +02:00
Eberhard Graether bd40294a2c ui: Added menu action to display EULA and force accepting on Mac 2017-05-30 00:30:52 +02:00
Eberhard Graether 9256618f7c ui: Extended project setup to support creation and editing of Source Groups (issue #230)
* Turned QtProjectWizzard into window for Source Group ui
* Clicking into FilePicker when empty will open dialog right away
* Fixed environment variable use throughout all Source Group path values
* Moved Preferences to QtPreferencesWindow

bug id = 230

fortune cookie message = Zwischen dir und deinen Freunden besteht echte Freundschaft.
2017-05-29 17:08:28 +02:00
Eberhard Graether 13f7acbb70 data: Fixed no indexer commands created for relative file paths in cdb (issue #388)
bug id = 388
2017-05-23 11:42:39 +02:00
malte_langkabel 9b73d73a85 ui: display an error when loading a Clang Compilation Database fails 2017-05-23 09:35:58 +02:00
Eberhard Graether 082dfc2e1a logic: Fixed source files within CDB not indexed unless within Indexed Header Paths 2017-05-22 23:02:35 +02:00
Eberhard Graether 3598fd357d ui: Fixed status messages influence window resizing (issue #372)
bug id = 372
2017-05-19 15:21:34 +02:00
Eberhard Graether 5c21f23219 logic: match source file extensions case insensitive (issue #384)
bug id = 384
2017-05-19 14:39:45 +02:00
Eberhard Graether 65b5bd47f6 logic: Fixed indexing progress file count in status bar and status view (issue #387)
bug id = 387
2017-05-19 14:26:52 +02:00
Eberhard Graether 9088de8105 ui: History list polishing
* Fixed fulltext searches not included
* Show smaller colored indicator in front of list items
* Font weight bold on history list item hover
2017-05-19 14:08:56 +02:00
Eberhard Graether 9a100cd0c0 web: fixed fastspring test store link in blog navigation 2017-05-19 00:40:50 +02:00
malte_langkabel 655e0f15b0 build: remove dlls from windows deploy package
* no dlls required anymore since we removed the setup.exe earlier which was the only C++ binary requiring those dlls.
2017-05-18 10:15:35 +02:00
Eberhard Graether 83356e58ee src: Fixed clang build 2017-05-17 13:02:38 +02:00
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02:00
Eberhard Graether ea3fd8b928 build: updated changlog for release 0.12.25
* and fixed clang warnings
2017-05-16 16:38:34 +02:00
Eberhard Graether 7cef92cb20 web: blog post for Release 0.12 2017-05-16 16:32:15 +02:00
Eberhard Graether d4e5808524 src: Fixed clang issues 2017-05-16 16:30:50 +02:00
malte_langkabel 4d140e396a src: add IndexerCommandType that will be used instead of string 2017-05-16 15:29:46 +02:00
Andreas Stallinger 80016596df logic: fix missing typename 2017-05-16 11:42:09 +00:00
malte_langkabel c551c9a1dd logic: add name delimiter to NameHierarchy
* NameHierarchy now looks like this: <delimiter>\tm<all the rest>
* made new baseclasses for SettingsMigration and SettingsMigrator
* Use the migration system for SqliteBookmarkStorage as well
2017-05-16 13:08:12 +02:00
Eberhard Graether 6d0f633d24 web: updated documentation
* maven project setup
* reset layout option
* use 0 indexer threads for auto-detection
* multi process setting
* bookmarking
* depth graph
* updated menu and shortcuts
* updated images
2017-05-16 10:52:52 +02:00
malte_langkabel c58b6ae23c logic: fix properly create sqlite indices when changing DB mode 2017-05-16 10:08:26 +02:00
Eberhard Graether d1a1552b8d logic: run MessageActivateAll also in parallel 2017-05-15 12:28:04 +02:00
Eberhard Graether 33452aaa0b build: Added QtCreator plugin to MacOS package 2017-05-15 12:25:13 +02:00
malte_langkabel 4a5b5c2e51 build: rename plugin directory for QtCreator and add this folder to windows package 2017-05-15 12:17:57 +02:00
malte_langkabel 00c696b385 logic: switch back to handling messages in sequence by default
* handling all messages in parallel caused UI synchronization issues
* for now the only message that requests to be handled in parallel is MessageActivateTokens
2017-05-15 11:59:15 +02:00
Eberhard Graether 0d244b0224 utility: Fixed message buffer might become empty while applying message filters 2017-05-15 11:31:10 +02:00
Andreas Stallinger 9937b9beeb documentation: fixed wrong imagename 2017-05-15 10:26:58 +02:00
Andreas Stallinger 6a90ee367c documentation: qt creator plugin
removed sublime text image in qt creator section
2017-05-15 10:20:34 +02:00
Andreas Stallinger 9d91e86e1e documenation: qt creator plugin
added qt creator plugin
2017-05-15 10:17:35 +02:00
Eberhard Graether c94b5f34a3 ui: Create bookmarks from graph context menu for node under mouse cursor (issue #373)
bug id = 373
2017-05-15 00:45:50 +02:00
Eberhard Graether 6de0021f70 ui: Fixed code view single file not scrolled to first fulltext search result 2017-05-14 20:08:25 +02:00
Eberhard Graether 3dfc0cb341 utility: Added MessageFilter API to messaging
* filter out focus in and out messages if both in queue
* filter out search autocomplete when multiple in queue
2017-05-14 19:39:05 +02:00
Eberhard Graether 6193ae9209 logic: Fixes for shared memory
* set unrestricted permissions on shared memory allocation to fix crash on Windows
* log exceptions during shared memory creation and destruction
* create SharedMemoryGarbageCollector after logging was enabled
2017-05-12 01:53:37 +02:00
malte_langkabel 40157039b4 src: use FilePath in FileSystem::getFileNamesFromDirectory 2017-05-11 16:30:14 +02:00
malte_langkabel 156c3d4b9f src: refactor UUIDUtility to conform with our coding conventions 2017-05-11 15:02:07 +02:00
Andreas Stallinger 4dcfe34485 logic: fixed template error on linux 2017-05-11 13:48:21 +02:00
malte_langkabel d160f38cbd build: remove setup.exe from windows package
* removed the exe since it does nothing but call the msi
* also fixed a missing include when building with DEPLOY on windows
2017-05-11 13:12:36 +02:00
malte_langkabel 1d1acc32f4 ui: improve item descriptions in application settings dialog 2017-05-11 11:15:44 +02:00
malte_langkabel 8a92453d60 logic: fix update of Java indexer to new version of Java dependencies
* reapplied previous reverts
* added cache for TypeSolvers in Java code
2017-05-10 17:54:21 +02:00
Andreas Stallinger f9a6c1ac09 build: remove manual build from master branch 2017-05-10 16:42:16 +02:00
Andreas Stallinger df7cdd2e7c build: gitlabci - job for licensegen and cleanup
* using template in yaml
* job for keygen added
2017-05-10 16:25:32 +02:00
Andreas Stallinger d100aca5fc build: gitlab-ci names for artifacts
* names for gitlab artifacts
* fix Linux package qt platforms lib
2017-05-10 16:09:43 +02:00
Eberhard Graether 960ca6703e logic: Fix indexing progress dialog not updated when fetching storage 2017-05-10 15:52:24 +02:00
Andreas Stallinger 2136e30a48 build: fixes to build on linux
*   dont use Q_PROCESSOR macros for 32/64 getArchitectureType
    move the function from lib_gui to lib
*   added missing include
2017-05-10 15:33:31 +02:00
Eberhard Graether f3cd9a1770 data: Fixed inconsistent node data in IntermediateStorage 2017-05-10 13:24:32 +02:00
Eberhard Graether 4b9c9858b7 data: Save timestamp of project indexing and show it in overview 2017-05-09 23:47:34 +02:00
Eberhard Graether 3fdd24f038 data: Fixes in indexing
* Show status update for every indexed translation unit and only once
* Save nodes in same order they were indexed
2017-05-09 22:55:49 +02:00
Eberhard Graether f4caacacf2 ui: Added history of last active symbols to UI and menu (issue 151)
* holding down back or forward button shows list of current back-forward stack
* added narrow button between back and forward to show the list
* added History menu
* moved back and forward actions to History menu
* show chronological list of recently active symbols in History menu

bug id = 151

fortune cookie message = Dein Geschäft wird gut laufen und expandieren.
2017-05-09 17:14:43 +02:00
Eberhard Graether bb8c2ae5a9 data: Set correct name delimiter per language in parsers 2017-05-09 16:25:58 +02:00
malte_langkabel 329544530d logic: fix crash when running 32 and 64 bit versions in parallel
fixed by making memory name of garbage collector depend on architecture type of sourcetrail binary
2017-05-09 15:07:18 +02:00
Eberhard Graether f3de8b5ae4 ui: Changed menu action to "Bookmark Active Symbol" 2017-05-08 17:15:54 +02:00
Eberhard Graether c0e3726b2d build: Changelog for 0.12 (beta) 2017-05-08 17:13:31 +02:00
Andreas Stallinger 12a3c7750f script: linux deinstall script fix
* linux deinstall script replaced / with -
* added categories in sourcetrail.desktop
2017-05-08 12:49:33 +00:00
Eberhard Graether 14fa67b909 logic: Limit multi process indexing to projects with C/C++ source groups 2017-05-08 14:45:37 +02:00
Eberhard Graether ad1a48bce4 Revert "logic: update java indexer to new version of Java dependencies"
This reverts commit da2b44bd25.
2017-05-08 14:17:22 +02:00
Eberhard Graether a224d42079 Revert "logic: java update linux"
This reverts commit 3864dc1fb1.
2017-05-08 14:17:03 +02:00
Eberhard Graether cacd97fa9c Revert "logic: update java on MacOS"
This reverts commit fa329be35f.
2017-05-08 14:16:34 +02:00
malte_langkabel f65aee612a build: fix windows CMake error
* fixed by converting backslashes in boost path to slashes
2017-05-08 14:03:15 +02:00
Eberhard Graether a1a709b049 logic: Fix trail graph check in MessageFlushUpdates handler of GraphController 2017-05-08 12:28:06 +02:00
Andreas Stallinger b729bf0a9a build: symlink for test/data 2017-05-08 07:18:23 +00:00
Eberhard Graether e5cad53e85 ui: Click edges in trail to show source location 2017-05-06 22:56:17 +02:00
Andreas Stallinger f5979f5ead build: fix missing include for linux
added thread include
2017-05-05 20:12:10 +00:00
malte_langkabel e8a24d3d98 logic: release fixes
* disable windows error dialogs on application crash for indexer target
* show indexing dialog at the start of indexing task instead of waiting for processes to start
* fix escaping path to binary for indexer process
* join garbagecollector thread when stopping
* fix compile errors related to FilePath in deploy mode on windows
2017-05-05 16:37:48 +02:00
Eberhard Graether 562e623930 utility: use non throwing try_lock approach when creating named mutex for shared memory 2017-05-05 16:31:51 +02:00
Eberhard Graether 8f44ad4a47 ui: Fixes for release
* updated keyboard shortcuts
* graph zooming also with Ctrl + Mouse Wheel
* display include and macro edges behind nodes
* allow more file search results
2017-05-05 12:40:51 +02:00
Eberhard Graether 9c6114336c data: Fixed TaskBuildIndex stops fetching when indexer commands are out and waits for indexer threads to stop first 2017-05-05 12:37:16 +02:00
Eberhard Graether fa329be35f logic: update java on MacOS 2017-05-05 12:35:59 +02:00
Andreas Stallinger 3864dc1fb1 logic: java update linux 2017-05-05 10:05:27 +00:00
malte_langkabel c93d5aa9f0 ui: add dialog to warn about active "verbose indexer logging" on refresh
* also featuring: remove unnecessary call in ParserClientImpl
2017-05-05 11:37:25 +02:00
malte_langkabel da2b44bd25 logic: update java indexer to new version of Java dependencies
* JavaSymbolSolver: Commit fac13d99
* JavaParser: Tag 3.2.0
2017-05-04 17:06:28 +02:00
Eberhard Graether d096106ec5 ui: improvements on trail layout
* increased spacing around graph
* fixed graph lagging on message focus out
* fixed level assignment fails
* fixed dead ends in cyclic graph removal
* improved node positioning by grouping to same average position
* fixed graph image export not centering graph
* fixed black dot at graph origin
* show status updates while creating trails
2017-05-04 16:46:17 +02:00
Eberhard Graether 706119ebcc data: indexer processes
* TaskBuildIndex starts seperate indexer processes and communicates via shared memory
* indexer processes get restarted if they fail
* indexer processes are killed when the app closes or crashes
* added utility class SharedMemory to allocate and access shared memory, providing basic data structures
* added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash
* show errors for source files that crashed during indexing
* added basic exception handling to task scheduling
* added option to turn off processes and use threads in preferences, but still use shared memory

fortune cookie message = Good news from someone dear is coming soon.
2017-05-04 15:50:59 +02:00
Eberhard Graether 9beea94fd8 src: Removed ApplicationStateMonitor 2017-05-04 13:49:38 +02:00
Andreas Stallinger 29b07473fe src: fix filepath refactoring on linux
<description>
2017-05-04 12:33:28 +02:00
Eberhard Graether e8c01ae2ce logic: Fixed concurrency issues in TaskGroupParallel causing scheduler freeze 2017-05-04 11:57:52 +02:00
Eberhard Graether 74da2c7de9 src: fixes for FilePath refactoring on clang 2017-05-04 11:54:45 +02:00
malte_langkabel f46e9866fb build: try to fix compile error in our linux pipeline 2017-05-04 11:17:36 +02:00
malte_langkabel 054b8fab17 logic: reduce access to filesystem while indexing
* use canonical filepath cache in cxx indexer
* made constructors of FilePath explicit
* use FilePath at more places instead of string
* forward declares FilePath wherever possible
2017-05-04 10:55:16 +02:00
Andreas Stallinger 55d3f9c189 fix: 64bit builder segault
returning a bool seem to cause a seg fault on the linux 64 bit builder
since it is not used anyway i changed it back to the void return.
(dont know why it is a seg fault)
2017-05-03 11:22:28 +00:00
Eberhard Graether e33be096a6 logic: Disable bookmark creation when overview or errors are shown 2017-04-26 16:44:49 +02:00
Eberhard Graether b98444c15e ui: styled trail navigation
* added icons to buttons
* added toggle for collapsing and expanding controls
* added controls visibility to app settings
* fixed low contrast for disabled buttons in bright color scheme
2017-04-26 15:38:55 +02:00
malte_langkabel bf094b52da logic: fix initialization of source groups
SourceGroups have been initialized with wrong default values which
have later been used to write for writing the ProjectSettings file
if not overwritten.
2017-04-26 11:24:13 +02:00
Eberhard Graether 0468168d61 ui: Fixes and improvements for bookmarks
* moved bookmark buttons behind search bar
* suggest qualified name when creating, file name for files
* fixed bug when updating bookmark category
* changed comment toggle arrow
* changed edit and delete icons
* fixed undo for edge bookmarks
* keep categories always alphabetical regardless of subsorting
* keep category expansion state when opening and closing browser
* removed QtBookmarkBar, moved logic into QtBookmarkView
* added bookmarks Menu with shortcuts
	Ctrl + D: Create Bookmark
	Ctrl + B: Bookmark Manager
2017-04-26 00:33:34 +02:00
malte_langkabel 4ac41de61e web: fix inaccuracies in the documentation 2017-04-25 17:20:59 +02:00
malte_langkabel f6f7861ff1 logic: improve SQLite injection performance
* removed unique constraints again and added manual checks and db indices
2017-04-25 13:19:43 +02:00
malte_langkabel e669064452 logic: Add unique constraints to SQLite tables 2017-04-24 17:38:16 +02:00
Eberhard Graether 4bfe59df76 data: Fixed file complete flag not set when retrieving single source locations in SourceLocationCollection 2017-04-24 01:46:42 +02:00
Eberhard Graether f0b7dcdcdd ui: Show call graphs, inheritance trees and include trees for active symbol (issue 249 337)
* Added TrailLayouter with Sugiyama dependency layouting
* Layouter supports horizontal and vertical layouts
* Added basic ui to graph view for showing incoming and outgoing paths
* Added depth slider, with infinity at maximum
* Disable trail ui when not available
* Added trail messages to undo stack and only use last one when undoing
* Added QtGraphLineBezier for trail graphs and refactored other line types
* Disabled edge activation for trail layouts, shown only visually
* Highlight all connected edges when hovering a node in trail layout
* Use different color when highlighting call edges for better contrast
* Fixed BucketLayouter issue when edge does not leave node
* Increased click area for angled edges

bug id = 249 337

fortune cookie message = Answer just what the heart prompts to you.
2017-04-24 01:14:53 +02:00
Eberhard Graether 01bd0efefb logic: run message handling in parallel per message 2017-04-19 14:26:28 +02:00
Eberhard Graether 33ff346d3b logic: Fixed refresh not recognizing added files 2017-04-19 14:03:10 +02:00
Eberhard Graether 9d718d6a87 logic: Show unknown progress dialog when refreshing (issue 341)
* refactored dialog handling
* Application always provides a DialogView instance

bug id = 341
2017-04-19 13:04:46 +02:00
Eberhard Graether c4deca4662 ui: Added show files button to summary of compilation database project setup (issue 354)
bug id = 354
2017-04-18 22:41:41 +02:00
Eberhard Graether 63087913bd data: Option to run only C/C++ preprocessor when indexing (issue 297)
* Added as checkbox to indexing start dialog
* Only shown for C/C++ projects
* Files will be marked incomplete
2017-04-18 22:11:20 +02:00
malte_langkabel 2b24b88745 data: bookmark refactoring
* implemented handling of aggregations in bookmarks
* split index Storage and bookmark storage
* each sqlite database has its own version now
* added bookmark tests
* fixed creating bookmark tables when project can be loaded but bookmark db does not exist
* fixed font size for bookmarkview tooltips
* using bookmark cache now
* using default category name when none specified by the user
* raising bookmark windows when they should be shown
* clearing a bookmark or category in the editor will now update the star icon accordingly
* non-persistent bookmarks use ids of nodes and edges now (instead of names)
* git ignore .srctrlbm files
2017-04-17 10:55:59 +02:00
Eberhard Graether 6cd6552343 data: improvements on error management
* mark all files with errors as incomplete
* fix incomplete label in codeview tooltip not updated properly
* added setting for canceling indexing for files with fatal errors
2017-04-15 17:57:20 +02:00
Eberhard Graether 8dc5ac7cbe data: stop indexing of files with fatal errors and store them as incomplete (issue 358)
* avoid AST traversial for CXX translation units with fatal errors
* save all files within those translation units as incomplete
* show number of complete files in finished indexing dialog and overview stats
* display incomplete files hatched in graph view
* display incomplete file titles hatched in code view
* mention file incompleteness in tooltips
* removed derived Indexer classes and set ParserType via template parameter instead
* moved getSourceFileFromCDB from IndexerCxxCdb to IndexerCommandCxxCdb

bug id = 358
2017-04-15 01:02:09 +02:00
Eberhard Graether 2b38e0f45e src: Fixed C++ source extensions and standard saved to compilation database source group
bug id = 366
2017-04-14 12:57:32 +02:00
Eberhard Graether 8faad97178 build: Changelog for release 0.11.86 2017-04-12 12:29:10 +02:00
Eberhard Graether 8765cffac0 web: Name switch blog post 2017-04-12 12:21:27 +02:00
malte_langkabel 6e342fa87c logic: terminating all running tasks before closing the application (issue #343) 2017-04-12 10:46:56 +02:00
Eberhard Graether 0e4b606c7c src: Fixed FileRegisterStateData synchronisation 2017-04-12 00:38:48 +02:00
malte_langkabel b9d1f5367c logic: skip saving duplicate data
* check for duplicates in intermediate storage
* added unique constraints to sqlite tables
2017-04-11 18:56:15 +02:00
Andreas Stallinger 2a6af01ee8 ui: enter license window resized 2017-04-11 14:16:57 +02:00
malte_langkabel c78fe0d8d4 logic: Use all available cores when setting indexer threads to 0 (issue #342) 2017-04-11 13:42:20 +02:00
malte_langkabel 498933d0aa logic: fix windows uninstall if both 32 and 64 bit are installed
* using different GUIDs for 32 and 64 bit components
2017-04-11 13:37:03 +02:00
Eberhard Graether 06917304bb src: Disabled bookmarking for upcoming release 2017-04-11 10:14:46 +02:00
Eberhard Graether 862d140695 web: Switched documentation to Google Analytics 2017-04-11 10:03:16 +02:00
Eberhard Graether c6a0f0b000 ui: fixes for release
* fixed NameHierarchy delimiter not set when project settings need to be migrated
* fixed codeview does not scroll to linenumber in single file mode when activating symbol in changed file
2017-04-11 09:42:46 +02:00
malte_langkabel 23341d63d0 ui: reset window layout option in view menu 2017-04-10 18:45:32 +02:00
malte_langkabel 050e31c1fd logic: fix copying old settings from coati 64 bit to sourcetrail on windows 2017-04-10 17:45:27 +02:00
malte_langkabel 7421ef85d1 data: update windows installer images to sourcetrail 2017-04-10 17:36:46 +02:00
Andreas Stallinger 17c0189a83 build: get rid of some compiler warnings
<description>
2017-04-10 15:51:26 +02:00
malte_langkabel 85f4262787 logic: fix maven detection was slow when no maven installed on windows system 2017-04-10 15:41:39 +02:00
malte_langkabel 635bf70076 logic: ping related updates
* ping is now sent on window focus
* remove ping result from status view
2017-04-10 12:09:58 +02:00
malte_langkabel d4d3decfb9 logic: fix log file did not have a name 2017-04-10 11:02:12 +02:00
Eberhard Graether 6ba93ca39f src: more bug fixes
* fixed snippets added twice on token reactivation for errors and fulltext search results
* fixed colorscheme gets refreshed when cancelling preferences
* scroll to first line in errors table after indexing and showing view
* fixed file not properly expanded when snippet covers full file
* fixed project type naming in project setup
* fixed set delimiter of NameHierarchy for projects that can't be loaded yet
* changed language order for project setup
2017-04-07 17:14:34 +02:00
Andreas Stallinger 5570458e53 build: use coati docker images
there is no sourcetrail docker image
2017-04-07 13:28:01 +02:00
Andreas Stallinger 045a259b2e build: renaming to sourcetrail 2017-04-07 13:19:09 +02:00
Eberhard Graether 8391a6da57 src: Bug fixes
* fixed - to _ in color schemes
* fixed yoda talk in Tutorial
* fixed graph node with no children but qualifier has expand toggle
* added placeholder and file filter for maven detection on MacOS
* fixed NameHierarchy delimiter wrong in SearchIndex
2017-04-06 16:53:17 +02:00
Andreas Stallinger 30dda62970 ui: Maven Preferences on linux
* maven filter and placeholder for linux in preferences
2017-04-03 11:36:06 +02:00
malte_langkabel 63a1fe9b80 logic: treat VS project as CDB source group after creation 2017-04-03 10:39:55 +02:00
malte_langkabel 9947e83846 logic: allow usage of blank spaces in maven path 2017-04-03 10:10:16 +02:00
malte_langkabel da063377cd build: fix cyclic file dependencies that break the build on Linux 2017-04-03 09:53:04 +02:00
malte_langkabel 0f94104005 build: enable fast linking for windows debug builds 2017-04-03 08:55:53 +02:00
malte_langkabel 7b30ac18de logic: source groups for project settings
* project can not have multiple source groups with different types
* language of a project is now inferred from source groups
* setting global NameHierarchy delimiter of first sourceGroup in project
* added project settings migrations for source groups
* Add Settings Migration classes (MoveKey, DeleteKey, Lambda)
* Update sample projects with migrations
* added method to config to retrieve sublevel key names
* implemented recursive removing of keys in settings
* moved project files out of top level
* removed solution parsing code as it is not used anymore

fortune cookie message = The secret of getting ahead is getting started.
2017-03-31 16:11:37 +02:00
wrongway88 25f3c4666a src: Logger Utility
Added logger utility and outsourced file name creation for file loggers to it
2017-03-29 22:56:37 +02:00
wrongway88 abf7c723a2 src: hotfix
Added missing stl functional include
2017-03-28 22:32:33 +02:00
Eberhard Graether 4e9ba897ac src: Refactored TokenLocation classes to SourceLocation classes
* Removed TokenLocationLine
* decoupled TokenLocationFile from TokenLocationCollection
* save vector of Token ids to SourceLocation
* refactored SourceLocationFile::getFilteredByLines()
* refactored snippet creation
2017-03-25 02:05:48 +01:00
malte_langkabel 4c64822504 web: add blog post "How to Integrate Maven into Your Own Java Tool" 2017-03-23 15:06:19 +01:00
Andreas Stallinger d33e137451 fix: contextmenu getInstance added 2017-03-23 12:53:06 +01:00
Andreas Stallinger 591b66fe77 build: linux symlink
linux symlink moved from setup script to cmake
2017-03-22 18:54:29 +01:00
Andreas Stallinger 9846bbc014 ui: Enable/Disable undo/redo contextmenu 2017-03-22 17:49:47 +01:00
malte_langkabel b72d6a2e3b data: reference gui data for bookmarks in wix installer 2017-03-22 09:52:37 +01:00
Eberhard Graether faf0ab3ac7 ui: Updated style of QtBookmarkBrowser 2017-03-21 17:05:23 +01:00
Eberhard Graether 8ffc2f281c ui: Fixed layout of QtBookmarkBrowser
* fixed window size and resizing
* fixed layout and spacing
* removed focus rects on Mac
* fixed filter dropdown style for Mac
* reuse button handling from QtWindow
* use different colors for category and bookmark rows
* allow clicking full row for expansion
* show edit and delete button only on hover
* ellide bookmark name when little space
2017-03-20 15:01:18 +01:00
malte_langkabel a96bba67cb data: added missing component for Maven icon to WIX setup 2017-03-20 14:18:22 +01:00
Eberhard Graether 42038337c0 Revert "src: Disabled bookmarking for upcoming beta release"
This reverts commit 9807bf856a.
2017-03-20 12:42:14 +01:00
malte_langkabel cdf5a81af9 ui: fixed animated scroll in single file code view 2017-03-20 11:11:03 +01:00
malte_langkabel 4f77f073f0 logic: update java indexer
* update to use JavaSymbolSolver 0.5.2.x (fce40b67)
* update to use JavaParse 3.1.2 (4537e57a)
* implemented solving constructor calls instead of just recording a type usage here
2017-03-19 16:11:55 +01:00
Eberhard Graether 9807bf856a src: Disabled bookmarking for upcoming beta release 2017-03-17 14:30:52 +01:00
Eberhard Graether ffafc55273 ui: Fixed layout of QtBookmarkCreator
* fixed window size and resizing
* fixed layout and spacing
* removed focus rects on Mac
* fixed category dropdown style for Mac
* reuse button handling from QtWindow
* updated QtBookmarkBar buttons to new icon creation
2017-03-17 13:36:34 +01:00
malte_langkabel 5fea315cc9 ui: Add status dialog for Maven project setup 2017-03-17 13:18:48 +01:00
Eberhard Graether 139c49805d src: cleaned up StorageAccess 2017-03-17 00:47:01 +01:00
Eberhard Graether 630009a2ba logic: Refactored undo redo stack
* Store MessageActivateTokens instead of original view messages
* Renamed FeatureController to ActivationController
* Remove all non-activation messages from undo redo stack after reindexing project
* Added MessageShowReference to undo redo stack
* Added MessageScrollGraph for restoring graph view scroll position
* Fixed MessageGraphNodeMove not saved for bundles
* Refactored tokenIds and nodeNames in SearchMatch and MessageActivateTokens
* Refactored SearchController
* Fixed file expansion on undoing/redoing after switching code view mode
* Fixed redundant graph animation due to present qualifier nodes
* Fixed no restoring of graph node expansion when showing overview in between
2017-03-16 23:24:33 +01:00
Eberhard Graether aa49fffca6 src: fixed clang warnings 2017-03-15 12:58:06 +01:00
Andreas Stallinger c8404aa83d fix: no dialogs in headless mode 2017-03-14 18:22:46 +01:00
malte_langkabel a8edf47685 ui: added Maven project icon 2017-03-13 14:54:39 +01:00
Andreas Stallinger 2d2a439b30 utilty: sourcetrail license generator
* generate sourcetrail licenses
* get version from loaded license
2017-03-13 10:29:45 +01:00
malte_langkabel 8533ad7535 logic: minor maven fixes
* changed maven related value name in project settings
* fixed JavaProjectSettings to return correct ProjectType for Maven project
2017-03-09 11:57:22 +01:00
malte_langkabel 3cbe83f9e6 logic: maven project setup
* added option to create a Coati project from a Maven POM file
* show list of indexed file paths in maven project setup
* use FileManager to detect indexed files in project setup (except cdb)
* added Maven path to preferences window and added path detectors.
* fixed: QtDialogView::hideStatusDialog now also hides loader in status bar.
* refactored ProjectType

fortune cookie message = If you continually give, you will continually have.
2017-03-08 14:55:42 +01:00
Andreas Stallinger d6f3099981 build: Linux desktop file
validation of desktop file on some linux distros went wrong without the
semicolon
2017-03-07 16:42:22 +01:00
malte_langkabel 235a224f12 logic: implemented skipping implicit code in CxxForRangeStatements 2017-03-06 16:41:10 +01:00
malte_langkabel bcc71d630f build: hide console when running release builds on windows 2017-03-06 12:59:58 +01:00
malte_langkabel 476e731b9e build: building windows releases with .pdb files now to debug customer crashes with .dmp files 2017-03-03 19:49:39 +01:00
Andreas Stallinger 928ff49b74 build: dependencies added to testgen
* prebuild should now update correct, if new tests or test are deleted
2017-03-03 16:16:41 +01:00
Andreas Stallinger f5dfafe091 logic: license seats, startscreen
* license info on startscreen
* volume license
* license generator update
2017-03-03 13:49:05 +01:00
Eberhard Graether a1d8100215 web: blog post for Release 0.11 2017-03-01 13:09:49 +01:00
Eberhard Graether 6a0cf7dbb4 web: updated documentation to Release 0.11 2017-03-01 11:28:29 +01:00
malte_langkabel 67f97071e0 ui: fixed naming of 64 bit windows path detector
* also removed LibLincense dependencies on Lib because they are linked the other way round
2017-02-27 11:21:52 +01:00
Andreas Stallinger eac48596ad logic: Licenses with seats 2017-02-27 09:53:39 +01:00
Eberhard Graether 0423a86a63 script: Added RTTI flag to clang build command in README 2017-02-24 15:35:23 +01:00
Eberhard Graether a80d8761d8 blog: Coati birthday post 2017-02-24 15:28:27 +01:00
wrongway88 e6f7e61a5f logic: vs plugin cdb writing
cdb data will now be written to file immediatly instead of stored and then written all at once
this might solve memory issues for very large projects, but also increases parsing time (added concurency)
2017-02-23 00:01:18 +01:00
malte_langkabel 4563cbe90a logic: indexer commands
* replaced parser arguments by project specific IndexerCommands that know everything the indexer needs to know to do its job
* added different language and project specific indexers that know how to handle a certain kind of indexer command
* refactored FileManager and FileRegister to have less overhead
* removed no-rtti restriction for clang files in lib cxx
* uncommented deprecated interprocess code.

fortune cookie message = Happiness will bring you good luck.
2017-02-22 16:42:20 +01:00
malte_langkabel 650cd8101e data: removed QT dlls from repo
removeing qt dlls from repo since they need so much space. fetching them from qt install dir in setup script now.
2017-02-22 12:12:46 +01:00
Eberhard Graether a0d3bd272c ui: Fixed scrolling to active symbol when clicking on active graph view node 2017-02-22 04:58:54 +01:00
Eberhard Graether 224f0b05f9 ui: fixed method names disappearing in code view after being deselected 2017-02-22 04:30:48 +01:00
Eberhard Graether 79fc78a518 ui: Fixed shortcuts dialog
* fixed table sizes
* fixed scrolling for MacOS
* fixed couldn't resize dialog
2017-02-22 03:17:35 +01:00
wrongway88 c895179ace ui: vs plugin dialog
Improved dialog for finished cdbs
2017-02-21 21:29:03 +01:00
Andreas Stallinger f257a207f4 script: publish script, switch back to branch
switch back to branch if rebase does not work
2017-02-21 18:01:23 +01:00
Andreas Stallinger 0e5cc4bf7a build: fix build on Unix systems
* throw std::exception replaced with throw error
* MANAGER to Manager in CMakelists
2017-02-21 17:46:09 +01:00
wrongway88 1fbc16e098 logic: interprocess utility
Added basic interprocess utility
2017-02-21 17:12:35 +01:00
Andreas Stallinger 9673685165 build: manual jobs added to ci 2017-02-21 14:06:51 +01:00
Eberhard Graether 77ef076c88 ui: Show definition in code view when clicking active node in graph 2017-02-21 00:37:19 +01:00
Eberhard Graether 4a230b1d94 logic: Fixed full text search messages not stacked consecutively 2017-02-21 00:17:32 +01:00
Eberhard Graether 02850baf9c logic: Fixed error activation from code caused another show error message 2017-02-21 00:14:02 +01:00
Eberhard Graether d02e3e74d0 ui: Fixed moving bundle nodes was not stored in undo stack 2017-02-21 00:10:49 +01:00
Eberhard Graether 04a5abdf98 data: Fixed file id retrieval for file in search match 2017-02-20 11:24:01 +01:00
Eberhard Graether 5dc901ea13 build: Added changelog for release 0.11.0 2017-02-19 20:57:05 +01:00
Eberhard Graether 558f0451af Revert "src: Disabled bookmarking for upcoming release"
This reverts commit 356c753f13.
2017-02-19 20:48:17 +01:00
wrongway88 ed9ff6d1bc ui: plugin ping
added update pings on token activation (just to have a somewhat regularly reoccuring event to trigger the ping)
2017-02-16 20:30:22 +01:00
wrongway88 50df7cace2 logic: vs plugin fix
fixed issue with include path retreival
2017-02-16 16:39:21 +01:00
wrongway88 18153a2ac5 logic: VS Plugin logging/exception handling
Added some additional logging and exception handling to solution parser
2017-02-16 00:32:39 +01:00
Andreas Stallinger 217e9ceff2 build: linux package names
* linux packages names to 64bit/32bit instead of x86_64/i686
2017-02-15 12:51:28 +01:00
Andreas Stallinger c028d28ffd build: ci tag push 2017-02-15 12:10:46 +01:00
malte_langkabel 1c1e792fcf logic: anonymous namespace locations
* removed special treatment of anonymous symbols when retrieving their source location. Now their source location is just the "{" character at the start of the namespace's scope.
2017-02-15 11:36:04 +01:00
Eberhard Graether 1fca7d2f29 ui: Fixed namespace shown as separate node in graph when 'using namespace' edge is visible 2017-02-15 11:03:50 +01:00
malte_langkabel 21fb8476ae logic: fixed context node name of reference when context is a file 2017-02-15 10:45:29 +01:00
Eberhard Graether 8fca305fdd ui: Don't accept rich text in enter license field
bug id = 207
2017-02-15 00:08:28 +01:00
Eberhard Graether fcac720ea9 src: Fixes for release
* reduced contrast for overview bundle starting character titles
* put 3rd party licenses into Mac bundle
* check edges for 'importing files' bundle as well in case node types are not set
2017-02-14 23:44:27 +01:00
malte_langkabel 3359f25427 data: updated EULA
* updated EULA to reflect Test Licenses and made some minor changes
* moved 3rd party licenses to app data folder
* fixed crashes in headless mode
2017-02-14 15:53:36 +01:00
Eberhard Graether 591f723b82 ui: Fixed icons in setup dialogs blurry on high DPI screens 2017-02-14 13:39:01 +01:00
Eberhard Graether 78f8fdc552 build: Updated 3rd party licenses 2017-02-14 11:53:07 +01:00
Andreas Stallinger 97a021c97b build: Linux package readme
* added readme to linux packages
2017-02-14 11:29:01 +01:00
Eberhard Graether f63f4b360a ui: Added link to additional preindexed projects to trial 2017-02-14 11:26:47 +01:00
malte_langkabel 32bb8347cd logic: fixed interrupting cxx ast visiting 2017-02-14 11:10:14 +01:00
Eberhard Graether d0b49a68a3 ui: Show trial in window title 2017-02-14 11:02:19 +01:00
Eberhard Graether bd17bd3573 ui: Count by connected sub node for non-indexed bundles 2017-02-14 10:45:56 +01:00
malte_langkabel 1520b8bfbf logic: implemented skipping to record calls to the constructor of a generated lambda class. 2017-02-14 10:35:11 +01:00
Eberhard Graether a6bc9c5465 ui: Bigger offset for bigger circle in graph node bundle 2017-02-13 23:02:53 +01:00
Eberhard Graether be82e2a24e src: Fixed issues with relative paths 2017-02-13 22:45:59 +01:00
Eberhard Graether 1d133492ed data: Fixed file node finding in search and undoing file activations in graph 2017-02-13 22:31:42 +01:00
Eberhard Graether 356c753f13 src: Disabled bookmarking for upcoming release 2017-02-13 21:21:50 +01:00
Eberhard Graether d527991b46 src: Reviewed old files touched by bookmarks commit
* Removed some unused changes
* Disabled "No IDE connected" message in status bar
* Use threaded functor in status bar view
2017-02-13 20:55:37 +01:00
Eberhard Graether 637da119aa logic: Cleaned up LogManager and setupLogging call 2017-02-13 20:25:24 +01:00
Eberhard Graether 259b112080 logic: Fixed code view single not cleared properly in some cases 2017-02-13 13:20:20 +01:00
malte_langkabel 8a93bebff8 logic: fixed a crash when saving the app settings 2017-02-13 13:14:56 +01:00
Eberhard Graether 2ade5ca976 logic: Fixed every project trying to load from cdb, added warning for trial mode on failed refresh 2017-02-13 12:40:45 +01:00
malte_langkabel d5e2bbb17c logic: recording node type of a cxx namespace in a using directive
* also fixed tests to be executed in the same order on every platform
2017-02-13 10:29:27 +01:00
Eberhard Graether 0ceff0203c ui: Revised project setup to customer feedback
* Support environment variables in compilation database path
* Moved advanced option (compiler flags & exclude paths) to separate dialog
* Allow environment variables that contain multiple paths
* Renamed 'Project Name' to 'Coati Project Name'
* Renamed 'Project File Location' to 'Coati Project Location'
* Renamed 'Project Paths' to 'Indexed Paths'
* Make all paths chosen by path picker relative to the project location
* Disabled name and location changing in project editing and removed project moving
* Added sub-titles to project setup dialogs
* Warn user when no Indexed Header Paths were set
* Deprecated lazy include search: It's only useable and visible to projects holding the key
* Split default file extensions for C++ and C

bug ids = 234 254 283 293 312 335
2017-02-13 01:02:09 +01:00
Eberhard Graether 17d9c87a5d build: Fixed clang errors and warnings, incremented storage version 2017-02-13 00:32:52 +01:00
wrongway88 97fd40fe9b ui: bookmarks
can now bookmark tokens
2017-02-12 15:06:07 +01:00
wrongway88 e1d2c3a4e0 logic: minor vs plugin fix
fixed some minor plugin issues
2017-02-11 19:08:59 +01:00
Eberhard Graether 0eb959bf54 logic: Allow project opening in trial mode
* added open project button to start screen in trial mode
* allow ide communication in trial
2017-02-11 17:22:14 +01:00
Eberhard Graether ba984121a2 ui: Fixed jumping to character in overview bundle broken when _ present 2017-02-11 16:36:40 +01:00
Eberhard Graether 06c2976959 data: Only record name specifiers within project files
* Use const references in Traverse methods of CxxAstVisitorComponent
* Only record symbol kinds of name specifiers within project files
* Moved main file check in within unindexed project file check
2017-02-11 15:42:29 +01:00
malte_langkabel 10e9a4a70d logic: recording symbol kinds cxx name specifiers (e.g. "std" in "std::string") 2017-02-10 17:09:02 +01:00
Eberhard Graether b13dbf2f2d ui: Fixed issues with error UI
* load error icon only once and reuse
* fixed error not activated when selecting from list

bug id = 287
2017-02-10 16:21:21 +01:00
Eberhard Graether 3a540285a3 logic: Show non-indexed nodes within their parents and their childs
* Added support for access nodes without title
2017-02-10 14:49:26 +01:00
Eberhard Graether e2a6d4e237 logic: Check whether nodes were not already added as symbols in namespace graph retrieval 2017-02-10 01:39:18 +01:00
Eberhard Graether 9a67835882 data: Updated color schemes to new node type names 2017-02-10 01:07:11 +01:00
Eberhard Graether ab7fdac2f8 logic: Fixed non-indexed symbols were not shown as namespace contents 2017-02-10 00:54:04 +01:00
Eberhard Graether bfb997d35f logic: Fixed SearchMatch sorting not updated after rescoring
* also ignore template section in SearchMatch sorting
2017-02-09 23:54:21 +01:00
Eberhard Graether b423b41836 ui: Fixed scrolling in code view list mode broken for Mac touchpad 2017-02-09 19:22:52 +01:00
Eberhard Graether 3b89bad424 ui: Disabled syntax highlighting for project description
* Also made syntax highlighting dependent on file ending of source file
2017-02-09 16:05:20 +01:00
Eberhard Graether e08f7ce2c0 ui: Fixed different font faces cause graph nodes to expand to more grid cells 2017-02-09 15:26:14 +01:00
Eberhard Graether 06676eda66 logic: Fixed comparing of project files to ignore carriage return characters 2017-02-09 13:37:40 +01:00
Eberhard Graether 83a6817d57 build: Fixed MacOS bundle for new build setup
* Removed libLTO
* Removed boost libraries
* Fixed wrong READMEs in plugin directories

bug id = 315
2017-02-08 16:10:16 +01:00
Andreas Stallinger bb4cc9662c build: ci fix
* test paths changed
* moving javatest to the back caused sometimes error if run before other test
2017-02-07 13:06:47 +01:00
malte_langkabel d988af2ea9 logic: adding vs compatibility flags to new project when Coati is using global includes of Visual Studio
* also added distinct path detectors for 32 and 64 bit Visual Studio
2017-02-07 12:44:08 +01:00
Andreas Stallinger a2e88b9048 build: changed CI test paths 2017-02-07 12:34:30 +01:00
malte_langkabel 1bb25140a7 ui: renamed undefined to non-indexed and made node/edge names more readable 2017-02-06 16:18:00 +01:00
malte_langkabel be1a44a763 ui: file clearing progress
* display some progress information when clearing files
2017-02-06 13:02:15 +01:00
Eberhard Graether 9177073ac3 ui: Added Java specific keywords to syntax highlighting and distinguish by project language 2017-02-06 11:22:57 +01:00
Eberhard Graether 9ebb46f1b5 script: updated build.sh script and git_pre_commit hook to new build directory 2017-02-06 10:57:51 +01:00
malte_langkabel 7f2db69995 build: offer windows 64 bit build (issue #300)
* update to clang/llvm to 3.9
* update to qt 5.8
* fixed windows javapathdetector for 64 bit java.
* added LibGui as dependency to tests
* fixed legacy Java 6 install necessary on MacOS
* fixed setting of user path for 64 bit build
* added missing pngs to windows installer
* renamed graph zoom button images
* reverted moving of setupLogging call to fix crash on deployed exe

fortune cookie message = An old acquaintance will enter your life.
2017-02-03 14:31:43 +01:00
Manuel Dobusch 8c0f9f2de4 logic: vs plugin multithreading
added simple multithreading for cdb creation
2017-02-02 17:03:52 +01:00
Eberhard Graether 52b0cd2017 ui: redesigned graph overview and use new list layouting within overview bundles
* overview bundles imitate style of bundled node type
* removed bundle for built-in types
* show contents of overview bundle in vertical list layouted with new ListLayouter
* nodes starting with the same letter are grouped with the letter displayed above
* pressing the letter key will scroll to the group
* also use this list layouting for namespace & package contents
* renamed BucketGrid to BucketLayouter
* moved used functions of GraphPostProcessor to GraphViewStyle and removed GraphPostProcessor

fortune cookie message = Don't be afraid to take that big step
2017-02-02 13:29:40 +01:00
Eberhard Graether 993d66727d ui: Set move and select cursors for drag interactions in code view 2017-02-02 00:47:30 +01:00
Eberhard Graether 81ee6eca60 src: Fixed macro syntax in QtKeyboardShortcuts 2017-02-02 00:45:33 +01:00
Manuel Dobusch 37f0d645fd ui: 3rd party licences
Updated menu entry title to '3rd party licences'
2017-02-01 21:42:54 +01:00
Manuel Dobusch 25f8b6d385 ui: shortcut list
udpated style of shortcut list
2017-02-01 21:29:15 +01:00
Manuel Dobusch 02fad4990b logic: plugin fix
Can now handle projects with non-native build tool
2017-01-31 13:23:43 +01:00
Eberhard Graether 00cba732df ui: Added style for graph zoom buttons
* moved zoom buttons to QtGraphicsView due to stylesheet and repositioning on resize
2017-01-30 16:28:32 +01:00
Manuel Dobusch 85be119e7f ui: shortcut cheat sheet
Added a simple in-app shortcut list to the help section
2017-01-27 19:11:14 +01:00
malte_langkabel a78cb1d020 logic: fixed names of file nodes that are target of macro use edge
* fixed name of macro use edge target
* fixed generating a file nodes full path in SqliteStorage
2017-01-27 15:43:35 +01:00
Eberhard Graether f88fd92962 ui: bundle built-in types in graph view 2017-01-27 14:21:28 +01:00
Eberhard Graether b659b2ac34 ui: Show error in errors table when clicked in code view
bug id = 323
2017-01-27 14:04:55 +01:00
Eberhard Graether 7ee9624217 ui: Switched default mouse drag in code view to code selection, panning when Shift is pressed 2017-01-27 11:23:49 +01:00
Eberhard Graether 590f4138e1 data: Fix file node search with concatenated file path in storage fails for relative paths containing .. 2017-01-27 10:30:26 +01:00
Eberhard Graether a9153a8416 logic: Fixed headless Coati gets stuck in trial mode 2017-01-27 10:27:05 +01:00
Eberhard Graether 32550dcb77 ui: Fixed scrolling broken in graph view 2017-01-27 10:12:12 +01:00
Eberhard Graether 2aa8c4c22c ui: Refactored context menu API, added file path actions in graph and code
* Add 'copy full path' and 'show containing folder' actions to graph view, code view
* Added file path to file node tooltip

bug id = 320
2017-01-26 21:54:57 +01:00
Manuel Dobusch 4fc0785002 ui: company address updated
updated company address in 'about' window
2017-01-26 19:09:59 +01:00
Manuel Dobusch cdde712a2c ui: graph zoom buttons
Added simple zoom buttons to graph
2017-01-26 16:33:49 +01:00
Eberhard Graether 9583b6bbea ui: Split aggregation edges when expanding nodes if possible 2017-01-26 16:29:11 +01:00
Eberhard Graether 5e2c0f2c1f logic: Fixed trial to not refresh changed projects
It was not checked whether Coati is unlocked when refreshing an edited project. So users could change one of the sample
projects manually to index their own source code.
2017-01-26 13:18:13 +01:00
Eberhard Graether 91ae2da227 data: Uncommented lines in TicTacToe sample that use std library code 2017-01-26 12:35:06 +01:00
malte_langkabel c73599d64e logic: avoided triggering clang assertion when indexing lambda with return type that is specified but has neither declaration nor definition. (issue #318) 2017-01-23 16:51:31 +01:00
malte_langkabel 314f07c7b4 build: fixed filename in CMakeLists 2017-01-23 16:02:58 +01:00
malte_langkabel 2759018374 ui: show when type is built-in (issue #2)
* renamed DefinitionType to DefinitionKind
* passing DefinitionKind from Java to C++ instead of just a single bool
* omitting to create a symbol for undefined types

fortune cookie message = Happy news is on the way to you.
2017-01-23 15:55:29 +01:00
malte_langkabel 6ea248b500 logic: clearing unused includes
* refresh also clears referenced (included or imported) files if they are not part of the project's source files and are not referenced by any other unchanged file anymore.
2017-01-23 10:36:42 +01:00
malte_langkabel 0e5f65b475 logic: fixed bug that caused Java packages that only contain sub-packages to be recorded as undefined 2017-01-20 23:26:19 +01:00
malte_langkabel 184a1a0319 logic: fixed refreshing bug
* fixed bug where coati didn't recognize file dependencies because each file actually had two different nodes.
2017-01-19 13:44:14 +01:00
malte_langkabel 212c0e71fa ui: added context menu option to copy a graph-node's name 2017-01-19 12:01:08 +01:00
malte_langkabel 0cdddb616d ui: added options for context menu when clicking file name in code view
* copy full path
* open containing folder
2017-01-19 10:51:47 +01:00
malte_langkabel 8e4179cbf0 logic: reduced overhead in storage data types
* node represents something that is not yet defines
* nodes that are defined are either files or symbols

fortune cookie message = trust your intuition
2017-01-18 14:46:44 +01:00
Manuel Dobusch 79d5f48454 logic: licence error handling
Fixed bug #277 and improved error handling in licence code
2017-01-17 16:46:24 +01:00
Eberhard Graether 39a587aa83 ui: Fixed active reference not shown when switching between code view modes 2017-01-17 16:34:56 +01:00
Eberhard Graether 79ad952d13 ui: Styled code navigation
* Defined final icons and colors for code navigation buttons
* Added disabled color for all buttons in search and code navigation UI
2017-01-17 15:17:17 +01:00
Eberhard Graether db5a4618fe ui: Made edge lines thicker 2017-01-17 12:09:25 +01:00
malte_langkabel e7d2ddbd2d logic: handling of multiple files with the same name
* implemented storing symbols and files in completely different tables
2017-01-17 11:27:20 +01:00
malte_langkabel ecbc703261 logic: fixed environment variable detection
* fixed detection of environment variables in path that are encapsulated in %VARIABLE_NAME%
* mentioned notation for environment variables in documentation
2017-01-11 14:54:06 +01:00
malte_langkabel a8ca0660fa ui: Coati states if it requires 32 or 64 bit Java
* also updated documentation
2017-01-11 11:58:33 +01:00
malte_langkabel 0b3defbd1d logic: fixed windows crash in single file view 2017-01-10 15:59:20 +01:00
malte_langkabel 86def95c31 logic: updated Java indexer
this fixes a lot of unsolved-symbol issues.
2017-01-10 14:04:26 +01:00
Eberhard Graether d2ad2da1f1 ui: Fixed graph layouter couldn't handle nodes with same name 2017-01-09 22:05:03 +01:00
Eberhard Graether 79456d4121 ui: Don't allow vertical aggregation edges when either node is a child 2017-01-09 21:47:38 +01:00
Eberhard Graether 95dd6dadfc ui: Don't show stats snippet in code view when no project was loaded 2017-01-09 21:38:12 +01:00
Eberhard Graether cee8a52ca4 ui: Added checkbox to enable/disable animations to preferences 2017-01-09 21:32:59 +01:00
Eberhard Graether 757f728f98 ui: Removed double line around graph view 2017-01-09 21:15:14 +01:00
Eberhard Graether 2c7f19bfd1 ui: Fixed namespace label cut off when node is in front column 2017-01-09 16:59:16 +01:00
Eberhard Graether 2bdc9b19a2 ui: Added single file mode to code view
* Added navigation to top of code view for iterating references and switching between list and single file mode
* current file name and reference count is shown on top in single file mode
* refactored scrolling to location or line via request system
* added parameters animated and toTop to scrolling system
* refactored class hierarchy and removed unused stuff in list mode
2017-01-09 00:48:20 +01:00
malte_langkabel 79937b21f0 logic: refactored using Occurrences in PersistentStorage 2016-12-19 14:20:54 +01:00
malte_langkabel d9e6b23a8b ui: removed underscores from edge-hover names in graph 2016-12-16 11:02:33 +01:00
malte_langkabel 946052f5ae src: renamed template specialization edge types 2016-12-16 10:35:46 +01:00
malte_langkabel 4194381d5f logic: guessing type of callee node to be function. 2016-12-15 16:20:39 +01:00
Eberhard Graether 157e78a84b web: updated blog navigation, fixed jquery conflict 2016-12-14 15:41:55 +01:00
Eberhard Graether be7addb626 web: blog post for release 0.10 2016-12-14 15:40:02 +01:00
Eberhard Graether 59dad33d19 build: Added changelog for release 0.10.0 2016-12-14 15:27:32 +01:00
malte_langkabel c1648f59bd build: implemented auto-generation of GUID for windows installer 2016-12-14 15:21:00 +01:00
1594 changed files with 48752 additions and 84584 deletions
+30 -20
View File
@@ -2,56 +2,66 @@
/distr/
/deps/
/bin/app/Debug/
/bin/app/Release/
/bin/app/data/projects/ignored/
/bin/app/data/java/
/bin/app/user/log/
/bin/app/user/ApplicationSettings.xml
/bin/app/user/window_settings.ini
/bin/app/*.log
/bin/lib/
/bin/lib_gui/
/bin/lib_parser/
/bin/lib_license/
/bin/license_generator/Debug/
/bin/license_generator/Release/
/bin/test/Debug/
/bin/test/Release/
/bin/test/data/log/
/bin/test/data/temp.xml
/bin/test/data/TestSettings.xml
/java_indexer/bin/
/java_indexer/lib/
/java_indexer/target/
/setup/Linux/lib/
.DS_Store
.idea
.vscode
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/bin
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtension/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtension/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/bin/Debug
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/bin/Release
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionTests/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionUtility/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailExtensionUtility/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/TestResults
*.coatidb
*.srctrldb
*.srctrlbm
*.suo
*.vcxproj.user
*.sqlite
*.pch
*.swp
*.swo
*.VC.db
.clang_complete
.ycm_extra_conf.py
.ycm_extra_conf.pyc
coati.coatiproject
sourcetrail.srctrlprj
compile_commands.json
Makefile
CMakeLists.txt.user*
/__pycache__/
/deployment/windows/wixSetup/bin
/deployment/windows/wixSetup/build
/deployment/windows/wixSetup/CustomActions/SetupAppSettings/obj/x86/Release
/deployment/windows/wixSetup/CustomActions/UninstallRemoveLogFolder/obj/x86/Release
/deployment/windows/wixSetup/CustomActions/UninstallRemoveLogFolder/bin
/deployment/windows/wixSetup/CustomActions/UninstallRemoveLogFolder/obj
/deployment/windows/wixSetup/Setup/build/Setup/Release
/deployment/windows/wixSetup/Setup/build/Setup.VC.db
/deployment/windows/wixSetup/Setup/build/Setup/x64
+67 -18
View File
@@ -1,31 +1,80 @@
Linux64:
image: st4ll1/coati_linux_64
stage: deploy
only:
- master
.script_template: &script_definition
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail config -z ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
Linux64_test:
image: st4ll1/coati_64
stage: deploy
only:
- master
- triggers
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux64_tag:
image: st4ll1/coati_64
stage: deploy
only:
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- Sourcetrail*.tar.gz
Linux64:
image: st4ll1/coati_64
stage: deploy
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux64_licenseGenerator:
image: st4ll1/coati_64
stage: deploy
when: manual
script:
- ./script/setup.sh
- ./script/buildonly.sh r keygen
- mv build/Release/license_generator/Sourcetrail_license_generator .
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail_license_generator
expire_in: 3 days
Linux32:
image: st4ll1/coati_linux_32
image: st4ll1/coati_32
stage: deploy
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux32_tag:
image: st4ll1/coati_32
stage: deploy
only:
- master
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./bin/app/Release/Coati --licenseFile ./setup/license.txt
- cd ./bin/test
- ./Release/Coati_test
- cd ../..
- ./script/buildonly.sh package
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- distr/Coati*.tar.gz
expire_in: 3 days
- Sourcetrail*.tar.gz
+262 -79
View File
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.1)
#set (CMAKE_VERBOSE_MAKEFILE ON)
set (BINARY_DIR ${CMAKE_BINARY_DIR})
include(cmake/add_files.cmake)
include(cmake/create_source_groups.cmake)
include(cmake/version.cmake)
@@ -9,9 +11,24 @@ include(cmake/version_setup.cmake)
include(cmake/licenses.cmake)
# prohibit in-source-builds
IF(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
MESSAGE(STATUS "In-source-builds are not allowed")
MESSAGE(STATUS "Clean your source directory (e.g. delete the CMakeCache.txt file)")
MESSAGE(FATAL_ERROR "Please create a separate build directory and call CMake again")
ENDIF(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
# Variables --------------------------------------------------------------------
set(PROJECT_NAME Coati)
set(PROJECT_NAME Sourcetrail)
set(PROJECT_NAME_LOWER_CASE sourcetrail)
# speed up recompiling on unix with ccache
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
# Support Unix Makefiles and Ninja
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()
set(APP_PROJECT_NAME "${PROJECT_NAME}")
set(LIB_LICENSE_PROJECT_NAME "${PROJECT_NAME}_lib_license")
@@ -22,9 +39,17 @@ set(LIB_PROJECT_NAME "${PROJECT_NAME}_lib")
set(LICENSE_GENERATOR_PROJECT_NAME "${PROJECT_NAME}_license_generator")
set(TEST_PROJECT_NAME "${PROJECT_NAME}_test")
set (APP_INDEXER_NAME "${PROJECT_NAME_LOWER_CASE}_indexer")
if (WIN32)
include(cmake/setWinXxBits.cmake)
set(PLATFORM_INCLUDE "includesWindows.h")
LINK_DIRECTORIES($ENV{VLD_DIR}/lib/Win32) # this adds the library path for VLD, must be done before the project target is created
# this adds the library path for VLD, must be done before the project target is created
if(${WINXXBITS} STREQUAL "Win32")
LINK_DIRECTORIES($ENV{VLD_DIR}/lib/Win32)
else()
LINK_DIRECTORIES($ENV{VLD_DIR}/lib/Win64)
endif()
elseif (APPLE)
set(PLATFORM_INCLUDE "includesMac.h")
else ()
@@ -43,11 +68,10 @@ if(UNIX AND NOT APPLE)
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib/:$$ORIGIN/lib/")
include(cmake/external.cmake)
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 99)
# Settings ---------------------------------------------------------------------
@@ -64,14 +88,18 @@ endif()
if (UNIX AND APPLE)
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_release/share/llvm/cmake" NO_DEFAULT_PATH)
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_release/lib/cmake/llvm" NO_DEFAULT_PATH)
else()
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_debug/share/llvm/cmake" NO_DEFAULT_PATH)
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_debug/lib/cmake/llvm" NO_DEFAULT_PATH)
endif()
elseif(UNIX)
find_package(LLVM REQUIRED PATHS "$ENV{LLVM_DIR}/lib/cmake" )
else()
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build/share/llvm/cmake")
if(${WINXXBITS} STREQUAL "Win32")
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_win32/lib/cmake/llvm")
else()
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_win64/lib/cmake/llvm")
endif()
endif()
find_package(CLANG REQUIRED PATHS "${CMAKE_SOURCE_DIR}/cmake" NO_DEFAULT_PATH)
@@ -80,31 +108,49 @@ add_definitions(${CLANG_DEFINITIONS})
# Boost ------------------------------------------------------------------------
if(UNIX AND NOT APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
else()
set(BOOST_ROOT $ENV{BOOST_159_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
endif()
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_LIBRARYDIR $ENV{BOOST_159_DIR})
set(BOOST_LIBRARYDIR $ENV{BOOST_DIR})
find_package(Boost 1.59 COMPONENTS system program_options filesystem date_time REQUIRED)
if(UNIX AND NOT APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
elseif(UNIX AND APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
else()
set(BOOST_INCLUDEDIR $ENV{BOOST_DIR})
STRING(REGEX REPLACE "\\\\" "/" BOOST_LIBRARYDIR ${BOOST_LIBRARYDIR})
if(${WINXXBITS} STREQUAL "Win32")
set(BOOST_LIBRARYDIR "${BOOST_LIBRARYDIR}/lib32-msvc-14")
else()
set(BOOST_LIBRARYDIR "${BOOST_LIBRARYDIR}/lib64-msvc-14")
endif()
set(Boost_NO_SYSTEM_PATHS ON)
endif()
find_package(Boost 1.64 COMPONENTS system program_options filesystem date_time REQUIRED)
# Botan -------------------------------------------------------------------------
set(BOTAN_VERSION "botan-1.11")
set(BOTAN_VERSION "botan-2")
if(APPLE)
find_library(BOTAN ${BOTAN_VERSION} $ENV{BOTAN_DIR}/release NO_DEFAULT_PATH)
find_library(BOTAN_D ${BOTAN_VERSION} $ENV{BOTAN_DIR}/debug NO_DEFAULT_PATH)
elseif(UNIX)
find_library(BOTAN ${BOTAN_VERSION} "${BOTAN_DIR}")
find_library(BOTAN
NAMES ${BOTAN_VERSION}
HINTS "$ENV{BOTAN_DIR}/lib")
else()
find_library(BOTAN botan "$ENV{BOTAN_DIR}/release")
find_library(BOTAN_D botan "$ENV{BOTAN_DIR}/debug")
if(${WINXXBITS} STREQUAL "Win32")
find_library(BOTAN botan "$ENV{BOTAN_DIR}/win32/release")
find_library(BOTAN_D botan "$ENV{BOTAN_DIR}/win32/debug")
else()
find_library(BOTAN botan "$ENV{BOTAN_DIR}/win64/release")
find_library(BOTAN_D botan "$ENV{BOTAN_DIR}/win64/debug")
endif()
endif()
message(STATUS "botanversion: ${BOTAN}")
@@ -116,10 +162,21 @@ endif()
if(UNIX AND NOT APPLE)
find_path(BOTAN_INCLUDE_DIR NAMES botan/botan.h
HINTS "$ENV{BOTAN_DIR}/include"
PATH_SUFFIXES ${BOTAN_VERSION}
DOC "The Botan include directory")
elseif(WIN32)
if(${WINXXBITS} STREQUAL "Win32")
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/win32//build/include")
else()
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/win64/build/include")
endif()
else()
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/build/include")
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/release/build/include")
else()
set(BOTAN_INCLUDE_DIR "$ENV{BOTAN_DIR}/debug/build/include")
endif()
endif()
if(NOT BOTAN_INCLUDE_DIR)
@@ -129,16 +186,24 @@ endif()
# Lib License -------------------------------------------------------------------
if (UNIX)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib/")
else ()
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/lib/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_subdirectory(src/lib_license)
add_library(${LIB_LICENSE_PROJECT_NAME} ${LIB_LICENSE_FILES})
add_library(${LIB_LICENSE_PROJECT_NAME} STATIC ${LIB_LICENSE_FILES})
create_source_groups(${LIB_LICENSE_FILES})
set_property(
TARGET ${LIB_LICENSE_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_license"
target_include_directories( ${LIB_LICENSE_PROJECT_NAME} PUBLIC
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LIB_LICENSE_PROJECT_NAME} SYSTEM
@@ -178,9 +243,10 @@ set_property(
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/build/src/lib_license"
)
target_include_directories(${LIB_PROJECT_NAME} SYSTEM
@@ -195,11 +261,8 @@ target_link_libraries(${LIB_PROJECT_NAME} ${Boost_LIBRARIES} ${LIB_LICENSE_PROJE
add_subdirectory(src/lib_cxx)
set_source_files_properties(${CLANG_FILES} PROPERTIES COMPILE_FLAGS "-fno-rtti")
add_library(${LIB_CXX_PROJECT_NAME} ${LIB_CXX_FILES})
add_library(${LIB_CXX_PROJECT_NAME} ${CLANG_FILES} ${LIB_CXX_FILES})
create_source_groups(${CLANG_FILES})
create_source_groups(${LIB_CXX_FILES})
set_property(
@@ -216,10 +279,13 @@ target_include_directories(${LIB_CXX_PROJECT_NAME} SYSTEM
)
link_directories(${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
llvm_map_components_to_libnames(REQ_LLVM_LIBS support core libdriver)
llvm_map_components_to_libnames(REQ_LLVM_LIBS support core libdriver passes)
target_link_libraries(${LIB_CXX_PROJECT_NAME} ${CLANG_LIBRARIES} ${REQ_LLVM_LIBS})
if (WIN32)
target_link_libraries(${LIB_CXX_PROJECT_NAME} version)
endif()
# Lib Java -------------------------------------------------------------------
@@ -236,6 +302,7 @@ set_property(
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
)
target_include_directories(${LIB_JAVA_PROJECT_NAME} SYSTEM
@@ -245,6 +312,8 @@ target_include_directories(${LIB_JAVA_PROJECT_NAME} SYSTEM
link_directories(${Boost_LIBRARY_DIRS})
target_link_libraries(${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME})
add_custom_command(
TARGET ${LIB_JAVA_PROJECT_NAME}
PRE_BUILD
@@ -263,11 +332,23 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
# Find the QtWidgets library
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
if(UNIX)
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
if(UNIX AND APPLE)
set(Qt5Widgets_DIR "$ENV{QT_DIR}/cmake/Qt5Widgets/")
set(Qt5PrintSupport_DIR "$ENV{QT_DIR}/cmake/Qt5PrintSupport/")
if(APPLE)
set(Qt5Widgets_DIR "$ENV{QT_DIR}/cmake/Qt5Widgets/")
set(Qt5PrintSupport_DIR "$ENV{QT_DIR}/cmake/Qt5PrintSupport/")
endif()
else()
if(${WINXXBITS} STREQUAL "Win32")
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN32_DIR}/")
else()
set(CMAKE_PREFIX_PATH "$ENV{QT_WIN64_DIR}/")
endif()
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5PrintSupport_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5PrintSupport")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
endif()
find_package(Qt5Widgets)
@@ -288,14 +369,16 @@ add_custom_target(
versionnumber ALL
)
add_library(${LIB_GUI_PROJECT_NAME} ${LIB_GUI_FILES} ${CMAKE_SOURCE_DIR}/build/src/lib_gui/version.h)
add_library(${LIB_GUI_PROJECT_NAME} ${LIB_GUI_FILES} ${CMAKE_BINARY_DIR}/src/lib_gui/version.h)
target_link_libraries(${LIB_GUI_PROJECT_NAME} Qt5::Widgets Qt5::Network)
# command for versioning script
add_custom_command(
TARGET versionnumber
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/version.cmake
BYPRODUCTS ${PROJECT_SOURCE_DIR}/build/src/lib_gui/version.h
COMMAND ${CMAKE_COMMAND} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/version.cmake
BYPRODUCTS ${CMAKE_BINARY_DIR}/src/lib_gui/version.h
DEPENDS ${LIB_GUI_PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "check/update version number"
@@ -308,11 +391,12 @@ set_property(
TARGET ${LIB_GUI_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/build/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/build/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
# include external header without warnings
@@ -321,33 +405,85 @@ target_include_directories(${LIB_GUI_PROJECT_NAME} SYSTEM
PUBLIC ${Boost_INCLUDE_DIRS}
)
# Use the Widgets module from Qt 5.
qt5_use_modules(${LIB_GUI_PROJECT_NAME} Widgets)
qt5_use_modules(${LIB_GUI_PROJECT_NAME} Network)
# configure platform specific include file
configure_file(
"${PROJECT_SOURCE_DIR}/src/lib_gui/platform_includes/includes.h.in"
"${PROJECT_SOURCE_DIR}/build/src/lib_gui/includes.h"
"${PROJECT_BINARY_DIR}/src/lib_gui/includes.h"
)
#configure the versioning file
configure_file(
${CMAKE_SOURCE_DIR}/cmake/version.h.in
${CMAKE_SOURCE_DIR}/build/src/lib_gui/version.h
${CMAKE_BINARY_DIR}/src/lib_gui/version.h
)
# configure public key for the coati version
include(cmake/publicKey.cmake)
# configure public key for the sourcetrail version
include(cmake/public_key.cmake)
set(CMAKE_AUTOMOC OFF)
# Indexer App ------------------------------------------------------------------
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/app/")
else ()
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/app/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_subdirectory(src/indexer)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(${APP_INDEXER_NAME} ${INDEXER_FILES})
if (WIN32)
# hide the console when running a release build.
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /DEBUG:FASTLINK")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS /DEBUG")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
# generate pdb for release build
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
endif ()
create_source_groups(${INDEXER_FILES})
target_link_libraries(${APP_INDEXER_NAME} ${LIB_GUI_PROJECT_NAME} ${LIB_CXX_PROJECT_NAME} ${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME})
if (APPLE)
find_library(CORE_FOUNDATION CoreFoundation)
target_link_libraries(${APP_INDEXER_NAME} ${CORE_FOUNDATION})
endif ()
set_property(
TARGET ${APP_INDEXER_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/app"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_BINARY_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
# App --------------------------------------------------------------------------
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/${CMAKE_BUILD_TYPE})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/app/")
else ()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/app/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_subdirectory(src/app)
@@ -356,21 +492,24 @@ add_subdirectory(src/app)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
if (WIN32)
file(WRITE ${CMAKE_SOURCE_DIR}/build/Coati.rc
file(WRITE ${CMAKE_BINARY_DIR}/Sourcetrail.rc
"// Icon with lowest ID value placed first to ensure application icon\n"
"// remains consistent on all systems.\n"
"IDI_ICON1 ICON \"${CMAKE_SOURCE_DIR}/build/coati.ico\"\n"
"IDI_ICON1 ICON \"${CMAKE_BINARY_DIR}/Sourcetrail.ico\"\n"
)
add_executable(${APP_PROJECT_NAME} ${APP_FILES} ${CMAKE_SOURCE_DIR}/build/Coati.rc)
add_executable(${APP_PROJECT_NAME} ${APP_FILES} ${CMAKE_BINARY_DIR}/Sourcetrail.rc)
# hide the console when running a release build.
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE")
# also show the console when running a release build.
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /DEBUG:FASTLINK")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:CONSOLE /DEBUG")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:CONSOLE")
# generate pdb for release build
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
else ()
add_executable(${APP_PROJECT_NAME} ${APP_FILES})
endif ()
@@ -388,9 +527,8 @@ set_property(
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/build/src/lib_gui"
"${CMAKE_SOURCE_DIR}/build/src/lib_license"
#"${CMAKE_SOURCE_DIR}/build/src/app"
"${CMAKE_BINARY_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${APP_PROJECT_NAME} SYSTEM
@@ -408,6 +546,8 @@ if (APPLE)
target_link_libraries(${APP_PROJECT_NAME} ${CORE_FOUNDATION})
endif ()
add_dependencies(${APP_PROJECT_NAME} ${APP_INDEXER_NAME})
# MacOSX Bundle ----------------------------------------------------------------
@@ -415,8 +555,9 @@ if (APPLE)
set(MACOSX_BUNDLE_NAME ${PROJECT_NAME})
set(MACOSX_BINARY_NAME ${APP_PROJECT_NAME})
set(MACOSX_INDEXER_BINARY_NAME ${APP_INDEXER_NAME})
set(MACOSX_DYNAMIC_LIBRARIES ${Boost_LIBRARIES} "${LLVM_LIBRARY_DIRS}/libLTO.3.8.dylib")
set(MACOSX_DYNAMIC_LIBRARIES "")
string(REPLACE ";" " " MACOSX_DYNAMIC_LIBRARIES "${MACOSX_DYNAMIC_LIBRARIES}")
get_property(QT_CORE_PATH TARGET ${Qt5Core_LIBRARIES} PROPERTY LOCATION)
@@ -457,13 +598,19 @@ endif ()
add_subdirectory(src/license_generator)
# configure private key for the sourcetrail version
include(cmake/private_key.cmake)
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/license_generator/${CMAKE_BUILD_TYPE})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/license_generator/")
else ()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/license_generator/)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/license_generator/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES})
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES} ${LICENSE_GENERATOR_MAIN})
create_source_groups(${LICENSE_GENERATOR_FILES})
@@ -471,6 +618,8 @@ set_property(
TARGET ${LICENSE_GENERATOR_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
@@ -478,7 +627,7 @@ target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
)
if(UNIX AND NOT APPLE)
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} pthread dl rt)
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} pthread rt)
endif()
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME} ${Boost_LIBRARIES} )
@@ -486,9 +635,12 @@ target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NA
# CxxTest ----------------------------------------------------------------------
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/test/${CMAKE_BUILD_TYPE})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test/")
else ()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/test/)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/test/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_subdirectory(src/test)
@@ -499,11 +651,12 @@ set(TESTGEN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp)
find_package(PythonInterp REQUIRED)
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} )
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} ${LICENSE_GENERATOR_FILES})
create_source_groups(${TEST_FILES})
target_link_libraries(${TEST_PROJECT_NAME} ${LIB_CXX_PROJECT_NAME} ${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME})
target_link_libraries(${TEST_PROJECT_NAME} ${LIB_CXX_PROJECT_NAME} ${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME} ${LIB_GUI_PROJECT_NAME})
find_package(CxxTest)
if (CXXTEST_FOUND)
@@ -512,10 +665,14 @@ if (CXXTEST_FOUND)
PROPERTY INCLUDE_DIRECTORIES
"${CXXTEST_INCLUDE_DIR}"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${Boost_INCLUDE_DIRS}"
)
endif (CXXTEST_FOUND)
@@ -525,14 +682,14 @@ if (WIN32)
add_custom_command(
TARGET ${TEST_PROJECT_NAME}
PRE_BUILD
COMMAND ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${PROJECT_SOURCE_DIR}/src/test/*.h
COMMAND cd ${PROJECT_SOURCE_DIR} && ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${TEST_FILES}
COMMENT "Generating unittest code with cxxtestgen"
)
add_custom_command(
TARGET ${TEST_PROJECT_NAME}
POST_BUILD
COMMAND cd $(ProjectDir)../bin/test/\n$(OutDir)$(TargetName)$(TargetExt)
COMMAND cd $(ProjectDir)../../bin/test/\n$(OutDir)$(TargetName)$(TargetExt)
COMMENT "Running unittest code"
)
@@ -540,16 +697,14 @@ elseif (UNIX)
add_custom_command(
OUTPUT ${TESTGEN_FILE}
PRE_BUILD
COMMAND rm -f ${TESTGEN_FILE}
COMMAND cd ${PROJECT_SOURCE_DIR} && ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${TEST_FILES}
#BYPRODUCTS ${TESTGEN_FILE}
DEPENDS ${TEST_FILES}
COMMENT "Generating unittest code with cxxtestgen"
)
add_custom_target(gen DEPENDS ${TESTGEN_FILE})
add_dependencies(${TEST_PROJECT_NAME} gen)
endif ()
# Visual Leak Detector ---------------------------------------------------------
@@ -558,7 +713,35 @@ if (WIN32)
include_directories($ENV{VLD_DIR}/include)
endif ()
# Linux package
if(UNIX AND NOT APPLE)
include(cmake/LinuxPackage.cmake)
endif ()
if (UNIX)
# symlinks for data
message(STATUS "create symlink: "
"${CMAKE_SOURCE_DIR}/bin/app/data ->"
"${CMAKE_BINARY_DIR}/app/data")
execute_process(
COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${CMAKE_BINARY_DIR}/app"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/app/data"
"${CMAKE_BINARY_DIR}/app/data"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/test/data"
"${CMAKE_BINARY_DIR}/test/data"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/app/user"
"${CMAKE_BINARY_DIR}/app/user"
)
if (UNIX AND NOT APPLE)
# Create different sized icons
message(STATUS "create icons")
execute_process(
COMMAND "${CMAKE_SOURCE_DIR}/setup/Linux/createIcons.sh" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}"
)
# Linux package
include(cmake/linux_package.cmake)
endif ()
endif ()
+257 -25
View File
@@ -1,46 +1,84 @@
## Coati
## Sourcetrail
### Setup
#### External Software
* JDK 1.8
* QT 5.6
* QT 5.9.1
* CxxTest 4.3
* Valgrind 3.9.0 (linux)
* Clang & LLVM 3.8 (doesnt quite work for windows, use unix setup below and skip all the ninja stuff)(installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
* Boost 1.59
* Botan 1.11.34
* Clang & LLVM 4.0.1 (doesnt quite work for windows, use unix setup below and skip all the ninja stuff)(installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
* Boost 1.64
* Botan 2.1.0
also something about java, but who knows...
#### Environment Variables
* QT_DIR - .../Qt/Qt5.6.0/5.6/<IDE>
* CXX_TEST_DIR - .../cxxtest-4.3
* CLANG_DIR - .../clang-llvm
* BOOST_159_DIR - .../boost_1_59_0
* BOTAN_DIR - .../Botan-1.11.34
* BOOST_DIR - .../boost_1_64_0
* BOTAN_DIR - .../Botan-2.1.0
For Win32:
For MacOS and Linux
* QT_DIR - .../Qt/Qt5.9.1/5.9.1/<IDE>
For Windows:
* QT_WIN32_DIR - .../Qt/Qt5.9.1/5.9.1/msvc2015<IDE>
* QT_WIN64_DIR - .../Qt/Qt5.9.1/5.9.1/msvc2015_64<IDE>
* VLD_DIR - .../Visual Leak Detector
* path
- apped path to git.exe
- apped path to jdk/bin
- append path to VisualStudio/Common7/Tools
- append path to VisualStudio/Common7/IDE
##### Clang setup
For Windows:
Execute Cmake twice (once for each target compiler (32 and 64 bit)). Set the respective build path to ${CLANG_DIR}/build_win32 or ${CLANG_DIR}/build_win64
##### Boost setup
For Windows:
Build the Boost libs for 32 and 64 bit. Make sure that the platform specific libs are located in ${BOOST_DIR}/lib32-msvc-14 and ${BOOST_DIR}/lib64-msvc-14.
For Mac:
$ ./bootstrap.sh --with-libraries=filesystem,program_options,system,date_time
$ ./b2 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags=-fPIC
##### Botan setup
For Windows
Extract the contents of your Botan package into "${BOTAN_DIR}/win32". Duplicate that folder and rename it "win64".
Build 32 bit debug lib in ${BOTAN_DIR}/win32/debug
$ python configure.py --cc=msvc --cpu=x86_32 --disable-shared --no-optimizations --with-debug-info
Build 32 bit release lib in ${BOTAN_DIR}/win32/release
$ python configure.py --cc=msvc --cpu=x86_32 --disable-shared
To build the 64 bit lib start the VS command prompt with the "amd64" argument as described here:https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx
Build 64 bit debug lib in ${BOTAN_DIR}/win64/debug
$ python configure.py --cc=msvc --cpu=x86_64 --disable-shared --no-optimizations --with-debug-info
Build 64 bit release lib in ${BOTAN_DIR}/win64/release
$ python configure.py --cc=msvc --cpu=x86_64 --disable-shared
For MacOS and Linux
Build release lib in ${BOTAN_DIR}/release
Build debug lib in ${BOTAN_DIR}/debug
for Windows release build:
$ python configure.py --cc=msvc --cpu=x86_32 --disable-shared
for Windows debug build:
python configure.py --cc=msvc --cpu=x86_32 --disable-shared --no-optimizations --with-debug-info
for Mac:
$ python configure.py --disable-shared --disable-modules=darwin_secrandom
$ mkdir debug/release
$ cd debug/release
$ python ../configure.py --disable-shared --disable-modules=darwin_secrandom (--with-debug-info)
$ make -j 4
for Linux:
$ python configure.py --disable-shared
@@ -54,7 +92,7 @@ $ ./script/setup.sh
#### App
* create release build
* make sure it uses the Coati icon
* make sure it uses the Sourcetrail icon
* obfuscate the executable using upx
#### Data folder
@@ -62,11 +100,10 @@ $ ./script/setup.sh
* add empty log folder
* add working tictactoe.xml project to /projects/tictactoe with sources in /projects/tictactoe/src
* add empty app settings with one recent project tictactoe.xml
* leave window_settings.ini with correct Coati start layout
* leave window_settings.ini with correct Sourcetrail start layout
#### Package
* add app
* add web/coati_manual.pdf to package
#### Updating Clang on UNIX
@@ -82,11 +119,11 @@ $ cd tools/extra/
$ git pull origin master
$ cd ../../../../../build_debug
$ cmake -G Ninja ../llvm
$ cmake -G Ninja -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
$ cd ../release_build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../llvm
$ cd ../build_release
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
#### Remarks
@@ -101,10 +138,10 @@ $ git push --tags
### Loader gif creation from png sequence
// from png sequence
convert -delay 3 -loop 0 coati_*.png coati.gif
convert -delay 3 -loop 0 souretrail_*.png souretrail.gif
// less colors
gifsicle --colors 255 coati.gif > color.gif
gifsicle --colors 255 souretrail.gif > color.gif
// crop size
gifsicle --crop 0,5+0x-5 color.gif > crop.gif
@@ -117,7 +154,202 @@ gifsicle --resize-height 18 trans.gif > loader.gif
### Changelog
#### 0.9.22
#### 2017.2
released 2017-06-21
* Fixed crash when using shortcuts containing letters with focus on the graph on macOS (issue #390)
* Improved Visual Studio plugin performance
* Updated End User License Agreement and have users accept on first run on macOS and Linux
* Fixed memory issues when using large Compilation Database files (issue #396)
* Updated to JavaParser and JavaSymbolSolver
* Fixed issue where black borders appeared around dialogs for some Linux window managers (issue #376)
* Use platform default window decorations for UI dialogs
* Code: Made snippet minimize/maximize buttons more interactive by showing hover states
* Code: improved code view loading performance
* Java: Record more "import not found" errors
* Support Visual Studio 2017 in Visual Studio Plugin (issue #381)
* Graph: increased creation speed by requesting less data
* macOS: Codesign .app bundle to avoid "from unidentified developer" warning
* Error: Use same error order in error table and code view
* Error: Only show first 1000 errors, click button in lower right of error table to show all (issue #385)
* Graph: use bezier edges when activating aggregation edge
* Send ping after changing plugin ports
* Added menu action to display EULA and force accepting on macOS
* Fixed use of environment variables in project setup paths
* Multi-language project setup via Source Groups setup UI (issue #230)
* C/C++: Fixed no files indexed when relative file paths are provided in Compilation Database (issue #388)
* C/C++: Display an error when loading a Compilation Database fails
* C/C++: Fixed source files within Compilation Database not indexed unless within Indexed Header Paths
* Fixed status message length limiting window resizing (issue #372)
* Match source file extensions case insensitive (issue #384)
* Fixed indexing progress file count in status bar and status view (issue #387)
* Windows: remove setup.exe from windows installer with all necessary .dll files
* Added history list button between back and forward button
* Added history menu showing activated symbols in chronologic order
#### 0.12.25
released 2017-05-16
* Added QtCreator plugin
* Graph: Added context menu action to create bookmark for node under mouse cursor (issue #373)
* Code: Fixed code view not scrolled to first fulltext search match in single file mode
* Set unrestricted permission for accessing shared memory to fix crash on Windows
* Improved setting descriptions in preferences dialog
* Java: Updated to JavaParser 3.2.0 and JavaSymbolSolver 0.5.3
* Graph: Fixed order of nodes is same as within first encountered header file
* Save timestamp after project indexing and show it on the overview screen
* Fixed use of correct name delimiters in indexer processes
* Fixed crash when running 32 and 64 bit versions in parallel
* Bookmark: Changed menu action to "Bookmark Active Symbol"
* Graph: Zooming on Ctrl + Mouse Wheel now (Shift + Mouse Wheel still working)
* Added dialog to warn about "verbose indexer logging" before indexing.
* Added multi process indexing for C/C++ projects to better handle crashes during indexing.
* Reduced file accesses during C/C++ indexing.
* Graph: Show call graphs, inheritance trees and include trees for active symbol. UI in the top left of the graph view for defining direction and depth. (issues #249 #337)
* Improved performance by running UI updates in parallel for each view
* Fixed project refresh not recognizing newly added files
* Show progress dialog when clicking refresh while computing files (issue #341)
* Added show files button to summary of compilation database project setup (issue #354)
* Show option to run only C/C++ preprocessor when indexing on indexing start dialog (issue #297)
* Added bookmarking feature for nodes and edges. Bookmarks can have categories and comments. Data gets stored in .srctrlbm next to project file. Shortcuts similar to web browsers. (issue #138)
* Mark files with errors and all files within a translation unit with fatal errors as incomplete (issue #358)
* Fixed compilation database projects using C++ source extensions and standard (issue #366)
#### 0.11.86
released 2017-04-12
* Terminating all running tasks before closing the application (issue #343)
* Use all available cores when setting indexer threads to 0 (issue #342)
* Added reset window layout option to view menu (issue #289)
* Fixed colorscheme gets refreshed when cancelling preferences dialog
* Log: Scroll to first line in errors table after indexing and after display
* Copy old ApplicationSettings.xml and window_settings.ini files from previous Coati install if available.
* New projects are created with .srctrlprj and .srctrldb endings, but still support old file extensions.
* Renamed application from Coati to Sourcetrail
* Fixed issues in tutorial project
* Graph: Fixed node with no children but qualifier shows expand button
* Enable undo/redo actions in context menu only when available
* Java: Updated to JavaParser 3.1.2 and JavaSymbolSolver 0.5.2.x
* Revised undo/redo stack to handle messages differently
* Java: Added support for project setup from Maven
* Windows: Hide console when running release builds
* Show license information on start screen
* Added ping support to plugins and display current connected editor/IDE in status bar.
#### 0.11.15
released 2017-03-01
* Don't accept richt text in 'enter license' dialog field (issue #207)
* Updated EULA to include Test License and better clarify other license types
* Fixed icons in project setup dialogs blurry on highDPI screens
* Added link to additional downloadable pre-indexed projects to trial start screen
* Fixed crash when saving preferences if they contain relative paths
* Convert all paths chosen by patch picker relative to project location in project setup
* Disabled name and location changing in project editing and removed project moving
* Split default file extensions for C++ and C to avoid wrong files getting indexed
* Deprecated 'Lazy Include Search', it's only visible to previously created projects (issue #335)
* Support relative paths and paths containing environment variables for compilation database path (issue #312)
* Removed 'Advanced Settings' section in project setup and show theses options in separate dialog (#293)
* Support environment variables containing multiple files in project setup paths (issue #283)
* Warn users when no 'Indexed Header Paths' were set in compilation database project (issue #254)
* Renamed "Project Paths" to "Indexed Paths" in project setup
* Renamed "Project File Location" to "Coati Project Location" in project setup (issue #234)
* Allow opening indexed projects in trial mode
* Record node type of non-indexed qualifiers (e.g. "std" in "std::string" as namespace)
* Log: Fixed error icon loaded for every row (issue #287)
* Graph: Fixed lambda are placed within white area to better see call edges
* Graph: Show non-indexed nodes within their parents instead of using namespace labeling
* Code: Disabled syntax highlighting for project description
* Graph: Fixed different font-faces causing graph nodes to expand to bigger cell amount
* Mac: Fixed wrong READMEs at some plugins (issue #315)
* Mac: Removed boost libraries and libLTO from Mac bundle
* Windows: Add Visual Studio compatibility flags to new project when Visual Studio include paths are present
* Renamed undefined nodes to non-indexed nodes for clarification
* Show progress in file clearing dialog
* Extended syntax highlighting for Java and distinguish by project type
* offer Windows 64bit build (issue #300)
* Fixed legacy Java 6 install necessary on MacOS (issue #280)
* Updated to Qt 5.8
* Updated to clang/llvm 3.9
* Added multithreading to Visual Studio plugin compilation database creation
* Graph: Use new list layouting for overview bundles and namespaces/packages
* Graph: Group nodes in list layout by starting character and allow jumping to group by pressing the key
* Graph: Use node specific styles for overview bundles
* Visual Studio plugin can now handle projects with non-native build tool for compilation database export
* Changed menu action 'Licenses' to '3rd Party Licenses'
* Added dialog with all shortcuts to Help menu
* Log: Show error in errors table when clicked in code view (issue #323)
* Code: Switched default mouse drag behavior to selection, panning on Shift + drag, and show suitable cursors
* Updated company address in about dialog
* Graph: Added on-screen zoom buttons
* Graph: Split aggregation edge when expanding nodes if possible
* Uncommented lines using the std library in TicTacToe sample
* Fixed issue with lambda return type (issue #318)
* Save builtin types as separate node type (issue #2)
* Remove unused included files after refreshing
* Java: Fixed packages that only contain packages to show up as non-indexed
* Added context-menu actions to copy node names, file paths and show files in containing directory (issue #320)
* Fixed crash when entering a single space in 'enter license' dialog (issue #277)
* Graph: Made edge lines thicker
* Fixed handling and storing of files with the same name
* Fixed environment variable detection within project paths for %VARIABLE_NAME% syntax
* Coati states whether it needs 32bit or 64bit JRE
* Java: Updated indexer to fix a lot of unsolved symbol issues
* Graph: Fixed layouter couldn't handle nodes with same name
* Graph: Fixed weird looking vertical aggregation edges to child nodes
* Code: Don't show stats for non loaded project
* Added option to disable UI animations to preferences
* Graph: Removed double line around graph view on Mac
* Graph: Fixed namespace label cut off at edge of screen
* Code: Added single file view mode
* Code: Added navigation bar with mode toggle and buttons to navigate references
* Graph: Removed underscores in edge hover names
* Infere some non-indexed node types by their edges
#### 0.10.0
released 2016-12-13
* Windows: Added runtime DLLs that could be missing on some systems
* Click message in status bar to open status window
* Graph: Sort nodes alphabetically within each section
* Graph: Aggregate type use edges to make referencing nodes appear collapsed
* Code: Improved performance through faster source location retrieval for files
* Code: Scroll active symbol definition to top of view if possible
* Added status tab to Log View showing status bar information
* Graph: Fixed graph animation used when clicking edges
* Graph: Disable bundling when files or macros are active
* Graph: Bundle importing files of active symbol in Java projects
* Improved speed of depending file search on refresh
* Search: Fixed crashes related to empty searches (issue #251)
* Search: Do fulltext search when no autocompletion match is available
* Added checkbox for full project refresh to start indexing dialog
* Disabled clang error limit by default to make sure all errors are shown
* Linux: Updated libs and added missing ones (issue #245)
* Updated icons for some graph nodes and project types
* Windows: Updated Visual Studio plugin UI
* Graph: Fixed view to not recenter on active node when clicking edge
* Fixed wrong errors displayed, wrong error counts and error view being wrongly shown
* Removed font zoom on CTRL + MouseWheel
* Graph: Display namespace information on left side of nodes, activate namespace by clicking label
* Improved file clearing performance
* Windows: Changed setup folder layout
* Added info screen for indexer crash investigation
* Code: Fixed display of links to missing symbols in project description
* Code: Fixed snippet size calculation causing a slowdown in certain cases
* Search: Skip intermediate autocompletions when typing fast
* Show dialog for last files inserted into .coatidb at end of indexing
* Integrated Visual Studio Plugin with Coati Project creation and removed previous Visual Studio Solution parser
* Improved C++ indexer coverage: using decls, using directives, auto keyword, lambda signatures, symbol references inside lambda captures, template argument related elements
* Reduced size of .coatidb file by up to 50% for large projects
* Fixed anonymouse symbol name conflicts (issue #241)
* Preferences: Added Indexer Logging option to print AST information during indexing
* Search: Added second line to search autocompletion list showing namespace, package or filepath
* Made cells readonly in errors table to prevent editing (issue #236)
* Renamed Log Window to Status window
#### 0.9.23
released 2016-10-27
* Windows: Added logging and exception handling to VS plugin
@@ -4,7 +4,7 @@ LLVM Release License
University of Illinois/NCSA
Open Source License
Copyright (c) 2007-2015 University of Illinois at Urbana-Champaign.
Copyright (c) 2007-2016 University of Illinois at Urbana-Champaign.
All rights reserved.
Developed by:
@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -0,0 +1,53 @@
/* ====================================================================
* Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
@@ -0,0 +1,174 @@
GNU LESSER GENERAL PUBLIC LICENSE
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3, which is displayed below.
This license makes reference to the version 3 of the GNU General
Public License, which you can find in the LICENSE.GPLv3 file.
-------------------------------------------------------------------------
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this
licensedocument, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the
GNU General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort
to ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this
license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken
together, effectively do not restrict modification of the portions of
the Library contained in the Combined Work and reverse engineering for
debugging such modifications, if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this
license document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of
this License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with
the Library. A suitable mechanism is one that (a) uses at run
time a copy of the Library already present on the user's
computer system, and (b) will operate properly with a modified
version of the Library that is interface-compatible with the
Linked Version.
e) Provide Installation Information, but only if you would
otherwise be required to provide such information under section 6
of the GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the Application
with a modified version of the Linked Version. (If you use option
4d0, the Installation Information must accompany the Minimal
Corresponding Source and Corresponding Application Code. If you
use option 4d1, you must provide the Installation Information in
the manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library
side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities, conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of
it is a work based on the Library, and explaining where to find
the accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
as you received it specifies that a certain numbered version of the
GNU Lesser General Public License "or any later version" applies to
it, you have the option of following the terms and conditions either
of that published version or of any later version published by the
Free Software Foundation. If the Library as you received it does not
specify a version number of the GNU Lesser General Public License,
you may choose any version of the GNU Lesser General Public License
ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the Library.
+41 -41
View File
@@ -9,46 +9,46 @@
<config>
<version><!-- INTEGER: Version number --></version>
<info>
<description><!-- STRING: optional description shown in overview. Symbols can be linked with syntax [main] --></description>
</info>
<description><!-- STRING: optional description shown in overview. Symbols can be linked with syntax [main] --></description>
<language_settings>
<language><!-- STRING: name of the language, e.g. c, c++, spanish, greek, greek++,... --></language>
<standard><!-- STRING: language version, e.g. c++ '11' --></standard>
</language_settings>
<source>
<source_paths>
<source_path><!-- STRING: path to source file or directory, also used as header search path --></source_path>
</source_paths>
<compiler_flags>
<compiler_flag><!-- STRING: compiler flag, including the dash e.g. -v --></compiler_flag>
</compiler_flags>
<header_search_paths>
<header_search_path><!-- STRING: header search path for each path a header_search_path element --></header_search_path>
</header_search_paths>
<!-- MAC ONLY -->
<framework_search_paths>
<framework_search_path><!-- STRING: framework search path --></framework_search_path>
</framework_search_paths>
<extensions>
<source_extensions><!-- STRING: extension for source e.g. .cpp --></source_extensions>
</extensions>
<use_source_paths_for_header_search><!-- BOOL: If enabled all subfolder of the source paths will be used for header search --></use_source_paths_for_header_search>
<exclude_paths>
<exclude_path><!-- STRING: path to file or directory to exclude from analysis --></source_path>
</exclude_paths>
<build_file_path>
<vs_solution_path><!-- STRING: path to Visual Studio solution *.sln --></vs_solution_path>
<compilation_db_path><!-- STRING: path to Compilation Database --></compilation_db_path>
</build_file_path>
</source>
<source_groups>
<source_group_xyz>
<type><!-- STRING: describes what kind of project this is, e.g. "C Source Group", "Java Source Group from Maven" --></type>
<standard><!-- STRING: language version, e.g. c++ '11' --></standard>
<source_paths>
<source_path><!-- STRING: path to source file or directory, also used as header search path --></source_path>
</source_paths>
<exclude_paths>
<exclude_path><!-- STRING: path to file or directory to exclude from analysis --></source_path>
</exclude_paths>
<source_extensions>
<source_extension><!-- STRING: extension for source e.g. .cpp --></source_extension>
</source_extensions>
<header_search_paths>
<header_search_path><!-- STRING: header search path for each path a header_search_path element --></header_search_path>
</header_search_paths>
<use_source_paths_for_header_search><!-- BOOL: If enabled all subfolder of the source paths will be used for header search --></use_source_paths_for_header_search>
<!-- begin MAC ONLY -->
<framework_search_paths>
<framework_search_path><!-- STRING: framework search path --></framework_search_path>
</framework_search_paths>
<!-- end MAC ONLY -->
<compiler_flags>
<compiler_flag><!-- STRING: compiler flag, including the dash e.g. -v --></compiler_flag>
</compiler_flags>
<build_file_path>
<vs_solution_path><!-- STRING: path to Visual Studio solution *.sln --></vs_solution_path>
<compilation_db_path><!-- STRING: path to Compilation Database --></compilation_db_path>
</build_file_path>
</source_group_xyz>
</source_groups>
</config>
+45 -22
View File
@@ -10,6 +10,7 @@
<press>#CCCCCC</press>
<disabled>#606060</disabled>
<icon>white</icon>
<icon_disabled>#808080</icon_disabled>
</button>
<field>
@@ -73,6 +74,11 @@
<code>
<background>#494949</background>
<navigation>
<text>#A0A0A0</text>
<line>#CCCCCC</line>
</navigation>
<file>
<background>#CCCCCC</background>
@@ -82,10 +88,12 @@
<hover>#BBBBBB</hover>
<press>#AAAAAA</press>
<icon>black</icon>
<border>#B1B1B1</border>
<hatching>grey</hatching>
</title>
<ref_count>
<text>#C4C4C4</text>
<text>#D4D4D4</text>
<background>#494949</background>
</ref_count>
</file>
@@ -100,21 +108,21 @@
</title>
<line_number>
<text>#C4C4C4</text>
<text>#D4D4D4</text>
<inactive_text>#A0A0A0</inactive_text>
<background>#494949</background>
<marker>#C4C4C4</marker>
<marker>#D4D4D4</marker>
</line_number>
<syntax>
<normal>#C4C4C4</normal>
<normal>#D4D4D4</normal>
<directive>#00A0B6</directive>
<keyword>#00A0B6</keyword>
<type>#FF4A52</type>
<comment>#A0A0A4</comment>
<number>#EE7326</number>
<quotation>#D663D6</quotation>
<function>#FBBA00</function>
<keyword>#00BCD6</keyword>
<type>#FF5961</type>
<comment>#78946B</comment>
<number>#FC7F30</number>
<quotation>#DB77DB</quotation>
<function>#FFCC3B</function>
</syntax>
<selection>
@@ -217,9 +225,9 @@
<normal>#FFFFFF</normal>
</icon>
</type>
<builtin_type>
<built_in_type>
<like>type</like>
</builtin_type>
</built_in_type>
<class>
<like>type</like>
</class>
@@ -232,6 +240,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -244,7 +255,7 @@
<function>
<fill>
<normal>#FBBA00</normal>
<normal>#FFCC3B</normal>
<focus>#FFD05A</focus>
</fill>
<border>
@@ -261,8 +272,8 @@
<global_variable>
<fill>
<normal>#00A0B6</normal>
<focus>#3BAFB2</focus>
<normal>#00BCD6</normal>
<focus>#38D3E8</focus>
</fill>
<border>
<normal>transparent</normal>
@@ -279,9 +290,9 @@
<like>global_variable</like>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#873E3E</normal>
@@ -316,6 +327,9 @@
<icon>
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#999999</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -363,6 +377,14 @@
<normal>#FFFFFF</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#B1B1B1</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -374,11 +396,12 @@
</override>
<call>
<normal>#FBBA00</normal>
<normal>#DEA400</normal>
<trail_focus>#FFFFFF</trail_focus>
</call>
<use>
<normal>#2A6484</normal>
<normal>#00A0B6</normal>
</use>
<template_argument>
@@ -412,9 +435,9 @@
</graph>
<table>
<background>#494949</background>
<table>#C4C4C4</table>
<table>#D4D4D4</table>
<text>
<normal>#C4C4C4</normal>
<normal>#D4D4D4</normal>
<active>black</active>
</text>
<table_line_1>
@@ -428,7 +451,7 @@
</table>
<tab>
<background>#494949</background>
<active>#C4C4C4</active>
<active>#D4D4D4</active>
<hover>#878787</hover>
<text>#878787</text>
</tab>
+39 -19
View File
@@ -5,25 +5,26 @@
<background>white</background>
<button>
<normal>#E0E0E0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<disabled>#F4F4F4</disabled>
<normal>#D0D0D0</normal>
<hover>#A2A2A2</hover>
<press>#525252</press>
<disabled>#F2F2F2</disabled>
<icon>white</icon>
<icon_disabled>#CECECE</icon_disabled>
</button>
<field>
<text>black</text>
<background>#E0E0E0</background>
<highlight>#B2B2B2</highlight>
<background>#D0D0D0</background>
<highlight>#A2A2A2</highlight>
</field>
<popup>
<text>black</text>
<by_text>#626262</by_text>
<by_text>#525252</by_text>
<background>white</background>
<highlight>#D0D0D0</highlight>
<line>#E0E0E0</line>
<line>#D0D0D0</line>
</popup>
<query>
@@ -73,15 +74,22 @@
<code>
<background>white</background>
<navigation>
<text>#A2A2A2</text>
<line>#A2A2A2</line>
</navigation>
<file>
<background>#E0E0E0</background>
<title>
<text>black</text>
<normal>#E0E0E0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<hover>#C2C2C2</hover>
<press>#A2A2A2</press>
<icon>black</icon>
<border>white</border>
<hatching>bright</hatching>
</title>
<ref_count>
@@ -111,7 +119,7 @@
<directive>#1B8856</directive>
<keyword>#1B8856</keyword>
<type>#C1492D</type>
<comment>#1A801A</comment>
<comment>#6B9AB2</comment>
<number>#C1315E</number>
<quotation>#865F9E</quotation>
<function>#CC9533</function>
@@ -119,7 +127,7 @@
<selection>
<text>black</text>
<background>#E0E0E0</background>
<background>#D0D0D0</background>
</selection>
<annotation>
@@ -165,7 +173,7 @@
<text>#000000</text>
</normal>
<focus>
<fill>#FFFF0000</fill>
<fill>#CCFF0000</fill>
</focus>
</error>
<fulltext>
@@ -209,9 +217,9 @@
<focus>#3C3C3C</focus>
</border>
</type>
<builtin_type>
<built_in_type>
<like>type</like>
</builtin_type>
</built_in_type>
<class>
<like>type</like>
</class>
@@ -224,6 +232,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -265,9 +276,9 @@
<like>global_variable</like>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#EFC5C5</normal>
@@ -286,8 +297,8 @@
<file>
<fill>
<normal>#DDD</normal>
<focus>#CCC</focus>
<normal>#BEE0AF</normal>
<focus>#A6D492</focus>
</fill>
<border>
<normal>#203C3C3C</normal>
@@ -334,6 +345,14 @@
<normal>black</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#A2A2A2</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -346,6 +365,7 @@
<call>
<normal>#F4BC3D</normal>
<trail_focus>#878787</trail_focus>
</call>
<use>
+30 -10
View File
@@ -10,6 +10,7 @@
<press>#444444</press>
<disabled>#333333</disabled>
<icon>white</icon>
<icon_disabled>#777777</icon_disabled>
</button>
<field>
@@ -73,6 +74,11 @@
<code>
<background>#272728</background>
<navigation>
<text>#A0A0A0</text>
<line>#CCC</line>
</navigation>
<file>
<background>#777777</background>
@@ -82,6 +88,8 @@
<hover>#555555</hover>
<press>#444444</press>
<icon>white</icon>
<border>#272728</border>
<hatching>dark</hatching>
</title>
<ref_count>
@@ -111,7 +119,7 @@
<directive>#1F9C62</directive>
<keyword>#1F9C62</keyword>
<type>#D95233</type>
<comment>#A0A0A4</comment>
<comment>#4E768A</comment>
<number>#CC3463</number>
<quotation>#9368AD</quotation>
<function>#D69C36</function>
@@ -129,12 +137,12 @@
<fill>transparent</fill>
</normal>
<focus>
<border>#F7F7F7</border>
<border>#D5D5D5</border>
<fill>transparent</fill>
</focus>
<active>
<border>transparent</border>
<fill>#F7F7F7</fill>
<fill>#D5D5D5</fill>
<text>#272728</text>
</active>
</token>
@@ -163,7 +171,7 @@
<error>
<normal>
<border>transparent</border>
<fill>#A0FF0000</fill>
<fill>#BBFF0000</fill>
<text>#000000</text>
</normal>
<focus>
@@ -212,9 +220,9 @@
<focus>#C3C3C3</focus>
</border>
</type>
<builtin_type>
<built_in_type>
<like>type</like>
</builtin_type>
</built_in_type>
<class>
<like>type</like>
</class>
@@ -227,6 +235,9 @@
<enum>
<like>type</like>
</enum>
<union>
<like>type</like>
</union>
<typedef>
<like>type</like>
</typedef>
@@ -268,9 +279,9 @@
<like>global_variable</like>>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#78282D</normal>
@@ -337,6 +348,14 @@
<normal>#F7F7F7</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#777777</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -349,6 +368,7 @@
<call>
<normal>#9C8528</normal>
<trail_focus>#F7F7F7</trail_focus>
</call>
<use>
@@ -379,8 +399,8 @@
</macro_use>
<aggregation>
<normal>#3D3D3D</normal>
<focus>#4D4D4D</focus>
<normal>#4D4D4D</normal>
<focus>#6D6D6D</focus>
</aggregation>
</edge>
</graph>
@@ -9,9 +9,9 @@
</indexing>
<user>
<recent_projects>
<recent_project>./projects/tutorial/tutorial.coatiproject</recent_project>
<recent_project>./projects/tictactoe/tictactoe.coatiproject</recent_project>
<recent_project>./projects/javaparser/javaparser.coatiproject</recent_project>
<recent_project>./projects/tutorial/tutorial.srctrlprj</recent_project>
<recent_project>./projects/tictactoe/tictactoe.srctrlprj</recent_project>
<recent_project>./projects/javaparser/javaparser.srctrlprj</recent_project>
</recent_projects>
</user>
<version>1</version>
+4 -4
View File
@@ -1,8 +1,8 @@
[General]
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\a\x80\0\0\x3\xcd\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\a\x80\0\0\x1\xf5\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x16\0\0\x2\xfe\0\0\0\xa5\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x3\xd6\0\0\x1\"\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\x16\0\0\0\x44\0\0\0\x44\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0^\0\0\x2\xb6\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x3\xda\0\0\x3\xa6\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\x1\0\0\x3\x18\0\0\0\xcb\0\0\0\xcb\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\x4\x83\0\0\x2\xb3\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\x4\x83\0\0\x2\x46\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x16\0\0\x2\xb3\0\0\0\xa3\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x2P\0\0\x1\x65\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\x16\0\0\0M\0\0\0\x44\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0g\0\0\x2\x62\0\0\0[\0\xff\xff\xff\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x2T\0\0\x2/\0\0\0\xdd\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\0\0\0\x2I\0\0\0\xcb\0\0\0\xcb\0\xff\xff\xff\0\0\x4\x83\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
[MainWindow]
maximized=true
size=@Size(1287 811)
position=@Point(259 117)
maximized=false
size=@Size(1200 800)
position=@Point(80 50)
showTitleBars=true
+2 -12
View File
@@ -4,16 +4,6 @@
font-weight: 100;
}
#closeButton {
background: transparent;
border: none;
color: white;
font-size: 14px;
height: 24px;
width: 24px;
}
#closeButton:hover {
border: 2px solid white;
border-radius: 12px;
#window {
background: qlineargradient( x1:0 y1:0.4, x2:0 y2:1, stop:0 #2F3F86, stop:1 #1C7BBC );
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,169 @@
/* Bookmark browser header */
#header_background {
background-color: #2E3C86;
}
#title {
color: white;
font-size: 18px;
font-weight: bold;
}
#filter_label, #order_label {
color: white;
font-size: 16px;
font-weight: bold;
margin-bottom: 5px;
}
#filter_box, #order_box {
/*margin-left: 20px;*/
}
/* Bookmark browser body */
#bookmark_tree {
border: none;
border-top: 1px solid #DFDFDF;
border-bottom: 1px solid #DFDFDF;
margin: 0px;
min-width: 500px;
min-height: 200px;
background-color: white;
}
/* Bookmark category */
#bookmark_category {
background: #DADADA;
border-bottom: 1px solid white;
padding: 4px 10px 3px 5px;
}
#bookmark_category:hover {
background: #DEDEDE;
}
#category_name {
color: black;
font-size: 12px;
margin-left: 1px;
}
#category_expand_button, #category_delete_button, #comment_button, #edit_button, #delete_button {
border: none;
background: transparent;
width: 20px;
height: 20px;
}
#edit_button {
margin-right: 3px;
}
/* Bookmark */
#bookmark {
padding: 3px 10px 3px 3px;
margin: 0;
background: white;
border-bottom: 1px solid #DFDFDF;
}
#bookmark_comment {
font-size: 12px;
padding: 3px 6px 3px 7px;
margin: 0;
color: #707070;
}
#activate_button {
background: white;
border: 2px solid white;
border-radius: 8px;
color: black;
font-size: 12px;
padding: 4px 8px 3px;
text-align: right;
}
#activate_button:hover {
border-color: #2D3C86;
}
#activate_button:pressed {
background: #CDD4F7;
}
#date_label {
margin: 1px 5px 0px;
font-size: 12px;
color: #707070;
}
/* Search bar buttons */
#bookmark_button, #show_bookmark_button {
background: <color:search/button/normal>;
border: none;
height: 30px;
width: 30px;
}
#bookmark_button:disabled, #show_bookmark_button:disabled {
background: <color:search/button/disabled>;
}
#bookmark_button:hover, #show_bookmark_button:hover {
background: <color:search/button/hover>;
}
#bookmark_button:pressed, #show_bookmark_button:pressed {
background: <color:search/button/press>;
}
#bookmark_button {
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin: 0px;
margin-right: 2px;
}
#show_bookmark_button {
border-bottom-right-radius: 12px;
border-top-right-radius: 12px;
margin: 0px;
}
/* Bookmark creator */
#creator_header_background {
background-color: #2E3C86;
}
#creator_title_label {
font-size: 18px;
font-weight: bold;
color: white;
}
#creator_label {
font-size: 14px;
font-weight: bold;
}
#creator_name_edit, #creator_comment_box {
border: 1px;
border-style: solid;
border-color: #dadada;
background: white;
border-radius: 12px;
min-height: 30px;
padding: 3px;
padding-left: 5px;
}
#creator_comment_box {
min-height: 160px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

+103 -39
View File
@@ -1,13 +1,87 @@
#code_container, #code_file_list {
#code_navigation, #code_container, #code_file_list, #code_file_single {
background-color: <color:code/background>;
}
#code_container, #code_file_list {
border: none;
}
#separator_gap {
background-color: <color:code/background>;
border: none;
}
#separator_line {
background-color: <color:code/navigation/line>;
border: none;
}
#code_navigation * {
color: <color:code/file/title/text>;
font-size: <setting:font_size>px;
}
#code_navigation QPushButton {
background: <color:search/button/normal>;
border: none;
color: <color:search/button/icon>;
height: 24px;
width: 24px;
}
#code_navigation QPushButton:hover, #code_navigation QPushButton:checked {
background: <color:search/button/hover>;
}
#code_navigation QPushButton:disabled {
background: <color:search/button/disabled>;
}
#code_navigation QPushButton:pressed {
background: <color:search/button/press>;
}
#code_navigation #reference_button_previous {
border-bottom-left-radius: 11px;
border-top-left-radius: 11px;
}
#code_navigation #reference_button_next {
border-bottom-right-radius: 11px;
border-top-right-radius: 11px;
}
#code_navigation #references_label {
border: none;
border-radius: 10px;
color: <color:code/navigation/text>;
font-size: <setting:font_size>px;
padding: 0px 3px;
margin: 4px 6px 4px 6px;
}
#code_navigation #mode_button_list {
padding-left: 2px;
}
#code_navigation #mode_button_single {
padding-right: 2px;
}
#code_navigation #mode_button_list {
border-bottom-left-radius: 11px;
border-top-left-radius: 11px;
}
#code_navigation #mode_button_single {
border-bottom-right-radius: 11px;
border-top-right-radius: 11px;
}
#code_file {
background-color: <color:code/snippet/background>;
border: 2px solid <color:code/file/background>;
border-radius: 12px;
border-top-left-radius: 14px;
border-top-right-radius: 14px;
font-size: <setting:font_size>px;
padding-bottom: 7px;
}
@@ -17,35 +91,45 @@
border-top-left-radius: 7px;
border-top-right-radius: 7px;
font-size: <setting:font_size>px;
padding-right: 5px;
}
#code_file #title_label {
#code_file #title_label, #single_file_title_bar #file_title {
background-color: <color:code/file/title/normal>;
border: none;
border-radius: 3px;
color: <color:code/file/title/text>;
font-size: <setting:font_size>px;
padding: 2px 4px;
margin: 1px 8px 3px;
}
#code_file #title_label:hover {
#code_file #title_label {
margin: 1px 8px;
}
#single_file_title_bar #file_title {
margin: 3px 8px;
}
#code_file #title_label:hover, #single_file_title_bar #file_title:hover {
background-color: <color:code/file/title/hover>;
}
#code_file #title_label:pressed {
#code_file #title_label:pressed, #single_file_title_bar #file_title:pressed {
background-color: <color:code/file/title/press>;
}
#code_file #references_label {
#code_file #title_label[complete=false], #single_file_title_bar #file_title[complete=false] {
border: 1px solid <color:code/file/title/border>;
}
#code_file #references_label, #single_file_title_bar #references_label {
background-color: <color:code/file/ref_count/background>;
border: none;
border-radius: 10px;
color: <color:code/file/ref_count/text>;
font-size: <setting:font_size-2>px;
padding: 0px 3px;
margin: 4px 0px 4px;
margin: 4px 6px 4px 0px;
}
#code_file #code_snippet {
@@ -54,11 +138,6 @@
font-size: <setting:font_size>px;
}
#code_file #code_snippet[isFirst=true] {
border: none;
padding-top: 0px;
}
#code_file #code_snippet #scope_name, #code_file #code_snippet #dots {
background-color: <color:code/snippet/title/background>;
border: none;
@@ -82,7 +161,7 @@
text-align: left;
}
#code_file #code_snippet #line_number_area {
#line_number_area {
background-color: <color:code/snippet/line_number/background>;
border: none;
color: <color:code/snippet/line_number/text>;
@@ -93,38 +172,23 @@
#code_area {
background-color: transparent;
color: <color:code/snippet/syntax/normal>;
font-family: "<setting:font_name>";
font-size: <setting:font_size>px;
selection-color: <color:code/snippet/selection/text>;
selection-background-color: <color:code/snippet/selection/background>;
}
#code_file #maximize_button, #code_file #snippet_button, #code_file #minimize_button {
#code_file #file_button {
background: transparent;
border: none;
margin: 3px;
max-height: 16px;
max-width: 16px;
}
#code_file #maximize_button {
border-image: url(<setting:gui_path>code_view/images/maximize_inactive.png);
#code_file #file_button:enabled {
border-image: url(<setting:gui_path>code_view/images/button_background.png);
}
#code_file #maximize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/maximize_active.png);
}
#code_file #snippet_button {
border-image: url(<setting:gui_path>code_view/images/snippet_inactive.png);
}
#code_file #snippet_button:enabled {
border-image: url(<setting:gui_path>code_view/images/snippet_active.png);
}
#code_file #minimize_button {
border-image: url(<setting:gui_path>code_view/images/minimize_inactive.png);
}
#code_file #minimize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/minimize_active.png);
#single_file_title_bar {
background-color: <color:code/file/background>;
padding-right: 5px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -1,3 +1,84 @@
QGraphicsView, QGraphicsScene {
background-color: <color:graph/background>;
border: none;
}
QPushButton {
background: <color:search/button/normal>;
border: none;
color: <color:search/button/icon>;
border-radius: 5px;
}
QPushButton:disabled {
background: <color:search/button/disabled>;
}
QPushButton:hover {
background: <color:search/button/hover>;
}
QPushButton:pressed {
background: <color:search/button/press>;
}
#expand_button {
max-width: 26px;
max-height: 26px;
}
#collapse_button {
border-radius: 0;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
}
#trail_button {
border-radius: 0;
}
#depth_label {
background: <color:search/button/normal>;
color: <color:search/button/icon>;
}
#depth_label:disabled {
background: <color:search/button/disabled>;
color: <color:search/button/icon_disabled>;
}
#depth_slider {
background: <color:search/button/normal>;
padding-bottom: 5px;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
}
#depth_slider:disabled {
background: <color:search/button/disabled>;
}
#depth_slider::groove {
margin: 5px;
width: 2px;
}
#depth_slider::handle {
height: 10px;
margin: 0px -4px;
border-radius: 5px;
}
#depth_slider::handle:hover {
height: 12px;
margin: 0px -5px;
border-radius: 6px;
}
#depth_slider::groove, #depth_slider::handle {
background: <color:search/button/icon>;
}
#depth_slider::groove:disabled, #depth_slider::handle:disabled {
background: <color:search/button/icon_disabled>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

@@ -0,0 +1,22 @@
#history_list {
background: <color:search/popup/background>;
border: none;
}
QListWidget::item {
border: none;
border-bottom: 1px solid <color:search/popup/background>;
}
#history_item, #history_item_current {
border: none;
color: <color:search/popup/text>;
font-family: "<setting:font_name>";
font-size: <setting:font_size>px;
padding-left: 22px;
padding-top: 1px;
}
#history_item_current {
font-weight: bold;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

+401 -76
View File
@@ -1,76 +1,401 @@
{\rtf1\ansi\ansicpg1252\deff0\deflang3079{\fonttbl{\f0\fnil\fcharset0 Calibri;}{\f1\fnil\fcharset2 Symbol;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sl240\slmult1\lang7\f0\fs22 Coati\par
Software License Agreement\par
Effective 1.1.2016\par
\pard\sa200\sl276\slmult1\par
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.\par
\par
\b DEFINITIONS\b0\par
"Software" means:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 A major version of Coati in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Coati 1.x.x.x is version 1);\par
{\pntext\f1\'B7\tab}documentation for that major version of Coati;\par
{\pntext\f1\'B7\tab}minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.g. the update from Coati 1.0.0.0 to Coati 1.0.1.4).\par
\pard\sa200\sl276\slmult1 "Licensor" means:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 Coati Software OG, having a place of business at Schlossallee 7/1, 5412 Puch/Hallein, Austria.\par
\pard\sa200\sl276\slmult1 "Licensee" means:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 the individual evaluating the trial version of the Software;\par
{\pntext\f1\'B7\tab}the company, corporation, or organization that purchased a License(s) for the Software;\par
{\pntext\f1\'B7\tab}the individual who purchased a License for the Software.\par
\pard\sa200\sl276\slmult1 "Activation Key" means:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 the name of the Licensee, the kind of license, the major version of the software that is licensed, and a hashcode; the combination of these values allows the Licensee to activate a genuine copy of the Software.\par
\pard\sa200\sl276\slmult1 "Authorized User" means:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 the individual evaluating the Software during a trial;\par
{\pntext\f1\'B7\tab}an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;\par
{\pntext\f1\'B7\tab}the individual who purchased a License for the Software; the individual is the only Authorized User.\par
\pard\sa200\sl276\slmult1\par
\b GRANT\b0\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 Subject to the terms of this Agreement, the Licensor hereby grants the Licensee a non-transferable, non-exclusive, non-sub-licensable, limited license that allows:\par
{\pntext\f1\'B7\tab}the Licensee to distribute (an) Activation Key(s) to Authorized User(s);\par
{\pntext\f1\'B7\tab}Authorized User(s) to install the licensed version of the Software on computer PCs where potential use of the Software is restricted exclusively to Authorized User(s);\par
{\pntext\f1\'B7\tab}Authorized User(s) to use the Software on computer PCs, in virtual machines, in combination with multiple IDEs, and in combination with multiple instances of an IDE;\par
{\pntext\f1\'B7\tab}Authorized User(s) to use the trial version of the software in order to examine the provided example projects;\par
{\pntext\f1\'B7\tab}Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.\par
{\pntext\f1\'B7\tab}In case the Licensee of the software is a company, corporation, or organization the Licensor has the right to mention this usage of the Software on its own website.\par
\pard\sa200\sl276\slmult1\par
\b RESTRICTIONS\b0\par
Licensee will not, and will have no right to:\par
\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 use the trial version of the software in order to examine project other than the provided examples;\par
{\pntext\f1\'B7\tab}use a private/academic license of the software for any commercial purposes;\par
{\pntext\f1\'B7\tab}distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;\par
{\pntext\f1\'B7\tab}modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the Software;\par
{\pntext\f1\'B7\tab}sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;\par
{\pntext\f1\'B7\tab}remove any proprietary notices or labels from the Software.\par
\pard\sa200\sl276\slmult1\par
\b TITLE AND COPYRIGHT\b0\par
Title, ownership rights, intellectual property rights, and copyright to the Software, and any copies or portions thereof, shall remain in Licensor. The Software is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.\par
\b\par
DISCLAIMER OF WARRANTY\b0\par
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.\par
\par
\b LIMITATION OF LIABILITY\b0\par
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.\par
\par
\b TERMINATION\b0\par
The license granted herein shall be perpetual. If Licensee fails to comply with any of the terms of this Agreement, this Agreement and the rights granted herein will terminate immediately. Licensor may, at its sole discretion and at any time, terminate this Agreement. On termination, Licensee must cease using and destroy all copies of the Software.\par
\b\par
EXPORT CONTROLS\b0\par
Licensee shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Au\'dfenwirtschaftsgesetz 2011, BGBl I No. 26/2011. Licensee shall not export, re-export or otherwise transfer the Software to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. Licensee represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.\par
\par
\b THIRD PARTY CREDITS\b0\par
Portions of the Software utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the Software, and are accessible via the \ldblquote Licenses\rdblquote dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.\par
\par
\b ENTIRE AGREEMENT\b0\par
This Agreement represents the complete agreement concerning this license between the parties and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both parties. Coati Software OG reserves the exclusive right to periodically update this EULA at its discretion at any time, with reasonable notice to you by posting the new EULA at the following URL: {\field{\*\fldinst{HYPERLINK "http://www.coati.io/"}}{\fldrslt{\ul\cf1 http://www.coati.io/}}}\f0\fs22 . Any action arising out of or relating to this Agreement may be brought exclusively in Salzburg, Austria, and Coati Software OG and you irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.\par
\par
\b CONTACT\b0\par
If you have questions regarding this agreement, contact:\par
\pard\sl276\slmult1 Coati Software OG\par
Schlossallee 7/1\par
5412 Puch/Hallein\par
\pard\sa200\sl276\slmult1 Austria\par
support@coati.io\par
\par
\par
}
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f79\fbidi \fswiss\fcharset238\fprq2 Helvetica CE;}{\f80\fbidi \fswiss\fcharset204\fprq2 Helvetica Cyr;}
{\f82\fbidi \fswiss\fcharset161\fprq2 Helvetica Greek;}{\f83\fbidi \fswiss\fcharset162\fprq2 Helvetica Tur;}{\f84\fbidi \fswiss\fcharset177\fprq2 Helvetica (Hebrew);}{\f85\fbidi \fswiss\fcharset178\fprq2 Helvetica (Arabic);}
{\f86\fbidi \fswiss\fcharset186\fprq2 Helvetica Baltic;}{\f87\fbidi \fswiss\fcharset163\fprq2 Helvetica (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025
\ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031
\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}}{\*\listtable{\list\listtemplateid-193139844\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid27729033}{\list\listtemplateid300595816\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid253251691}{\list\listtemplateid-1917002558\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid731805719}{\list\listtemplateid-331980480\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid846598160}{\list\listtemplateid2109785220\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid1207254615}{\list\listtemplateid2097152234\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid1638951864}}{\*\listoverridetable{\listoverride\listid846598160\listoverridecount0\ls1}{\listoverride\listid253251691\listoverridecount0\ls2}
{\listoverride\listid731805719\listoverridecount0\ls3}{\listoverride\listid1638951864\listoverridecount0\ls4}{\listoverride\listid1207254615\listoverridecount0\ls5}{\listoverride\listid27729033\listoverridecount0\ls6}}{\*\rsidtbl \rsid3083065\rsid5338747}
{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Thomson, Clive}{\operator Malte Langkabel}{\creatim\yr2017\mo6\dy20\hr14}{\revtim\yr2017\mo6\dy20\hr14\min8}
{\version3}{\edmins0}{\nofpages4}{\nofwords1481}{\nofchars8026}{\*\company CSR}{\nofcharsws9489}{\vern32859}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1417\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot3083065 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 Sourcetrail
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4 Software License Agreement (\'93\loch\f4 \hich\f4 AGREEMENT\'94\loch\f4 )
\par \hich\af4\dbch\af31505\loch\f4 Last date of change: 2017-06-19
\par
\par \hich\af4\dbch\af31505\loch\f4 BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CO\hich\af4\dbch\af31505\loch\f4
NSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 DEFINITIONS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 "SOFTWARE" means:}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls1\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
A version of the cross-platform source code explorer known as Sourcetrail in executa\hich\af4\dbch\af31505\loch\f4
ble form. The version is defined by the two leading numbers of the version string (e.g. the version of Sourcetrail 2017.1.x is version 2017.1);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 documentation for that version of Sourcetrail;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 minor updates included in software maintenance which are indi\hich\af4\dbch\af31505\loch\f4
cated by an increase in the digits that follow the first two leading numbers of the version string (e.g. the update from Sourcetrail 2017.1.0 to Sourcetrail 2017.1.1 is a minor update).
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSE" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the permission to use, reproduction and distributio\hich\af4\dbch\af31505\loch\f4 n of the SOFTWARE as defined by the following sections of this document.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSOR" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 \hich\f4
Coati Software OG, having a place of business at Jakob-Haringer-Stra\'df\loch\f4 e 1/127, 5020 Salzburg, Austria.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSEE" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the individual who purchased a LICENSE(s)\hich\af4\dbch\af31505\loch\f4 for the SOFTWARE; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the individual evaluating the SOFTWARE in trial mode; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the company, corporation, or organization that purchased a LICENSE(s) for the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the com\hich\af4\dbch\af31505\loch\f4 pany, corporation, or organization that was granted a LICENSE(s) for the SOFTWARE by the LICENSOR.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "PARTIES" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
both LICENSOR and LICENSEE collectively.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "ACTIVATION KEY" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
a document that defines the parameters of the LICENSE. It specifies th\hich\af4\dbch\af31505\loch\f4
e name of the licensed SOFTWARE, the name of the LICENSEE, the license type, an upper limit for the licensed SOFTWARE version or an expiration date, and a hash-code; the combination of these values allows the LICENSEE to unlock the full functionality of a
\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 genuine copy of the SOFTWARE.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "AUTHORIZED USER" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the individual who purchased a LICENSE(s) for the SOFTWARE; the individual is the only AUTHORIZED USER;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4
the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR; the individual is the only AUTHORIZED USER;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4 the individual evaluating the SOFTWARE in trial mode;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4
an employee or independent contractor who might at any time use the SOFTWA\hich\af4\dbch\af31505\loch\f4
RE, of the LICENSEE; for each ACTIVATION KEY an entity has as many AUTHORIZED USER(s) as defined by the amount of seats specified in the ACTIVATION KEY; if no amount of seats is specified in the ACTIVATION KEY the entity has one AUTHORIZED USER for this A
\hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 TIVATION KEY.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 GRANT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 Subject to the terms of this AGREEMENT, the LICENSOR hereby grants the LICENSEE a worldwide, non-transferable, non-exclusive, non-sub-licensable, limited LICENSE that allows:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the LICENSEE to distribute (an) ACTIVATION KEY(s) to AUT\hich\af4\dbch\af31505\loch\f4 HORIZED USER(s);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4
the LICENSEE and AUTHORIZED USER(s) to install the SOFTWARE on computer PCs where potential use of the SOFTWARE is restricted exclusively to AUTHORIZED USER(s);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the LICENSEE and AUTHORIZED USER(s) to use an ACTIVATION KEY to unlock the\hich\af4\dbch\af31505\loch\f4 SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 AUTHORIZED USER(s) to use any version of the SOFTWARE in trial mode;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4
AUTHORIZED USER(s) to use any version of the unlocked SOFTWARE that specifies a version number less than or equal to the version number denoted in the ACTIVATION KEY; if th\hich\af4\dbch\af31505\loch\f4
e ACTIVATION KEY does not denote a version number the AUTHORIZED USER is allowed to use any version of the SOFTWARE for a period of time that is limited by the expiration date specified in the ACTIVATION KEY;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 LICENSEE to make a copy of the SOFTWARE for a\hich\af4\dbch\af31505\loch\f4
rchival purposes provided the copy contains all of the proprietary notices of the SOFTWARE.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 RESTRICTIONS AND CONFIDENTIALITY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 The LICENSEE will not, and will have no right to:}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
modify, translate, reverse engineer, decompile, disassemble (except to the e\hich\af4\dbch\af31505\loch\f4
xtent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 sell, rent, lease, distribute, or otherwise transfer righ\hich\af4\dbch\af31505\loch\f4 ts to the SOFTWARE without prior written consent from LICENSOR;}{
\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 remove any proprietary notices or labels from the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 distribute, use, or transfer an ACTIVATION KEY(s) that has been superseded by an ACTIVATION KEY(s) provided with software mainte
\hich\af4\dbch\af31505\loch\f4 nance.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
AUTHORIZED USER(s) will not, and will have no right to:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls6\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
use an unlocked version of the SOFTWARE that exceeds the version string specified in the ACTIVATION KEY; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 use the trial mode of the SOFTWARE for any commercial purposes; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 use a Private/Ac\hich\af4\dbch\af31505\loch\f4 ademic License of the software for any commercial purposes.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
Unless a valid non-disclosure agreement exists between the Parties, in which case the terms of that non-disclosure agreement shall apply, the following terms shall: Except as necessary for its per\hich\af4\dbch\af31505\loch\f4
formance under the AGREEMENT or required by law, the LICENSOR shall not disclose to anyone any information furnished by the LICENSEE that is marked as confidential or proprietary.
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 TITLE AND COPYRIGHT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4
Title, ownership rights, intellectual property rights, and copyright to the SOFTWARE, and any copies or portions thereof, shall remain in LICENSOR. The SOFTWARE is protected by European copyright directives, Austrian copyright laws as well as United State
\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 copyright laws and international treaty provisions.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 DISCLAIMER OF WARRANTY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABI\hich\af4\dbch\af31505\loch\f4
LITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICEN
\hich\af4\dbch\af31505\loch\f4 S\hich\af4\dbch\af31505\loch\f4 EE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 LIMITATION OF LIABILITY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REP\hich\af4\dbch\af31505\loch\f4
AIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECI
\hich\af4\dbch\af31505\loch\f4 A\hich\af4\dbch\af31505\loch\f4
L, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSO
\hich\af4\dbch\af31505\loch\f4 R\hich\af4\dbch\af31505\loch\f4
BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH
\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4
OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 TERMINAT\hich\af4\dbch\af31505\loch\f4 ION
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4
The license granted herein shall be perpetual. If LICENSEE fails to comply with any of the terms of this AGREEMENT, this AGREEMENT and the rights granted herein will terminate immediately. LICENSOR may, at its sole discretion and at any time, terminat
\hich\af4\dbch\af31505\loch\f4 e this AGREEMENT. On termination, LICENSEE must cease using and destroy all copies of the SOFTWARE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 EXPORT CONTROLS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 LICENSEE shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European \hich\af4\dbch\af31505\loch\f4 \hich\f4
Parliament and of the Council and the Austrian Au\'df\loch\f4
enwirtschaftsgesetz 2011, BGBl I No. 26/2011. LICENSEE shall not export, re-export or otherwise transfer the SOFTWARE to any country for which the United States or the European Union or Austria maintains a\hich\af4\dbch\af31505\loch\f4 n
\hich\af4\dbch\af31505\loch\f4
embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. LICENSEE represents and warrants that licensee is not located in, under t
\hich\af4\dbch\af31505\loch\f4 h\hich\af4\dbch\af31505\loch\f4 e control of, or a national or resident of any restricted country or on any such list.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 THIRD PARTY CREDITS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4
Portions of the SOFTWARE utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the SOFTWARE, and are accessible via the \'93
\loch\f4 3rd Pa\hich\af4\dbch\af31505\loch\f4 r\hich\af4\dbch\af31505\loch\f4 \hich\f4 ty Licenses\'94\loch\f4 dialog for the SOFTWARE. LICENSEE agrees that use of such copyrighted materials is governed by their respective terms.
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 ENTIRE AGREEMENT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 This AGREEMENT represents the complete agreement concerning this SOFTWARE between the PARTIES and supers\hich\af4\dbch\af31505\loch\f4
edes all prior agreements and representations between them. It may be amended only in writing executed by both PARTIES. Coati Software OG reserves the exclusive right to periodically update this AGREEMENT at its discretion at any time, with reasonable not
\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4
ce to LICENSEE by posting the new AGREEMENT at the following URL: <https://www.sourcetrail.com/terms-of-use>. Any action arising out of or relating to this AGREEMENT may be brought exclusively in Salzburg, Austria, and the PARTIES irrevocably consent to t
\hich\af4\dbch\af31505\loch\f4 h\hich\af4\dbch\af31505\loch\f4 e jurisdiction of such courts and venue in Salzburg, Austria.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 CONTACT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 If you have questions regarding this agreement, contact:
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747 \hich\af4\dbch\af31505\loch\f4 Coati Software OG
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4 Jakob-Haringer-Stra\'df\loch\f4 e 1/127
\par \hich\af4\dbch\af31505\loch\f4 5020 Salzburg
\par \hich\af4\dbch\af31505\loch\f4 Austria
\par
\par \hich\af4\dbch\af31505\loch\f4 support@sourcetrail.com
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100e35a492797060000551b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b0704546a252e
e5d7048aa048fd0bbc33b3bbde89d72469235a417d48bcb3cfbcdf5f33be7aed5eccd0211192f2a4edd52fd73c44129f073409dbdead61ffd29a87a4c2498019
4f48db9b12e95ddb78ffbdab785d45242608f627721db7bd48a9747d6949fab08ce5659e9204de8db988b18247112e05021f01dd982d2dd76aab4b31a6898712
1c03d91d2ca894f8d21691344cbc8d9c7c8f018f4449bde03331d0c489bbc7808383ba86c8a9ec32810e316b7bc02ae04743724f798861a9e045dbab998fb7b4
717509af679b985ab0b7b4af6f3ed9be6c4370b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83aa569632cd467faddec9699640f6
eb3ced6ead596bb8f812fd9539995b9d4ea7d9ca64b1440dc87e6dcce1d76aab8dcd65076f4016df9cc3373a9bddeeaa8337208b5f9dc3f7afb4561b2ede8022
46938339b47668bf9f512f2063ceb62be16b005fab65f0190aa2a1082fcd62cc13b530d8627c978b3e203492614513a4a62919631f22b98be391a05873c0eb04
97ded8255fce2d696648fa82a6aaed7d9862c88a19bd97cf7e78f9ec093abefff4f8fecfc70f1e1cdfffc91272766de3242cef7af1dde77f3dfa04fdf9e4db17
0fbfacc6cb32feb71f3ffdf5972faa81903f33719e7ff5f8f7a78f9f7ffdd91fdf3fac806f0a3c2ac387342612dd2447689fc7a098b18a2b391989f3ed184698
96776c26a1c409d65c2ae8f754e4a06f4e31cbbce3c8d121ae056f0ba81f55c0eb93bb8ec083484c14ade07c238a1de02ee7acc345a5156e685e25330f274958
cd5c4ccab87d8c0fab787771e2f8b73749a172e661e928de8d8823e61ec389c221498842fa1d3f20a442bb3b943a76dda5bee0928f15ba435107d34a930ce9c8
89a6d9a66d1a835fa6553a83bf1ddbecde461dceaab4de22872e12b202b30ae187843966bc8e270ac755248738666583ef6015550939980abf8ceb49059e0e09
e3a81710686d15527c2440df92d36f602859956edf65d3d8450a450faa68ee60cecbc82d7ed08d709c5661073489cad80fe4018428467b5c55c177b99b21fa19
fc809385eebe4d89e3eed3abc12d1a3a22cd0244bf99086d45a8d54e058e69f24fe59851a8c7d6fa17578ea1003effe651854fdfd642bc093da92a13b64f94df
45b89345b7cb4540dffe9abb8527c91e81309f6f3cef4aeebb92ebfde74beea27c3e6ba19dd55628bb7a6eb053b19991e3c523f298323650534676a499922534
8aa00f8b7aa3392292e2cc9446f0352bec0e2e14d8ec4182ab8fa98a06114e61c2ae7b9a482833d2a144299770b433cb95b4351ea674650f864d7d64b0054162
b5cb03bbbca297f3934141c6b49bd09c3f73462b9ac05999ad5cc98882daafc2acae853a33b7ba11cdd43a875ba13238715e35582cac09130882b905acbc0a87
74cd1a4e26989140dbdd36dfdc2dc60b17e92219e180643ed27acffba86e9c94c78ab90c80d8a9f0913ee69d62b512b79626fb1adccee2a432bbc60276b9f75e
c74b7904cfbca413f7443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc3a116bec629785deaa10fb3106e877c256cd89f9acc26cb67de6ce58ab94950878b0a
6bf739859d3a900aa9b6b08c6c6898575908b04473b2f22f37c1ac17a5808df4579062650d82e18d490176745d4bc663e2abb2b34b2bda76f6312ba57ca28818
44c1111ab189d8c7e07e1daaa04f4025dc4d988aa01fe0264d5bdbbc728b739674e5fb2b83b3eb98a511cecaad4ed13c932ddce4712183792a8907ba55ca6e94
3bbf2a26e52f48957218ffcf54d1fd04ae0a5602ed011fee7205463a5fdb1e172ae25085d288fa7d019383a91d102d701b0baf21a8e046d9fc17e450ffb73967
6998b486139fdaa7211214fa918a04217b50964cf49d42ac9ef52e4b9265844c4495c495a9157b440e091bea1ab8aa7bbb87220875534db232607027e3cf7dce
326814ea21a79c6f4e0d297aafcd817f7bf2b1c90c4ab975d80c34b9fd0b112bbaaadd6fb6e7bdb7ac887e311bb31a795600b3522b686569ff8a229cb3d5da8a
35a7f17233170ebc38af312c1603510a173e48ff81fe4785cf880963dd50877c1f6a2b829f1a3431081b88ea4b76f040ba40dac5110c4e76d1069326654d9b8d
4eda6a79b3bee049b7e07bc2d85ab2b3f8fb9cc62e8633979d938b1769ecccc28eadedda425383674fa6282c8df3938c718cf95dabfcc3131fdd05476fc105ff
84296982097e55121846cf81c903487ecbd16cddf81b0000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000000000
00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
00002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402000074
68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100e35a492797060000551b0000160000000000000000
0000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
0000000000000000009c0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000970a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000d095
c2fbbde9d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}
+102 -72
View File
@@ -1,72 +1,102 @@
Coati
Software License Agreement
Effective 1.1.2016
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
DEFINITIONS
"Software" means:
·0 A major version of Coati in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Coati 1.x.x.x is version 1);
·1 documentation for that major version of Coati;
·2 minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.g. the update from Coati 1.0.0.0 to Coati 1.0.1.4).
"Licensor" means:
·3 Coati Software OG, having a place of business at Schlossallee 7/1, 5412 Puch/Hallein, Austria.
"Licensee" means:
·4 the individual evaluating the trial version of the Software;
·5 the company, corporation, or organization that purchased a License(s) for the Software;
·6 the individual who purchased a License for the Software.
"Activation Key" means:
·7 the name of the Licensee, the kind of license, the major version of the software that is licensed, and a hashcode; the combination of these values allows the Licensee to activate a genuine copy of the Software.
"Authorized User" means:
·8 the individual evaluating the Software during a trial;
·9 an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;
·10 the individual who purchased a License for the Software; the individual is the only Authorized User.
GRANT
·11 Subject to the terms of this Agreement, the Licensor hereby grants the Licensee a non-transferable, non-exclusive, non-sub-licensable, limited license that allows:
·12 the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
·13 Authorized User(s) to install the licensed version of the Software on computer PCs where potential use of the Software is restricted exclusively to Authorized User(s);
·14 Authorized User(s) to use the Software on computer PCs, in virtual machines, in combination with multiple IDEs, and in combination with multiple instances of an IDE;
·15 Authorized User(s) to use the trial version of the software in order to examine the provided example projects;
·16 Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.
·17 In case the Licensee of the software is a company, corporation, or organization the Licensor has the right to mention this usage of the Software on its own website.
RESTRICTIONS
Licensee will not, and will have no right to:
·18 use the trial version of the software in order to examine project other than the provided examples;
·19 use a private/academic license of the software for any commercial purposes;
·20 distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
·21 modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the Software;
·22 sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;
·23 remove any proprietary notices or labels from the Software.
TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the Software, and any copies or portions thereof, shall remain in Licensor. The Software is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
TERMINATION
The license granted herein shall be perpetual. If Licensee fails to comply with any of the terms of this Agreement, this Agreement and the rights granted herein will terminate immediately. Licensor may, at its sole discretion and at any time, terminate this Agreement. On termination, Licensee must cease using and destroy all copies of the Software.
EXPORT CONTROLS
Licensee shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. Licensee shall not export, re-export or otherwise transfer the Software to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. Licensee represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.
THIRD PARTY CREDITS
Portions of the Software utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the Software, and are accessible via the “Licenses” dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.
ENTIRE AGREEMENT
This Agreement represents the complete agreement concerning this license between the parties and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both parties. Coati Software OG reserves the exclusive right to periodically update this EULA at its discretion at any time, with reasonable notice to you by posting the new EULA at the following URL: http://www.coati.io/. Any action arising out of or relating to this Agreement may be brought exclusively in Salzburg, Austria, and Coati Software OG and you irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this agreement, contact:
Coati Software OG
Schlossallee 7/1
5412 Puch/Hallein
Austria
support@coati.io
Sourcetrail
Software License Agreement (“AGREEMENT”)
Last date of change: 2017-06-19
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
DEFINITIONS
"SOFTWARE" means:
• A version of the cross-platform source code explorer known as Sourcetrail in executable form. The version is defined by the two leading numbers of the version string (e.g. the version of Sourcetrail 2017.1.x is version 2017.1);
• documentation for that version of Sourcetrail;
• minor updates included in software maintenance which are indicated by an increase in the digits that follow the first two leading numbers of the version string (e.g. the update from Sourcetrail 2017.1.0 to Sourcetrail 2017.1.1 is a minor update).
"LICENSE" means:
the permission to use, reproduction and distribution of the SOFTWARE as defined by the following sections of this document.
"LICENSOR" means:
• Coati Software OG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, Austria.
"LICENSEE" means:
the individual who purchased a LICENSE(s) for the SOFTWARE;
• the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR;
the individual evaluating the SOFTWARE in trial mode;
the company, corporation, or organization that purchased a LICENSE(s) for the SOFTWARE;
• the company, corporation, or organization that was granted a LICENSE(s) for the SOFTWARE by the LICENSOR.
"PARTIES" means:
• both LICENSOR and LICENSEE collectively.
"ACTIVATION KEY" means:
• a document that defines the parameters of the LICENSE. It specifies the name of the licensed SOFTWARE, the name of the LICENSEE, the license type, an upper limit for the licensed SOFTWARE version or an expiration date, and a hash-code; the combination of these values allows the LICENSEE to unlock the full functionality of a genuine copy of the SOFTWARE.
"AUTHORIZED USER" means:
• the individual who purchased a LICENSE(s) for the SOFTWARE; the individual is the only AUTHORIZED USER;
• the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR; the individual is the only AUTHORIZED USER;
• the individual evaluating the SOFTWARE in trial mode;
• an employee or independent contractor who might at any time use the SOFTWARE, of the LICENSEE; for each ACTIVATION KEY an entity has as many AUTHORIZED USER(s) as defined by the amount of seats specified in the ACTIVATION KEY; if no amount of seats is specified in the ACTIVATION KEY the entity has one AUTHORIZED USER for this ACTIVATION KEY.
GRANT
Subject to the terms of this AGREEMENT, the LICENSOR hereby grants the LICENSEE a worldwide, non-transferable, non-exclusive, non-sub-licensable, limited LICENSE that allows:
• the LICENSEE to distribute (an) ACTIVATION KEY(s) to AUTHORIZED USER(s);
• the LICENSEE and AUTHORIZED USER(s) to install the SOFTWARE on computer PCs where potential use of the SOFTWARE is restricted exclusively to AUTHORIZED USER(s);
• the LICENSEE and AUTHORIZED USER(s) to use an ACTIVATION KEY to unlock the SOFTWARE;
• AUTHORIZED USER(s) to use any version of the SOFTWARE in trial mode;
• AUTHORIZED USER(s) to use any version of the unlocked SOFTWARE that specifies a version number less than or equal to the version number denoted in the ACTIVATION KEY; if the ACTIVATION KEY does not denote a version number the AUTHORIZED USER is allowed to use any version of the SOFTWARE for a period of time that is limited by the expiration date specified in the ACTIVATION KEY;
• LICENSEE to make a copy of the SOFTWARE for archival purposes provided the copy contains all of the proprietary notices of the SOFTWARE.
RESTRICTIONS AND CONFIDENTIALITY
The LICENSEE will not, and will have no right to:
• modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the SOFTWARE;
• sell, rent, lease, distribute, or otherwise transfer rights to the SOFTWARE without prior written consent from LICENSOR;
• remove any proprietary notices or labels from the SOFTWARE;
• distribute, use, or transfer an ACTIVATION KEY(s) that has been superseded by an ACTIVATION KEY(s) provided with software maintenance.
AUTHORIZED USER(s) will not, and will have no right to:
• use an unlocked version of the SOFTWARE that exceeds the version string specified in the ACTIVATION KEY;
• use the trial mode of the SOFTWARE for any commercial purposes;
• use a Private/Academic License of the software for any commercial purposes.
Unless a valid non-disclosure agreement exists between the Parties, in which case the terms of that non-disclosure agreement shall apply, the following terms shall: Except as necessary for its performance under the AGREEMENT or required by law, the LICENSOR shall not disclose to anyone any information furnished by the LICENSEE that is marked as confidential or proprietary.
TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the SOFTWARE, and any copies or portions thereof, shall remain in LICENSOR. The SOFTWARE is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
TERMINATION
The license granted herein shall be perpetual. If LICENSEE fails to comply with any of the terms of this AGREEMENT, this AGREEMENT and the rights granted herein will terminate immediately. LICENSOR may, at its sole discretion and at any time, terminate this AGREEMENT. On termination, LICENSEE must cease using and destroy all copies of the SOFTWARE.
EXPORT CONTROLS
LICENSEE shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. LICENSEE shall not export, re-export or otherwise transfer the SOFTWARE to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. LICENSEE represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.
THIRD PARTY CREDITS
Portions of the SOFTWARE utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the SOFTWARE, and are accessible via the “3rd Party Licenses” dialog for the SOFTWARE. LICENSEE agrees that use of such copyrighted materials is governed by their respective terms.
ENTIRE AGREEMENT
This AGREEMENT represents the complete agreement concerning this SOFTWARE between the PARTIES and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both PARTIES. Coati Software OG reserves the exclusive right to periodically update this AGREEMENT at its discretion at any time, with reasonable notice to LICENSEE by posting the new AGREEMENT at the following URL: <https://www.sourcetrail.com/terms-of-use>. Any action arising out of or relating to this AGREEMENT may be brought exclusively in Salzburg, Austria, and the PARTIES irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this agreement, contact:
Coati Software OG
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@sourcetrail.com
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@@ -0,0 +1,21 @@
QTableWidget {
font-family: "<setting:font_name>";
color: black;
margin-top: 6px;
background-color: #dadada;
alternate-background-color: #f6f6f6;
selection-background-color: #227abf;
selection-color: white;
border-color: #666666;
gridline-color: #666666;
}
QHeaderView {
font-family: "<setting:font_name>";
}
#general_label, #code_label, #graph_label {
font-size: 14px;
font-weight: bold;
color: black;
}
+1 -5
View File
@@ -1,8 +1,3 @@
QLabel {
font-size: 12px;
color: black;
}
#licenseField {
font-family: "<setting:font_name>";
font-size: 11px;
@@ -19,4 +14,5 @@ QTextEdit {
background-color: rgba(255, 255, 255, 200);
border-radius: 10px;
border: 1px solid lightgrey;
color: black;
}
+7 -3
View File
@@ -35,10 +35,10 @@ QWidget#search_box_highlight {
QAbstractItemView#search_box_popup {
background-color: <color:search/popup/background>;
border: none;
border: 1px solid <color:search/popup/line>;
color: <color:search/popup/text>;
font-family: "<setting:font_name>";
margin: 8px 0 0;
margin: 0;
min-height: 26px;
selection-background-color: <color:search/popup/highlight>;
}
@@ -47,7 +47,7 @@ QAbstractItemView#search_box_popup {
background: <color:search/button/normal>;
border: none;
border-radius: 12px;
background-position: 15px 5px;
height: 30px;
width: 30px;
}
@@ -56,6 +56,10 @@ QAbstractItemView#search_box_popup {
border-top-left-radius: 0px;
}
#search_button:disabled, #home_button:disabled {
background: <color:search/button/disabled>;
}
#search_button:hover, #home_button:hover {
background: <color:search/button/hover>;
}
+23 -1
View File
@@ -42,7 +42,29 @@
font-weight: bold;
}
#updateLabel {
#updateButton {
margin: 1px 0 3px;
text-align: left;
padding: 0;
background: none;
border: none;
color: #007AC2;
font-size: 12px;
text-decoration: underline;
}
#updateCheckbox {
color: black;
font-size: 12px;
}
#licenseHeaderLabel {
color: black;
font-size: 12px;
font-weight: bold;
}
#licenseLabel {
color: black;
font-size: 12px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

+2 -2
View File
@@ -36,7 +36,7 @@ QTableView {
alternate-background-color: <color:table/table_line_2/normal>;
border-radius: 10px;
border: 1px solid <color:table/table>;
margin: 10px;
margin: 10px 10px 2px;
padding-right: 10px;
font-size: <setting:font_size>px;
}
@@ -84,6 +84,7 @@ QHeaderView::section:vertical {
QCheckBox {
color: <color:table/text/normal>;
border-color: <color:table/table>;
margin: 0;
/*background-color: <color:table/table>;*/
}
@@ -120,4 +121,3 @@ QTableView QTableCornerButton::section {
border-bottom: 1px solid <color:table/table>;
border-top-left-radius: 10px;
}
@@ -0,0 +1,28 @@
#tooltip {
background-color: <color:code/file/background>;
border: 1px solid <color:code/file/background>;
border-bottom: none;
}
#tooltip_title {
color: <color:code/file/title/text>;
padding: 3px;
font-size: <setting:font_size>px;
font-weight: bold;
}
#tooltip_references {
background-color: <color:code/file/ref_count/background>;
color: <color:code/file/ref_count/text>;
margin: 4px;
padding: 3px 5px;
border-radius: 8px;
font-size: <setting:font_size-2>px;
}
#tooltip_widget {
background-color: <color:code/snippet/background>;
border-bottom: 1px solid <color:code/file/background>;
padding: 3px;
color: <color:code/snippet/syntax/normal>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

@@ -5,7 +5,6 @@
QPushButton {
background: <color:search/button/normal>;
border: none;
background-position: 15px 5px;
height: 30px;
width: 30px;
}
@@ -13,7 +12,6 @@ QPushButton {
#undo_button {
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin-right: 2px;
}
#redo_button {
@@ -21,6 +19,12 @@ QPushButton {
border-top-right-radius: 12px;
}
#history_button {
width: 14px;
margin-left: 2px;
margin-right: 2px;
}
QPushButton:disabled {
background: <color:search/button/disabled>;
}
+7 -30
View File
@@ -35,45 +35,21 @@ QtListItemWidget #field {
border-top: 1px solid lightgray;
}
#plusButton, #minusButton, #dotsButton, #editButton {
#iconButton, #dotsButton, #plusButton, #minusButton, #editButton {
border: none;
color: white;
height: 1em;
margin-right: 3px;
width: 1em;
border: none;
padding: 1px;
}
#dotsButton {
margin-top: 2px;
}
#plusButton {
border-image: url(<setting:gui_path>window/plus.png);
}
#plusButton:hover {
border-image: url(<setting:gui_path>window/plus_hover.png);
}
#minusButton {
border-image: url(<setting:gui_path>window/minus.png);
}
#minusButton:hover {
border-image: url(<setting:gui_path>window/minus_hover.png);
}
#dotsButton {
border-image: url(<setting:gui_path>window/dots.png);
}
#dotsButton:hover {
border-image: url(<setting:gui_path>window/dots_hover.png);
#plusButton, #minusButton, #editButton {
margin-right: 3px;
}
#editButton {
border-image: url(<setting:gui_path>code_view/images/edit.png);
margin-left: 6px;
margin-right: 3px;
}
#editButton:hover {
@@ -82,4 +58,5 @@ QtListItemWidget #field {
#dropInfo {
color: #999;
margin-top: 2px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

+109 -50
View File
@@ -6,23 +6,38 @@ QLabel, QCheckBox {
color: black;
}
QCheckBox::indicator {
color: black;
}
QCheckBox:disabled {
color: gray;
}
#window {
background: white;
}
#title {
font-size: 16px;
font-weight: bold;
}
#projectTitle {
font-size: 14px;
#subTitle {
font-size: 13px;
font-weight: bold;
color: gray;
}
#projectTitle {
#sourceGroupTitle {
font-size: 14px;
font-weight: bold;
background: white;
padding: 5px;
margin-left: 40px;
}
#projectDescription {
#sourceGroupDescription {
font-size: 12px;
margin-left: 20px;
}
@@ -57,56 +72,41 @@ QLabel, QCheckBox {
background: transparent;
}
#helpButton, #dotsButton, #refreshButton {
#iconButton, #dotsButton {
border: none;
color: white;
height: 1em;
width: 1em;
}
#helpButton {
border-image: url(<setting:gui_path>window/help.png);
}
#helpButton:hover {
border-image: url(<setting:gui_path>window/help_hover.png);
padding: 1px;
}
#dotsButton {
border-image: url(<setting:gui_path>window/dots.png);
}
#dotsButton:hover {
border-image: url(<setting:gui_path>window/dots_hover.png);
}
#refreshButton {
border-image: url(<setting:gui_path>window/refresh.png);
}
#refreshButton:hover {
border-image: url(<setting:gui_path>window/refresh_hover.png);
margin-right: 2px;
}
#name, #picker {
background: white;
background: transparent;
border-radius: 10px;
border: 1px solid lightgrey;
color: black;
color: gray;
padding: 2px 5px 0px;
}
#name:enabled, #picker:enabled {
color: black;
}
#locationField {
background: white;
background: transparent;
border: none;
border-radius: 5px;
color: black;
color: gray;
margin-left: 5px;
margin-top: 2px;
}
#dotsButton, #refreshButton {
margin-right: 2px;
#locationField:enabled {
color: black;
}
#windowButton {
@@ -114,11 +114,24 @@ QLabel, QCheckBox {
border: 1px solid lightgray;
border-radius: 8px;
color: black;
padding: 3px 5px 2px;
padding: 3px 8px 2px;
font-size: 14px;
min-width: 5em;
}
#windowButton:hover {
color: white;
background: #2D3C86;
}
#windowButton:default {
border: 2px solid lightgray;
}
#windowButton:disabled {
color: lightgray;
}
#menuButton {
background: white;
border: none;
@@ -132,24 +145,11 @@ QLabel, QCheckBox {
width: 90px;
}
#windowButton:hover {
color: white;
background: #2D3C86;
}
#windowButton:default {
border: 2px solid lightgray;
}
#menuButton:hover, #menuButton:checked {
background: #CFD2E0;
}
#windowButton:disabled {
color: lightgray;
}
#projectContainer {
#sourceGroupContainer {
background: white;
border: 1px solid lightgray;
border-radius: 8px;
@@ -157,17 +157,17 @@ QLabel, QCheckBox {
margin-left: 20px;
}
#projectButton {
#sourceGroupButton {
background: white;
border-radius: 8px;
color: black;
font-size: 12px;
width: 7em;
height: 7em;
height: 8em;
margin-top: 10px;
}
#projectButton:hover, #projectButton:checked {
#sourceGroupButton:hover, #sourceGroupButton:checked {
background: #CFD2E0;
}
@@ -178,3 +178,62 @@ QLabel, QCheckBox {
color: black;
padding: 6px;
}
#project_menu {
border-left: 1px solid lightgray;
}
#project_menu QListWidget {
background: white;
border: none;
border-bottom: 1px solid lightgray;
border-left: 1px solid lightgray;
color: black;
font-size: 12px;
}
#project_menu QListWidget::item, #project_menu #general_button {
background: white;
border: none;
color: black;
margin-top: 5px;
padding: 3px 5px;
}
#project_menu #general_button {
margin-top: 10px;
font-size: 12px;
text-align: left;
border-left: 1px solid lightgray;
padding: 4px 10px;
}
#project_menu QLabel {
background: white;
font-weight: bold;
border: none;
color: black;
font-size: 12px;
margin-top: 5px;
padding: 3px 7px;
border-left: 1px solid lightgray;
}
#project_menu QListWidget::item:hover, #project_menu QListWidget::item:selected,
#project_menu #general_button:hover, #project_menu #general_button:checked {
background: #CFD2E0;
color: black;
}
#project_menu QListWidget::item:disabled, #project_menu #general_button:disabled {
background: white;
color: gray;
}
#project_menu #action_button {
background: white;
border: none;
color: white;
margin: 5px 5px 3px;
padding: 1px;
}
-1
View File
@@ -1 +0,0 @@
%windir%\system32\msiexec.exe /x {F8BA9656-DE2E-4925-9CF4-C43285A2CA6E}
@@ -0,0 +1 @@
%windir%\system32\msiexec.exe /x {a2c6d195-ac5c-4ba4-b26b-93a057254a06}
@@ -0,0 +1 @@
%windir%\system32\msiexec.exe /x {6931fab2-7683-421a-ac7e-9d26b8ca123e}
+19 -2
View File
@@ -4,7 +4,8 @@
<!-- INTEGER: int e.g 123 -->
<!-- DECIMAL: float e.g 123.456 -->
<!-- STRING: string e.g hello -->
<!-- COLOR: int int int int - rgba e.g. 125 125 125 255 -->
<!-- UUID: string e.g. 00000000-0000-0000-0000-000000000000 -->
<!-- TIME: string in format "%Y-%m-%d %H:%M:%S" -->
<config>
<version><!-- INTEGER: Version number --></version>
@@ -18,16 +19,21 @@
<font_size_min><!-- INTEGER: minimum font size in pt --></font_size_min>
<font_size_std><!-- INTEGER: standard font size in pt --></font_size_std>
<use_animations><!-- BOOL: define if animations are used --></use_animations>
<window_base_width><!-- INTEGER: initial width of an overlay window --></window_base_width>
<window_base_height><!-- INTEGER: initial height of an overlay window --></window_base_height>
<scroll_speed><!-- DECIMAL: multiplier for default scroll speed in views --></scroll_speed>
<logging_enabled><!-- BOOL: define if console and file logging is enabled --></logging_enabled>
<graph_controls_visible><!-- BOOL: define if the graph controls are visible or collapsed --></graph_controls_visible>
</application>
<indexing>
<indexer_thread_count><!-- INTEGER: number of threads indexing the source code --></indexer_thread_count>
<multi_process_indexing><!-- BOOL: use different processes instead of threads during indexing --></multi_process_indexing>
<cxx>
<compiler_flags>
@@ -57,6 +63,8 @@
<snap_range><!-- INTEGER: max amount of lines that the current snippet will be extended to snap to scope start/end --></snap_range>
<expand_range><!-- INTEGER: amount of lines that the snippet range (not snapped) will be extended --></expand_range>
</snippet>
<view_mode_single><!-- BOOL: whether code view is used in single or list mode --></view_mode_single>
</code>
<user>
@@ -68,11 +76,20 @@
<check><!-- STRING: hashed path of the working directory used when entering the license key --></check>
<license><!-- STRING: the license key --></license>
</license>
<accepted_eula_version><!-- INTEGER: last accepted eula version --></accepted_eula_version>
<token><!-- UUID: identifier for this user --></token>
<update_check>
<automatic><!-- BOOL: whether to check automatically for new software updates --></automatic>
<time_stamp><!-- TIME: time of the last update check --></time_stamp>
</update_check>
</user>
<network>
<plugin_port><!-- INTEGER: port the plugin listens to, standard is 6666 --></plugin_port>
<coati_port><!-- INTEGER: port coati is listening to, standard is 6667 --></coati_port>
<sourcetrail_port><!-- INTEGER: port sourcetrail is listening to, standard is 6667 --></sourcetrail_port>
</network>
<controls>
@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<info>
<description>
WHAT IS THIS?\n
\tJavaParser is an open-source Java project for parsing Java code and\n
\tgenerating an Abstract Syntax Tree (AST). Additionally it supports a\n
\tvisitor pattern to traverse the generated AST. For more information on\n
\tthis project please visit javaparser.org\n
\n
LET'S GET STARTED!\n
\tHave you ever wondered what a parser for a real programming language\n
\tmay look like? Go ahead and find out!\n
\n
\tIf you ask yourself where to start, click the symbol linked below.\n
\n
[com\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
</description>
</info>
<language_settings>
<language>Java</language>
<standard>8</standard>
</language_settings>
<source>
<extensions>
<source_extensions>.java</source_extensions>
</extensions>
<source_paths>
<source_path>./src/main/java</source_path>
<source_path>./target/generated-sources/javacc</source_path>
</source_paths>
</source>
</config>
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<description>
WHAT IS THIS?\n
\tJavaParser is an open-source Java project for parsing Java code and\n
\tgenerating an Abstract Syntax Tree (AST). Additionally it supports a\n
\tvisitor pattern to traverse the generated AST. For more information on\n
\tthis project please visit javaparser.org\n
\n
LET'S GET STARTED!\n
\tHave you ever wondered what a parser for a real programming language\n
\tmay look like? Go ahead and find out!\n
\n
\tIf you ask yourself where to start, click the symbol linked below.\n
\n
[.\tmcom\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
</description>
<source_groups>
<source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
<type>Java Source Group</type>
<source_extensions>
<source_extension>.java</source_extension>
</source_extensions>
<source_paths>
<source_path>./src/main/java</source_path>
<source_path>./target/generated-sources/javacc</source_path>
</source_paths>
<use_jre_system_library>1</use_jre_system_library>
<standard>8</standard>
</source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
</source_groups>
<version>4</version>
</config>
+3 -1
View File
@@ -1,7 +1,9 @@
#ifndef _FIELD_
#define _FIELD_
class Field {
#include "game_object.h"
class Field : public GameObject {
public:
enum Token {
None = 0,
@@ -0,0 +1,10 @@
#ifndef _GAME_OBJECT_
#define _GAME_OBJECT_
class GameObject {
public:
GameObject() {}
virtual ~GameObject() {}
};
#endif // _GAME_OBJECT_
+9 -9
View File
@@ -1,23 +1,23 @@
#include "io.h"
// #include <iostream>
// #include <sstream>
// #include <string>
#include <iostream>
#include <sstream>
#include <string>
int io::numberIn() {
// std::string input;
// getline( std::cin, input );
// std::stringstream stream( input );
std::string input;
getline( std::cin, input );
std::stringstream stream( input );
int number;
// stream >> number;
stream >> number;
return number;
}
void io::numberOut(int num) {
// std::cout << num;
std::cout << num;
}
void io::stringOut(const char* str) {
// std::cout << str;
std::cout << str;
}
+2 -1
View File
@@ -2,8 +2,9 @@
#define _PLAYER_
#include "field.h"
#include "game_object.h"
class Player {
class Player : public GameObject {
public:
Player( Field::Token token, const char* name );
virtual ~Player();
@@ -13,6 +13,7 @@ TicTacToe::~TicTacToe() {
Reset();
}
bool TicTacToe::Start() {
Reset();
io::stringOut("Tic Tac Toe\n\n[1] Human\n[2] Computer\n[3] Quit\n\n");
@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<language_settings>
<language>C++</language>
<standard>c++1z</standard>
</language_settings>
<source>
<extensions>
<header_extensions>.h</header_extensions>
<header_extensions>.hpp</header_extensions>
<source_extensions>.cpp</source_extensions>
<source_extensions>.cxx</source_extensions>
<source_extensions>.cc</source_extensions>
<source_extensions>.c</source_extensions>
</extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<use_source_paths_for_header_search>0</use_source_paths_for_header_search>
</source>
<version>1</version>
</config>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<source_groups>
<source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
<name>C++ Source Group</name>
<source_extensions>
<source_extension>.cpp</source_extension>
<source_extension>.cxx</source_extension>
<source_extension>.cc</source_extension>
<source_extension>.c</source_extension>
</source_extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<standard>c++1z</standard>
<type>C++ Source Group</type>
</source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
</source_groups>
<version>4</version>
</config>
@@ -43,7 +43,7 @@ void deep_thought()
//------------------------------------------------------------------------------
//
// 2 - CONTEXT
// We just talked about Coati providing context to the important lines of code.
// We just talked about Sourcetrail providing context to the important lines of code.
// But it feels like something is missing here. What is "the_question"? And
// where does it come from?
//
@@ -51,7 +51,7 @@ void deep_thought()
// Do you see the first line of this snippet? I mean the one that has just two
// dots as line number and reads "deep_thought". Actually that's the name of
// the function's scope that encapsulates the snippet. By clicking that line
// you can tell Coati to expand the view to show the entire scope.
// you can tell Sourcetrail to expand the view to show the entire scope.
// Give it a try!
//
//------------------------------------------------------------------------------
@@ -32,16 +32,16 @@ void function_with_snippets()
//------------------------------------------------------------------------------
//
// 8 - YOU FOUND THE HIDDEN COMMENT
// Well done! As you see Coati merged the two snippets from before because
// Well done! As you see Sourcetrail merged the two snippets from before because
// expanding a scope would have caused them to overlap. That's all for the code
// view tutorial.
//
// 9 - EDIT YOUR CODE
// In case you wondered if you can edit your code using Coati: You can't. Coati
// In case you wondered if you can edit your code using Sourcetrail: You can't. Sourcetrail
// is designed for code exploration, not as a text editor or an IDE. But there
// is a chance that Coati can talk to your favorite editor (that you already
// is a chance that Sourcetrail can talk to your favorite editor (that you already
// know how to operate) via plugin. For more information about available
// plugins please take a look at Coati's documentation.
// plugins please take a look at Sourcetrail's documentation.
//
// We hope you enjoyed this tutorial. You can follow the call below to get back
// to the central hub.
@@ -8,7 +8,7 @@
//------------------------------------------------------------------------------
//
// 1 - THE GRAPH TUTORIAL
// In Coati's default window layout the graph is shown to the left, next to the
// In Sourcetrail's default window layout the graph is shown to the left, next to the
// code. It displays the structure of your project where all named symbols are
// nodes and all relations are edges. Like the code view it shows only the
// currently active symbol and all the incoming and outgoing dependencies.
@@ -4,13 +4,14 @@
#include "graph_tutorial_1.h"
#include "graph_tutorial_5.h"
//------------------------------------------------------------------------------
//
// 3 - WELL DONE
// You activated a node and both, the graph and the code view have been updated
// accordingly.
// Note that even though Coati provides a graph view it does not remove the
// Note that even though Sourcetrail provides a graph view it does not remove the
// need for reading code. The graph view is great for gaining a quick overview
// on relations and navigating code, but once you found something you are
// interested in you should still consider the code view to actually read up on
@@ -38,7 +39,7 @@ public:
{
}
void coati_uses_different_colors()
void sourcetrail_uses_different_colors()
{
}
@@ -59,7 +60,7 @@ public:
// click the edge?
//
//------------------------------------------------------------------------------
static int this_last_member;
static ClickMeLater this_last_member;
};
@@ -8,30 +8,33 @@
class ProducerOfTheLastMember
{
public:
void go()
void in()
{
ClassWithHiddenMembers::this_last_member = 42;
}
void on()
{
ClassWithHiddenMembers::this_last_member++;
ClassWithHiddenMembers::this_last_member.produce();
}
//------------------------------------------------------------------------------
//
// 6 - FOCUSING EDGES
// Even though Coati doesn't allow to activate an edge, you can still focus on
// edges. This doesn't change the currently active symbol (which would cause
// Coati to hide everything but the edge). Instead Coati just highlights the
// relation's location in the code and scrolls you there, so you don't lose
// context.
// Try to activate an edge that comes from the "ConsumerOfTheLastMember" class.
// Which one you pick doesn't really matter for this tutorial.
// 7 - ADVANCED TRAINING
// Now that we have covered all the basics of navigating code using the graph,
// I'd like to conclude this section of the tutorial by showing you a special
// feature. Activate "ClickMeLater" in the far right of the graph when you are
// ready.
//
//------------------------------------------------------------------------------
void reading()
private:
void the()
{
ClassWithHiddenMembers::this_last_member *= 2;
if (ClassWithHiddenMembers::this_last_member.isPositive())
{
the_central_hub();
}
}
void codeview()
{
ClassWithHiddenMembers::this_last_member.produce();
}
};
@@ -9,39 +9,30 @@
class ConsumerOfTheLastMember
{
public:
void in()
void go()
{
ClassWithHiddenMembers::this_last_member--;
ClassWithHiddenMembers::this_last_member.consume();
}
//------------------------------------------------------------------------------
//
// 7 - THAT'S IT
// You completed the tutorial on the graph view. There is still more to learn
// but I guess you will figure it out on your own. One last thing: If you see
// an element with a hatched background please call us. It's a runaway!
// Just kidding. Those are elements that are used within your code, but have no
// definition anywhere in your source folder (like the "int" symbol on the
// right hand side of the graph). So if you click them, Coati will display
// all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Coati, go back to the central
// hub. It is called in the function below but you can also try to get there
// using only the graph.
//
//------------------------------------------------------------------------------
private:
void the()
void on()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
{
the_central_hub();
}
ClassWithHiddenMembers::this_last_member.consume();
}
void codeview()
//------------------------------------------------------------------------------
//
// 6 - FOCUSING EDGES
// Even though Sourcetrail doesn't allow to activate an edge, you can still focus on
// edges. This doesn't change the currently active symbol (which would cause
// Sourcetrail to hide everything but the edge). Instead Sourcetrail just highlights the
// relation's location in the code and scrolls you there, so you don't lose
// context.
// Try to activate an edge that comes from the "ProducerOfTheLastMember" class.
// Which one you pick doesn't really matter for this tutorial.
//
//------------------------------------------------------------------------------
void reading()
{
ClassWithHiddenMembers::this_last_member /= 2;
ClassWithHiddenMembers::this_last_member.consume();
}
};
@@ -0,0 +1,37 @@
#ifndef GRAPH_TUTORIAL_5_H
#define GRAPH_TUTORIAL_5_H
#include "graph_tutorial_6.h"
//------------------------------------------------------------------------------
//
// 8 - EXPANDING THE SCOPE
// Showing only one level of dependencies in the graph works well if you want
// to get a quick overview on the parts of your codebase that are related to a
// certain symbol. So using the graph makes sure that you don't overlook any
// relation while planning to modify the source code. But sometimes that is not
// enough.
// Sometimes you are interested in a whole call graph for a certain function or
// you want to see the complete inheritance chain of a specific class and you
// want to expand the scope shown by the graph.
// Do you see the small icon on the upper left of the graph? Use it to show the
// depth graph controls and click the "show base hierarchy" button.
//
//------------------------------------------------------------------------------
class ClickMeLater: public JustMoveOn, public NothingToSeeHere
{
public:
void produce() { value++; }
void consume() { value--; }
bool isPositive() { return value > 0; }
int value;
};
#endif // GRAPH_TUTORIAL_5_H

Some files were not shown because too many files have changed in this diff Show More