Compare commits

...
323 Commits
Author SHA1 Message Date
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
1483 changed files with 379999 additions and 28419 deletions
+28 -18
View File
@@ -2,24 +2,13 @@
/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
@@ -31,27 +20,48 @@
.DS_Store
.idea
.vscode
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/bin
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/bin/
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginUtility/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginUtility/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
+74 -12
View File
@@ -1,15 +1,59 @@
.script_template: &script_definition
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
Linux64:
image: st4ll1/coati_linux_64
stage: deploy
only:
- master
- triggers
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux64_tag:
image: st4ll1/coati_linux_64
stage: deploy
only:
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- Sourcetrail*.tar.gz
Linux64_manual:
image: st4ll1/coati_linux_64
stage: deploy
except:
- master
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
Linux64_licenseGenerator:
image: st4ll1/coati_linux_64
stage: deploy
when: manual
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./script/buildonly.sh r keygen
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr
- build/Release/license_generator/*_license_generator
expire_in: 3 days
Linux32:
@@ -17,15 +61,33 @@ Linux32:
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
- triggers
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr/Coati*.tar.gz
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux32_tag:
image: st4ll1/coati_linux_32
stage: deploy
only:
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- Sourcetrail*.tar.gz
Linux32_manual:
image: st4ll1/coati_linux_32
stage: deploy
except:
- master
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
+221 -61
View File
@@ -2,16 +2,19 @@ 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)
include(cmake/version_setup.cmake)
include(cmake/licenses.cmake)
include(cmake/setWinXxBits.cmake)
# Variables --------------------------------------------------------------------
set(PROJECT_NAME Coati)
set(PROJECT_NAME Sourcetrail)
set(PROJECT_NAME_LOWER_CASE sourcetrail)
set(APP_PROJECT_NAME "${PROJECT_NAME}")
set(LIB_LICENSE_PROJECT_NAME "${PROJECT_NAME}_lib_license")
@@ -22,9 +25,16 @@ 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)
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 ()
@@ -64,14 +74,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 +94,48 @@ 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})
if(UNIX AND NOT APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
elseif(UNIX AND APPLE)
set(BOOST_ROOT $ENV{BOOST_159_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
else()
STRING(REGEX REPLACE "\\\\" "/" BOOST_LIBRARYDIR ${BOOST_LIBRARYDIR})
if(${WINXXBITS} STREQUAL "Win32")
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win32")
else()
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win64")
endif()
set(Boost_NO_SYSTEM_PATHS ON)
endif()
find_package(Boost 1.59 COMPONENTS system program_options filesystem date_time REQUIRED)
# Botan -------------------------------------------------------------------------
set(BOTAN_VERSION "botan-1.11")
set(BOTAN_VERSION "botan-1.11" "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,8 +147,15 @@ 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")
endif()
@@ -129,6 +167,15 @@ 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})
@@ -178,9 +225,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 +243,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 +261,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 +284,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 +294,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 +314,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 +351,14 @@ 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)
# 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 +371,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
@@ -328,26 +392,83 @@ 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
# configure public key for the sourcetrail version
include(cmake/publicKey.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 +477,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")
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_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS /DEBUG")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
# 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 +512,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 +531,8 @@ if (APPLE)
target_link_libraries(${APP_PROJECT_NAME} ${CORE_FOUNDATION})
endif ()
add_dependencies(${APP_PROJECT_NAME} ${APP_INDEXER_NAME})
# MacOSX Bundle ----------------------------------------------------------------
@@ -415,8 +540,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)
@@ -458,9 +584,12 @@ endif ()
add_subdirectory(src/license_generator)
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})
@@ -478,7 +607,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 +615,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 +631,12 @@ set(TESTGEN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp)
find_package(PythonInterp REQUIRED)
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_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,6 +645,7 @@ 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"
@@ -525,14 +659,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 +674,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 +690,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/LinuxPackage.cmake)
endif ()
endif ()
+238 -18
View File
@@ -1,14 +1,14 @@
## Coati
## Sourcetrail
### Setup
#### External Software
* JDK 1.8
* QT 5.6
* QT 5.8
* 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)
* Clang & LLVM 3.9 (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
@@ -16,28 +16,59 @@ 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
For Win32:
For MacOS and Linux
* QT_DIR - .../Qt/Qt5.8.0/5.8/<IDE>
For Windows:
* QT_WIN32_DIR - .../Qt/Qt5.8.0/win32/5.8/msvc2015<IDE>
* QT_WIN64_DIR - .../Qt/Qt5.8.0/win64/5.8/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. Create the subdirectories ${BOOST_159_DIR}/win32 and ${BOOST_159_DIR}/win64 and copy the ${BOOST_159_DIR}/boost folder into each of those platform specific directories. Also move the platform specific libs into the respective ( ${BOOST_159_DIR}/win32/lib and ${BOOST_159_DIR}/win64/lib) folder.
##### Botan setup
Build release lib in ${BOTAN_DIR}/release
Build debug lib in ${BOTAN_DIR}/debug
For Windows
for Windows release build:
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
for Windows debug build:
python configure.py --cc=msvc --cpu=x86_32 --disable-shared --no-optimizations --with-debug-info
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 Mac:
$ python configure.py --disable-shared --disable-modules=darwin_secrandom
@@ -54,7 +85,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 +93,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 +112,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
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
#### Remarks
@@ -101,10 +131,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 +147,197 @@ gifsicle --resize-height 18 trans.gif > loader.gif
### Changelog
#### 0.9.22
#### 1.0 (beta)
released 2017-06-07
* 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,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>
+24 -4
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,6 +88,8 @@
<hover>#BBBBBB</hover>
<press>#AAAAAA</press>
<icon>black</icon>
<border>#B1B1B1</border>
<hatching>grey</hatching>
</title>
<ref_count>
@@ -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>
@@ -279,9 +287,9 @@
<like>global_variable</like>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#873E3E</normal>
@@ -316,6 +324,9 @@
<icon>
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#999999</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -363,6 +374,14 @@
<normal>#FFFFFF</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#B1B1B1</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -375,6 +394,7 @@
<call>
<normal>#FBBA00</normal>
<trail_focus>#FFFFFF</trail_focus>
</call>
<use>
+22 -5
View File
@@ -8,8 +8,9 @@
<normal>#E0E0E0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<disabled>#F4F4F4</disabled>
<disabled>#F2F2F2</disabled>
<icon>white</icon>
<icon_disabled>#DEDEDE</icon_disabled>
</button>
<field>
@@ -73,6 +74,11 @@
<code>
<background>white</background>
<navigation>
<text>#B2B2B2</text>
<line>#B2B2B2</line>
</navigation>
<file>
<background>#E0E0E0</background>
@@ -82,6 +88,8 @@
<hover>#B2B2B2</hover>
<press>#626262</press>
<icon>black</icon>
<border>white</border>
<hatching>bright</hatching>
</title>
<ref_count>
@@ -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>
@@ -265,9 +273,9 @@
<like>global_variable</like>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#EFC5C5</normal>
@@ -334,6 +342,14 @@
<normal>black</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#B2B2B2</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -346,6 +362,7 @@
<call>
<normal>#F4BC3D</normal>
<trail_focus>#878787</trail_focus>
</call>
<use>
+21 -4
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>
@@ -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>
@@ -268,9 +276,9 @@
<like>global_variable</like>>
</enum_constant>
<undefined>
<non_indexed>
<like>type</like>
</undefined>
</non_indexed>
<namespace>
<fill>
<normal>#78282D</normal>
@@ -337,6 +345,14 @@
<normal>#F7F7F7</normal>
</text>
</qualifier>
<text>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#777777</normal>
</text>
</text>
</node>
<edge>
<default>
@@ -349,6 +365,7 @@
<call>
<normal>#9C8528</normal>
<trail_focus>#F7F7F7</trail_focus>
</call>
<use>
@@ -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 -37
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>;
@@ -99,32 +178,19 @@
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

+389 -76
View File
@@ -1,76 +1,389 @@
{\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\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Segoe UI;}
{\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\fprq0{\*\panose 00000000000000000000}Calibri Light;}{\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;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f381\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f382\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f384\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f385\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f388\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f389\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
{\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f431\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}
{\f432\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f434\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;}{\f435\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f437\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}
{\f438\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;}{\f439\fbidi \fswiss\fcharset163\fprq2 Segoe UI (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);}
{\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;
\chyperlink\ctint255\cshade255\red5\green99\blue193;}{\*\defchp \f31506\fs22\lang2057\langfe1033\langnp2057\langfenp1033 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }
\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\snext0 \sqformat \spriority0 \styrsid12137944 Normal;}{\s3\qc \li0\ri0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0
\b\scaps\fs24\ul\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink23 \sqformat \spriority9 \styrsid15234004
heading 3,h3,3,Underrubrik2,h:3,h,l3,H3,list 3,Head 3,1.1.1,3rd level,Heading3,H31,Heading31,H32,H311,h3 sub heading,C Sub-Sub/Italic,Head 31,Head 32,C Sub-Sub/Italic1,Sub2Para,h31,h32,Para3,Title3,(Alt+3),3m,sub-sub-para,Table Attribute Heading,H33;}{\*
\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\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{
\s15\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\sbasedon0 \snext15 \sqformat \spriority34 \styrsid8484554 List Paragraph;}{\s16\qj \li0\ri0\widctlpar
\tx-17296\tx-16576\tx-15856\tx-15136\tx-14416\tx-13696\tx-12976\tx-12256\tx-11536\tx-10816\tx-10096\tx-9376\tx-8656\tx-7936\tx-7216\tx-6496\tx-5776\tx-5056\tx-4336\tx-3616\tx-2896\tx-2176\tx-1456\tx-736\tx-16\tx704\tx1424\tx2144\tx2864
\tx3584\tx4304\tx5024\tx5744\tx6464\tx7184\tx7920\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs24\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
\sbasedon0 \snext16 \slink17 \styrsid14043460 Body Text 2;}{\*\cs17 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\cf1\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink16 \slocked \styrsid14043460 Textk\'f6rper 2 Zchn;}{
\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs18\alang1025 \ltrch\fcs0 \f39\fs18\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid14043460 Balloon Text;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \f39\fs18 \sbasedon10 \slink18 \slocked \ssemihidden \styrsid14043460 Sprechblasentext Zchn;}{
\s20\ql \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 \slink21 \styrsid14043460
Body Text,bt;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink20 \slocked \styrsid14043460 Textk\'f6rper Zchn,bt Zchn;}{\*\cs22 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17
\sbasedon10 \sunhideused \styrsid15234004 Hyperlink;}{\*\cs23 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \b\scaps\f0\fs20\ul\cf1\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink3 \slocked \spriority0 \styrsid15234004
\'dcberschrift 3 Zchn,h3 Zchn,3 Zchn,Underrubrik2 Zchn,h:3 Zchn,h Zchn,l3 Zchn,H3 Zchn,list 3 Zchn,Head 3 Zchn,1.1.1 Zchn,3rd level Zchn,Heading3 Zchn,H31 Zchn,Heading31 Zchn,H32 Zchn,H311 Zchn,h3 sub heading Zchn,C Sub-Sub/Italic Zchn,Head 31 Zchn,3m Zchn;}
{\s24\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext24 \sqformat \spriority1 \styrsid8353839
No Spacing;}}{\*\listtable{\list\listtemplateid-237996820\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}\hres0\chhres0 }{\listname ;}\listid-2}
{\list\listtemplateid767595270\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-345469290\'03(\'00);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0
\b0\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\lin6480 }{\listname ;}\listid1617834509}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0
\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}{\listoverride\listid1617834509\listoverridecount0\ls2}}{\*\rsidtbl \rsid927059\rsid3111406\rsid3232479\rsid3763068\rsid5190140\rsid5327097\rsid5985810
\rsid6113920\rsid7799561\rsid8068493\rsid8353839\rsid8484554\rsid8879590\rsid8913734\rsid9175821\rsid9331093\rsid9637834\rsid9832860\rsid10748571\rsid11411570\rsid12137944\rsid13005862\rsid13784877\rsid13837067\rsid13897761\rsid14043460\rsid14622934
\rsid14825363\rsid14970534\rsid15234004\rsid16058252}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac1\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Thomson, Clive}{\operator Malte}
{\creatim\yr2017\mo2\dy14\hr13\min47}{\revtim\yr2017\mo2\dy14\hr15\min47}{\version4}{\edmins0}{\nofpages5}{\nofwords1297}{\nofchars7007}{\*\company CSR}{\nofcharsws8288}{\vern32859}}{\*\userprops {\propname _AdHocReviewCycleID}\proptype3{\staticval -10657
70450}{\propname _NewReviewCycle}\proptype30{\staticval }{\propname _EmailSubject}\proptype30{\staticval Request for evaluation license and details of third party software}{\propname _AuthorEmail}\proptype30{\staticval mrae@qti.qualcomm.com}{\propname _Au
thorEmailDisplayName}\proptype30{\staticval Rae, Marika}{\propname _ReviewingToolsShownOnce}\proptype30{\staticval }}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1
\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot3763068\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sectrsid8068493\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\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Sourcetrail
\par Software License Agreement}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 (}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 \'93}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 Agreement}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 \'94}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 )}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Effective }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 15}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 2017}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13837067\charrsid5327097
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14043460 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 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 }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 DEFINITIONS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par "Software" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 A major version of Sourcetrail in executable form. The major
version is defined by the leading number of the version string (e.g. th}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 e major version of Sourcetrail 1.x.x}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 is version 1);
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 documentation for that major version of Sourcetrail;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid9175821 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097
g. the update from Sourcetrail 1.0.0 to Sourcetrail 1.1.0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 ).
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid9175821 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Licensor" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Coati Software OG, having a place of business at }{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 Jakob-Haringer-Stra\'dfe 1/127, 5020}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 Salzburg}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 , Austria.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Licensee" means:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 the individual who purch}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097 ased a License(s) for the Software;}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the individual }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 who was granted a Test }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 License(s) for the Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the individual }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 evaluating}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the Software in trial mode; }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid14825363 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
the company, corporation, or organization that purchased a License(s) for the Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid14825363 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 the company, corporation, or organization }{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 that was granted a Test }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 License(s) for the Software}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid8484554 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097
"Activation Key" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 the name of the Licensee, the kind of lice
nse, the major version of the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 S}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 oftware that is licensed, and a hash}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 -}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 code; the combination of these values allows the Licensee to activate}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid7799561\charrsid5327097 the full functionality of}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 a genuine copy of the Software.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Authorized User" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 the
individual who purchased a License(s) for the Software; the individ}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 ual is the only Authorized User;}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
the individual who was granted a Test License(s) for the Software; }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
the individ}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 ual is the only Authorized User;}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 the individual evaluating the Software in trial mode; }{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
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\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 a
n employee or independent contractor who might at any time use the Software, of the company, corporation, or organization }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 was granted}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 a }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 Test }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 License(s) for the Software; an entity has one Authorized }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 User for each License purchased.}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid9637834 {\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid13897761
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 GRANT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9637834\charrsid5327097
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
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\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Authorized Us
er(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\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid16058252 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Authorized User(s) to us}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097 e the Software on computer PCs and }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 in virtual machines}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
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\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
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 \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 RESTRICTIONS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Licensee will not, and will have no right to:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 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 th
e Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 remove any proprietary notices or labels from the Software.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 Authorized User(s) }{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 will not, and will have no right to:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8353839 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 use the trial }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734 mode of the S}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 oftware }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid5327097 for any commercial purposes}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 ;}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid8913734
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8913734 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 use a }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734 P}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 rivate/}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 A}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 cademic }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 L}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 icense of the software}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid16058252 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid5327097 for any commercial purposes}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid8913734
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid8353839
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 TITLE AND COPYRIGHT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\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 State
s copyright laws and international treaty provisions.
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par DISCLAIMER OF WARRANTY}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\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 MERCHANTABILI
TY, 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. LICENSE
E MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 LIMITATION OF LIABILITY}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\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,
I
NCIDENTAL, 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 }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 TERMINATION}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par T
he 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 thi
s Agreement. On termination, Licensee must cease using and destroy all copies of the Software.
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par EXPORT CONTROLS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\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\'df
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 contr
ol of, or a national or resident of any restricted country or on any such list.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 THIRD PARTY CREDITS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\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 \'93}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13897761 3rd Party }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Licenses\'94
dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 ENTIRE AGREEMENT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par This Agreement represents the complete agreement concerning this }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13784877\charrsid5327097 Software}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 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 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8353839 Agreement}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 at its discretion at any time, with reasonable notice to you by posting the new }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8353839 Agreement}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 at the following URL: }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 <http://www.sourcetrail.com/>}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
. 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 }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 CONTACT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par If you have questions regarding this agreement, contact:
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8353839 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1
\af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid3763068\charrsid16058252 Coati Software OG
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid8353839\charrsid8353839 Jakob-Haringer-Stra\'dfe 1/127
\par 5020 Salzburg
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid3763068\charrsid8353839 Austria
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3763068
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3232479 support@sourcetrail.com}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3232479\charrsid8353839
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid9832860\charrsid5327097
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b0304140006000800000021008aa90d21b8060000581a0000160000007468656d652f7468656d652f7468656d65
312e786d6cec59cf6fdb3614be0fd8ff20e8eefa9724db419dc296ed666bd216b5dba147daa62d369468487452a32830b4c701038675c30e2bb0db0ec3b6022d
b04bf7d764ebb075c0fe853d52b24cdaf49206390443938b457deff1e37be4f748f1eab58721b58e709c101635edf295926de168c4c6249a36edbb835ea16e5b
0947d1185116e1a6bdc0897d6df7c30faea21d1ee0105b601f253ba869079ccf768ac56404cd28b9c26638827713168788c3633c2d8e63740c7e435aac944a5e
314424b2ad0885e0f6d6644246d81a0897f6eed27997c263c413d130a2715fb8c69a85c48e0fcb02912c129fc6d611a24d1bfa19b3e3017ec86d8ba284c38ba6
5d927f7671f76a11ed6446946fb155ec7af22fb3cb0cc68715d9673c1de69d3a8eeb78addcbf0450be89ebd6ba5ed7cbfd49001a8d60a42917d5a7db6eb43b6e
865540e94f83ef4ead532d6b78c57f758373cb15ff1a5e8252ffce06bed7f3218a1a5e8252bcbb81779c5ac57734bc04a5786f035f2bb53a4e4dc34b50404974
b8812eb95ed55f8e36874c18dd33c21baed3ab5532e72b14cc867c76892e262ce2dbe65a881eb0b8070001a48893c8e28b199ea011cc621f51328c89b54fa601
17dda01d8c94f769d328d968123d5ac9282633deb43f9e2158172bafffbcfef19fd72fad9327af4e9efc72f2f4e9c9939f53479ad51e8aa6aad5dbefbff8fbf9
a7d65f2fbf7bfbec2b333e51f1bffff4d96fbf7e6906c2225ad179f3f58b3f5ebd78f3cde77ffef0cc006fc568a8c20724c48975131f5b775808039351d199e3
61fc6e16830011d5a2154d131421d18bc17f97071afae6025164c0b5b11ec17b31888809787dfe4023dc0fe23927068f378250031e3046db2c3646e186e84b09
f3601e4dcd9dc773157707a12353df3e8ab4fc76e733504f6272e90758a3799ba288a3298e30b7c43b7688b16174f709d1e27a4046314bd8845bf789d546c418
9201196ab36965b44742c8cbc24410f2adc5e6e09ed566d434ea0e3ed291b02a1035901f60aa85f13a9a73149a5c0e5048d580ef231e9848f617f148c575130e
999e62caacee182789c9e6560ce355927e0304c49cf603ba087564ccc9a1c9e73e624c4576d8a11fa07066c2f64914a8d88f924398a2c8bacdb8097ec0f41522
9e210f28da9aee7b046be93e5d0dee8276aa94561344bc99c7865c5ec74c9bbffd059d202ca506a45d53ec9044a7ca77dac3c5093748e59b6f9f1b785f56c96e
c5c4b866f6d6847a1b6e5d9e7d168fc9e557e70e9a47b7312c88cd12f55e9cdf8bb3fdbf17e76debf9e22579a5c220d06233986eb7e5e63bdcbaf79e104afb7c
41f17e22b7df09d49e710f1a859d3c77e2fc2c360be0a758c9d081869bc648da5831e39f101ef4033483ad7bd9164ea649e67a9a583396c09151361b7d0b3c9d
87076c9c1e39cb6571bc4cc523417cd55e72f376382ef014edd556c7a8dcbd643b95c7dd250161fb2e2494ce7412550389dab25104491eae21680612726417c2
a261605117ee97a9da6001d4f2acc0e6c8822d55d3761d3001233833218ac7224f69aa97d995c9bcc84c6f0ba636034af05d239b01ab4c3704d7adc313a34ba7
da1932ad9150a69b4e424646d6b02440639ccd4ed17a161aef9aebc62aa51a3d118a2c160a8d5afdbf589c37d760b7ae0d3452958246d671d3f6aa2e4c99119a
35ed091cdde1673883b993884d2da253f8fe35e271bae0cfa32cb338e11d940469c0a5e8a46a10128e638b92b0698be1e769a091d410c9ad5c0141b8b4e41a20
2b978d1c245d4f329e4cf088ab69575a44a4d34750f8542b8c6fa5f9f9c1c292cd21ddfd607c6c0de93cbe83608ab9b5b208e09824f07da79c46734ce093642e
64abf9b7569832d955bf09ca3994b6233a0b50565154314fe152ca733af2298f81f2948d1902aa84242b84c3a928b06a50b56a9a578d94c3d6aa7bba91889c22
9aab9aa9a98aa89a6615d37a589681b5589eafc82bac96218672a956f854bad725b7b1d4bab57d425e2520e079fc0c55f70c0541a1b6ea4ca326186fcab0d0ec
ac55af1dcb019e42ed2c4542517d6fe9762d6e798d3076078de7aafc60b73e6ba169b2dc57ca48cbbb0bf57a810d1f807874e043ee9cf244a6122e0f62041ba2
bedc93a4b2014be421cf9606fcb2e63169da8f4a6ecbf12bae5f28d5dd6ec1a93aa542dd6d550b2dd7ad96bb6eb9d469571e4361e1415876d37b931e7c6ca28b
f4f6a469dbd9358a046c5ca584cb0f6b57462c2c327955529423905729e5caf6ab148b80fa3cf22abd46b5d1f60a8d6aab57703aed7aa1e17bed42c7f36b9d5e
c777eb8dde63db3a9260a755f51daf5b2f7865df2f385e498ca3de28d49c4aa5e5d45af5aed37a9ced672004a98e644181384b5ebbff020000ffff0300504b03
04140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e7265
6c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae99571
9ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f1
9b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d001400
0600080000002100828abc13fa0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014
000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000002b0100005f72656c732f2e72656c73504b01022d001400060008000000
21006b799616830000008a0000001c00000000000000000000000000140200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b0102
2d00140006000800000021008aa90d21b8060000581a00001600000000000000000000000000d10200007468656d652f7468656d652f7468656d65312e786d6c
504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000bd0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000b80a00000000}
{\*\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 \lsdpriority0 \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;
\lsdpriority0 \lsdlocked0 Body Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdpriority0 \lsdlocked0 Body Text 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority39 \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 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e30000000000000000000000e0000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff01000000ec69d9888b8b3d4c859eaf6cd158be0f0000000000000000000000007002
3351d186d2010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff02000000000000000000000000000000000000000000000070023351d186d201
70023351d186d2010000000000000000000000004500c2004c00d1005400c100c200c800d600d4004b00520031003200d6004d00c60042004600cc00d20041003d003d000000000000000000000000000000000032000101ffffffffffffffff03000000000000000000000000000000000000000000000070023351d186
d20170023351d186d2010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
00000000000000000000000000000000cd00000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c623a536f757263657320786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d
22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222053656c65637465645374796c653d225c4150412e58534c22205374796c654e616d653d22415041222f3e000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b34454631
323231322d413831382d343244422d393136442d4344384339383131364343387d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c
64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
0000000000000000000000000000000000000000000000000000000000000400000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f
72654974656d3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}
+59 -34
View File
@@ -1,72 +1,97 @@
Coati
Software License Agreement
Effective 1.1.2016
Sourcetrail
Software License Agreement (“Agreement”)
Effective 15.2.2017
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).
A major version of Sourcetrail in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Sourcetrail 1.x.x is version 1);
documentation for that major version of Sourcetrail;
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 Sourcetrail 1.0.0 to Sourcetrail 1.1.0).
"Licensor" means:
·3 Coati Software OG, having a place of business at Schlossallee 7/1, 5412 Puch/Hallein, Austria.
Coati Software OG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, 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.
the individual who purchased a License(s) for the Software;
the individual who was granted a Test License(s) for the Software;
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 Test License(s) for the Software.
"Activation Key" means:
• the name of the Licensee, the kind of license, the major version of the Software that is licensed, and a hash-code; the combination of these values allows the Licensee to activate the full functionality of 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.
the individual who purchased a License(s) for the Software; the individual is the only Authorized User;
• the individual who was granted a Test License(s) for the Software; 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 company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;
• an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization was granted a Test License(s) for the Software; an entity has one Authorized User for each License purchased.
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.
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:
• the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
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);
Authorized User(s) to use the Software on computer PCs and in virtual machines.
Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.
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.
• distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
• 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.
Authorized User(s) will not, and will have no right to:
• use the trial mode of the Software for any commercial purposes;
• use a Private/Academic License of the software for any commercial purposes.
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.
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 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.
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 you by posting the new Agreement at the following URL: <http://www.sourcetrail.com/>. 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
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@coati.io
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;
}
@@ -47,6 +47,17 @@
font-size: 12px;
}
#licenseHeaderLabel {
color: black;
font-size: 12px;
font-weight: bold;
}
#licenseLabel {
color: black;
font-size: 12px;
}
#welcomeLabel {
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;
}
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}
+10 -1
View File
@@ -18,16 +18,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 +62,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 +75,13 @@
<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>
</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,32 @@
<?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>
<standard>8</standard>
</source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
</source_groups>
<version>4</version>
</config>
+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;
}
@@ -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.
@@ -10,7 +10,7 @@
// 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 +38,7 @@ public:
{
}
void coati_uses_different_colors()
void sourcetrail_uses_different_colors()
{
}
@@ -8,28 +8,37 @@
class ProducerOfTheLastMember
{
public:
void go()
{
ClassWithHiddenMembers::this_last_member = 42;
}
void on()
void in()
{
ClassWithHiddenMembers::this_last_member++;
}
//------------------------------------------------------------------------------
//
// 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 - 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, Sourcetrail will display
// all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Sourcetrail, 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.
//
//------------------------------------------------------------------------------
void reading()
private:
void the()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
{
the_central_hub();
}
}
void codeview()
{
ClassWithHiddenMembers::this_last_member *= 2;
}
@@ -9,37 +9,28 @@
class ConsumerOfTheLastMember
{
public:
void in()
void go()
{
ClassWithHiddenMembers::this_last_member = 42;
}
void on()
{
ClassWithHiddenMembers::this_last_member--;
}
//------------------------------------------------------------------------------
//
// 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.
// 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.
//
//------------------------------------------------------------------------------
private:
void the()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
{
the_central_hub();
}
}
void codeview()
void reading()
{
ClassWithHiddenMembers::this_last_member /= 2;
}
@@ -8,19 +8,19 @@
//------------------------------------------------------------------------------
//
// WHAT JUST HAPPENED?
// Coati uses the concept of an "active" symbol. You just changed the active
// Sourcetrail uses the concept of an "active" symbol. You just changed the active
// symbol by clicking on the name of a function.
//
// OK, BUT WHAT IS AN ACTIVE SYMBOL?
// Coati doesn't show your entire code base on a single screen. Even for
// Sourcetrail doesn't show your entire code base on a single screen. Even for
// relatively small projects that would be pointless - trust me on that. So
// instead of showing everything at once, Coati keeps a strongly focused view
// instead of showing everything at once, Sourcetrail keeps a strongly focused view
// on your code. This focus only includes the currently active symbol and its
// direct relations. Nothing more. By changing the active symbol as you just
// did, Coati allows you to jump through the code base on your own.
// did, Sourcetrail allows you to jump through the code base on your own.
//
// I THINK I GOT IT!
// Now that you understand Coati's central concept you are ready to activate
// Now that you understand Sourcetrail's central concept you are ready to activate
// the "my_next_step()" symbol below.
//
//------------------------------------------------------------------------------
@@ -9,7 +9,7 @@
//
// 1 - THE SEARCH TUTORIAL
// If you haven't messed up anything yet, you'll find the search bar to the
// upper left of Coati's user interface. Initially it shows the name of the
// upper left of Sourcetrail's user interface. Initially it shows the name of the
// currently active symbol.
// Use the shortcut "CTRL/CMD + F" to focus the search bar. You can also just
// click it. Try that now and enter the string "find_me_if_you_can" to search
@@ -9,10 +9,10 @@
//
// 2 - THE AUTOCOMPLETION
// I hope you have been lazy enough to not enter the whole string from start to
// finish. So you already noticed Coati's autocompletion box.
// While you enter your search request Coati already tries to find a subset of
// finish. So you already noticed Sourcetrail's autocompletion box.
// While you enter your search request Sourcetrail already tries to find a subset of
// matching symbols to help you get where you want pretty fast.
// But that's not all Coati does. Keep an eye on the search bar while entering
// But that's not all Sourcetrail does. Keep an eye on the search bar while entering
// the string "aux" and activate the symbol showing up.
//
//------------------------------------------------------------------------------
@@ -13,10 +13,10 @@
// Here comes the bad news: Even though this tutorial contains some code that
// would compile, the code doesn't make much sense. So trying to explore this
// project any further would be rather unproductive.
// The good news is: In addition to this tutorial Coati also ships with a real
// The good news is: In addition to this tutorial Sourcetrail also ships with a real
// example project that implements the game Tic-Tac-Toe! You can open the
// project via the "Project -> Recent Projects" menu.
// You can also start exploring your own projects by creating a new Coati
// You can also start exploring your own projects by creating a new Sourcetrail
// project where you can add all your source and include paths.
//
//------------------------------------------------------------------------------
@@ -11,9 +11,9 @@
//------------------------------------------------------------------------------
//
// THE HUB
// This is the central hub of Coati's tutorial. From here you can embark on
// short trips to explore the different parts of Coati. Most important: You
// will get to know how all the different parts of Coati interact.
// This is the central hub of Sourcetrail's tutorial. From here you can embark on
// short trips to explore the different parts of Sourcetrail. Most important: You
// will get to know how all the different parts of Sourcetrail interact.
// The function below references all the available tutorials. So pick one and
// jump right to action.
//
@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<info>
<description>
WHAT IS THIS?\n
\tThis is a tutorial and it is one of the fastest ways to get to know Coati.\n
\n
WHERE AM I?\n
\tYou're looking at Coati's Code View which usually displays source code,\n
\tbut every time a new project is loaded it gives a quick summary to\n
\testimate the project's size. This is a fairly small project. It only\n
\tcontains a few hundred lines of code as you can see by the numbers below.\n
\n
LET'S GET STARTED!\n
\tTo keep things simple just click the "main" symbol below to start the tour.\n
\n
[main\tsint\tp()](); // &lt;- start here\n\n
</description>
</info>
<language_settings>
<language>C++</language>
<standard>c++1z</standard>
</language_settings>
<source>
<extensions>
<header_extensions>.h</header_extensions>
<source_extensions>.cpp</source_extensions>
</extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
</source>
<version>1</version>
</config>

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