Commit Graph
77 Commits
Author SHA1 Message Date
Eberhard Graether 5173400b8d logic: Showing annotations in fulltext search results
* new LocationType for errors
* refactored CodeController
* cache active locations in CodeController for later manipulations
2016-06-08 20:33:34 +02:00
Andreas Stallinger 6edcd77eb2 logic: fulltextsearch with suffixarray
* delete test.sqlite in storagetestsuite in desstructor
* remove new and delete from suffixarray
* case sensitive fts
* fixed fulltext results annotated like errors
* lazy suffix array building
* fulltextsearch folder added
* go back too branch without _publish
* suffixarray working
* logic: Improved code view performance
2016-06-07 08:49:34 +02:00
Eberhard Graether 5d2a476813 logic: Improved graph and code view performance
* added sql index for component_access
* improved policy for expanded code files
* reduced amount of initially expanded code files
* faster DummyEdge creation
* faster DummyNode search by token id
* switched GraphController DummyNodes and DummyEdges to shared_ptr for memory safety
2016-05-21 00:01:46 +02:00
Eberhard Graether 4097493181 ui: Sort snippets to always show definition on top 2016-05-17 15:26:45 +02:00
Andreas Stallinger 2a73c42a18 ui: Colorscheme update for Fulltextsearch 2016-05-10 15:34:06 +02:00
Andreas Stallinger e775ae1ecd logic: Fulltextsearch
* fulltextsearch enabled in sqlite
* fulltextsearch start search with @
* codeview performance improved
* strip sRGB profile from png files to get rid of libpng warning at runtime
2016-05-10 11:10:13 +02:00
Eberhard Graether f9aed67776 src: Various fixes from testing
* fixed deleted project could still be selected in the recent project menu
* fixed project file not loaded when declining for reload
* fixed main in tutorial description not clickable
* fixed clang warnings
* fixed commands not showing up in autocompletion
* fixed classes were expanded when activating aggregation
* fixed crash when messagelisteners tried to unregister after messagequeue was destructed
2016-04-25 17:27:20 +02:00
Eberhard Graether 69925917bc ui: Added edit project button to stats in overview 2016-04-25 12:39:10 +02:00
Eberhard Graether 40144bbcb9 logic: Retrieving StorageNodes for Autocompletion and FileInfos for modification time at once
Had only a small impact on performance unfortunately.
2016-04-20 23:39:21 +02:00
Eberhard Graether 03675e1658 logic: Fixed declaration locations sometimes not visible 2016-04-20 21:41:26 +02:00
Eberhard Graether c380854b34 utility: removed unused flag :isFromSystem from MessageActivateNodes/Tokens 2016-04-20 16:34:21 +02:00
Eberhard Graether a57f24b2b2 logic: rewrote UndoRedoController to differentiate 3 types of priority
ORDER_ACTIVATE for messages that change active symbols
ORDER_ADAPT for graph and code view expanding and collapsing
ORDER_VIEW for scrolling and local symbol activation
2016-04-18 22:38:20 +02:00
Eberhard Graether fcc39f4a77 ui: Improved user experience of error display
* label errors as errors instead of references in file snippet headers
* show number of fatal errors in file snippet headers as well
* only show the first 10 error snippets open, remaining collapsed
* don't show status message after parsing in red on errors
* don't show stats of parsing when project was only loaded
2016-04-13 12:14:55 +02:00
malte_langkabel b9c4bd05cd data: showing local symbols
- added local symbols to storage
- added tests for local symbol parsing
- added MessageActivateLocalSymbols to activate local symbols in code view
- TokenLocations now store their LocationType instead of a plain bool "isScope"
- moved LocationType from TokenLocation to separate file, since it is also used in Annotations now.
- added local_symbol in stylesheet to define a style for hovering and activating these elements
- renamed location to token in stylesheet
2016-04-12 13:28:37 +02:00
Eberhard Graether 9307d6d855 logic: Refactored namespace activation
* show namespace name in search view when activated
* show namespace definitions in code view when activated
* no children in namespace
* no implicit nodes in overview or namespace
* Show a maximum of 10 open snippets
* Fixed bug causing nodes in GraphView to be stacked at 0,0
2016-04-12 11:59:37 +02:00
malte_langkabel f3dc12b0ed logic: search ui performance optimization
* replaced the implementation of the search index. the search index now uses a search-trie. edges have gates that can be used to check if a character can be matched when following the edge.
* SearchMatches now have a text and a list of NameHierarchies that share this node (instead of Ids, so that nodes must be found by names (which makes sure that SearchMatches are still valid after refresh).
* when parsing a project's description the CodeController now looks for NameHierarchies instead of SearchNode names to find ids of linked elements.
2016-04-04 15:39:39 +02:00
malte_langkabel f82da323b3 data: increased project load and codeview performance
* rewrote searchnode to use map
* added local cache for parent node ids when creating the Hierarchy Cache.
* added indices to SqliteStorage to increase code view performance.
2016-03-14 12:32:01 +01:00
Eberhard Graether 8c9b9355d5 ui: Fixed expanding file with errors showed all locations as errors 2016-03-11 13:52:24 +01:00
malte_langkabel 9a7b818dba data: parser performance optimization for large projects
* moved inserting everything into the database to the end of parsing a file. this reduces many duplicate queries.
* removed ParserClient interface from Storage.
* errors are updated after parsing a file because we only if there are any duplicate errors after merging the new errors into the database.
* renamed field in db
* added fatal column to error db
2016-03-10 18:24:28 +01:00
malte_langkabel 2ebfbbf88e ui: display fatal errors
* added ErrorCountInfo to incorporate reporting of fatal errors during code analysis.
2016-03-02 10:53:04 +01:00
malte_langkabel efaee022a6 logic: improved codeview performance
* reduced database queries necessary for creating code snippets in the codeview.
2016-02-22 21:23:33 +01:00
malte_langkabel 7f33ab37be ui: display of project name
* Window title now reads "Coati - Project name".
* Removed file endings in the recent projects list.
* Changed the first line of the project summary to be "Project: Project name" instead of just "Project name".
2016-02-17 12:20:36 +01:00
malte_langkabel 42513fe102 data: revised indexing
* increased performance. coati is now 1.55 times as fast as at version 0.4
* integrated sourceweb parsing code
* removed astbodyvisitor
* NameHierarchy now store signatures in a new format
* storage does not allow to re-set the type of a node, once it is marked as "defined".
* made onTemplateRecordSpecParsed just create the edge, not the node.
* removed distinction between template specialitzations for functions and classes
2016-02-17 10:45:35 +01:00
malte_langkabel b3df8fb825 ui: tutorial adjustments
* adjusted the start of the tutorial to work with the "overview" filter.
* fixes some spelling errors in the tutorial.
* tabs can be encoded by "\\t" in the project description.
2016-02-16 13:25:03 +01:00
Eberhard Graether 56830f3ddc logic: Fixed aggregation click not showing source locations 2016-02-14 16:42:54 +01:00
Eberhard Graether 29149f313a logic: Added namespaces to overview and fixed namespace activation 2016-02-08 03:39:08 +01:00
Eberhard Graether d6c03ffb02 logic: Don't show line numbers for summary 2016-02-08 01:24:28 +01:00
Eberhard Graether b40e49b633 ui: Display scope name at bottom of snippet if available
* Show scope name at bottom looking like top one
* Refactored CodeSnippetParams out of CodeView and use them everywhere
* Fixed border radius clipping problem at bottom of file by defining a small padding
* Scroll to line number when inserting a scope
2016-02-03 13:54:46 +01:00
Eberhard Graether ead0abfba2 logic: Return to last scroll position in code view on undo
* fixed scrolling on undo
* refactored autoscrolling in code view
* save scroll position of user with MessageScrollCode
2016-01-29 13:08:30 +01:00
Eberhard Graether 38f943e8a0 logic: Undoing file minimize, snippets and maximize actions
* MessageChangeFileView as single message for changing file state in the code view
* Show code view after updates at once
2016-01-28 12:40:29 +01:00
Eberhard Graether eb12d3cda1 logic: Show overview of analyzed symbols after launch
* show analysed nodes as bundles in graph
* ellide node names longer than 50 chars
* sort nodes alphabetic in these bundles
* show stats of analysis in code
* error are displayed as well in overview
* added keywords overview and error
* project description can be set in .coatiproject file
* description can include links to symbols using [symbol] syntax
* updated documentation
* increased toc nesting in documentation
2016-01-25 17:02:48 +01:00
Eberhard Graether 3884db21d7 logic: Fixed deselection of edge didn't restore active locations in code view 2016-01-15 16:21:50 +01:00
Eberhard Graether df7c5ea9b7 ui: code view scrolls directly to active line
This change makes the code view first look for the rect of the first active line and then tries to scroll this line into
the middle of the view.
2015-11-13 10:39:30 +01:00
Eberhard Graether 00b74d2f30 ui: focusing multiple tokens at once
This change focuses all token locations underneath the cursor at once by extending the focus handling to use vectors.
2015-11-12 10:14:46 +01:00
malte_langkabel 50bc970c30 data, ui: comment handling
* CodeView displays comments as atomic regions. They are either displayed as a whole or not at all. Do nothing halfway!
* added CommentHandler that handles comments detected by clang.
* stored CommentLocations in database.
2015-11-06 14:03:20 +01:00
Eberhard Graether 9f684ad9f5 data: saving errors to Storage
* saving errors in separate sqlite table
* use MessageShowErrors to show the errors in the UI
* show error count permanently in the right side of the status bar with click to show
* fixed clicking of error locations
* fixed expanding of files with errors
2015-11-04 12:00:28 +01:00
malte_langkabel a524a7a71c ui: file not up to date display
* the codeview now displays a hatched background for a filename when the file's content has changed or the file does not exist anymore.
* added TimePoint class to encapsulate boost.
2015-11-03 10:29:29 +01:00
malte_langkabel e1683d047a ui: clickable file scope
* When content that is shown in a snippet is located in the file scope, the snippet's title bar displays the file's name. Clicking this name has the same effect as maximizing the file (the file's entire content is shown but the file symbol is not activated).
2015-10-15 12:24:24 +02:00
Eberhard Graether acfbe510fb logic: fixes all over the place
* fixed refreshing to send another ui refresh message after parsing
* keepContent field for MessageBase so that views won't update
* fixed searchmatching to only weigh uppercase letters next to lowercase ones
* fixed file not jumping back to snippets when activating edge
* clicking into empty space deselects active edge
* clear file manager files on every fetch
* added db transaction for file clearing
* use zooming instead of changing font size
2015-10-02 17:07:03 +02:00
Eberhard Graether 8fa9bdde5e data: refactored file clearing on reparse to use TaskClearStorage 2015-10-01 13:45:31 +02:00
Eberhard Graether de1af6ce7d data: saving file contents to sqlite db 2015-09-30 02:12:49 +02:00
Eberhard Graether 4782efddcb ui: always show whole file on top when selecting file node 2015-09-29 15:22:00 +02:00
Eberhard Graether dd4d74a1d9 ui: precollapse files in code view
This change shows the files in the code view minimized, if more than 5. This greatly improves performance, because code
and annotations won't get loaded until needed. Files including declarations or definitions of the active symbol are
still expanded. The number of references in each file is now shown in it's title bar. Clicking the title bar allows for
expanding and collapsing as well now.
2015-09-28 15:18:52 +02:00
Eberhard Graether 78c1b32797 data: increased parse and graph assembly performance
* removed header search in subdirectories of header search paths
* cache file node ids in Storage for faster lookup
* retrieve node names from SearchIndex
* fixed addNodeAndAllChildren also called for member edges
* added check if node already present in addEdgeAndAllChildren
2015-09-23 09:26:03 +02:00
Eberhard Graether 73aa6080aa ui: clicking snippet title to show full scope
This change lets the user click the snippet title in the CodeView to insert the full scope. The existing snippets are
merged with the new lines accordingly.
2015-07-20 00:57:19 +02:00
Eberhard Graether fb170cbd5d ui: added universal font size setting and shortcuts for changing it
This change adds font size and font family to the ApplicationSettings to have a single point for manipulating them. The
font size can also be changed via the menu or the zoomIn and zoomOut shortcuts on all platforms.
2015-07-15 00:38:10 +02:00
Eberhard Graether 7275082284 logic: correctly undoing graph interactions by replaying actions since last active token change
This change introdoces a classification of commands by order in the undo stack. Undoing the last action will resend the
message of the last active token change and all messages changing the ui after that.
2015-06-24 01:15:31 +02:00
Eberhard Graether a527a3c34d logic: rewrote messages handling token activation for correct restoring on undo
* saving search query to undo stack with MessageSearch
* saving node and edge with name to undo stack with MessageActivateNode and MessageActivateEdge
* added FeatureController that handels distribution of MessageActivateTokens
* clearing views when refreshing or changing project
* clearing undo stack when changing project
* added StorageCache derived from StorageAccessProxy
2015-06-19 00:20:50 +02:00
Eberhard Graether 20ce168712 ui: scroll to code snippet containing clicked edge
This change scrolls animated to the snippet representing the clicked edge instead of showing only this code snippet.
2015-05-31 22:52:16 +02:00
Eberhard Graether 149bb52c4c data: fixes and improvements
* save forward declarations of classes and structs as NODE_UNDEFINED_TYPE
* put whole files on top in snippet sorting
* uses aggregation count as weight in graph layouting instead of adding all edges to graph
* refreshing all views of components on MessageRefresh in ComponentManager
* reloading ApplikatinoSettings on MessageRefresh
2015-05-25 04:12:52 +02:00