Commit Graph
199 Commits
Author SHA1 Message Date
Eberhard GrätherandGitHub 3950da7999 src: Rename aggregation edge to bundled edges (#1051)
The term aggregation is misleading. Bundled edges is a better definition for this type of edge.

closes #962
2020-06-29 19:41:12 +02:00
Eberhard GrätherandGitHub b0616778f3 ui: Keyboard controls (#935)
* switch focus between views with Tab
* move focus within views with WASD/HJKL/Arrows
* move focus between graph edges by holding Shift
* move focus between code references by holding Shift
* removed graph panning with WASD and moved zooming to Alt + W/S
* removed graph navigation by pressing starting character in graph view lists
* changed local reference and custom trail shortcuts
* updated Keyboard Shortcuts window
* use common back and forward shortcuts and YZ & Shift + YZ
* fix macOS issue where widgets don't get proper focus after creating a new tab
* don't use shared_ptr in QtMainView

fixes #486, #327, #214, #210
2020-03-02 14:48:03 +01:00
Malte LangkabelandGitHub 437f06d21b src: extract NoteType::Type to NodeKind (#925) 2020-02-14 20:35:02 +01:00
Malte LangkabelandGitHub a30f47e27f build: Treat warnings as errors (#923)
* squash and rebase andronov-alexey:treat_warnings_as_errors from pull request #850
* fix remaining warnings in java lib
2020-02-14 16:34:04 +01:00
technateNGandMalte Langkabel 0dcb83403c perf: GetOverviewBundleNodeTypesOrdered to static const variable. (#878) 2020-01-07 12:44:44 +01:00
Eberhard Graether f25e8aa32d ui: Return to active symbol definition in code view when clicking active node in graph view (issue #836) 2019-12-09 17:51:18 +01:00
mlangkabel 078feca004 src: applied clang-format 2019-11-18 17:07:20 +01:00
Eberhard Graether c5d94fbd08 ui: Fixed nested layout broken after relayout for maximum access node width 2019-10-21 17:04:23 +02:00
mlangkabelandEberhard Graether ee7dcc2d83 data: replace template member specialization edge by template specialization edge 2019-10-18 13:05:29 +02:00
mlangkabelandEberhard Graether 42cb917490 data: remove NodeType::NODE_TEMPLATE_PARAMETER 2019-10-18 13:05:29 +02:00
mlangkabelandEberhard Graether fc0e652ae0 data: Remove Template Argument reference kind and edge 2019-10-18 13:05:28 +02:00
Eberhard Graether 74a61e0402 src: Refactored MessageActivationBase handling into single ActivationListener
* structured message type directory
2019-10-18 13:05:27 +02:00
Eberhard Graether 51ebee7cfd ui: Display message box when From -> To Custom Trail doesn't yield a path 2019-08-26 17:19:08 +02:00
Eberhard Graether 68c9782e33 ui: Added custom trail dialog (issue #249)
* open custom trail dialg via button in top of trail controls
* search from symbol to symbol or all referenced/referencing of symbol
* define search depth with slider
* define horizontal/vertical layout
* define node and edge types
* renamed depth graph to trail in graph ui
* added custom trail UI tests

fortune cookie message = A happy surprise is waiting for you.
2019-07-29 11:25:34 +02:00
Eberhard Graether 8e3ca182b9 src: refactored lib/utility
* removed unused utilityMath
* removed some unused functions from utility
* moved time related utility functions to TimeStamp
* moved path objects from utility to app/paths
* moved objects in lib to lib/app
* removed duplicate confirm methods in DialogView
* moved utilityFile to utility/file
* removed uint typedef and replaced with size_t everywhere
* removed boost header in utilityUuid
2019-07-17 15:10:05 +02:00
Eberhard Graether e410548665 ui: Fixed undoing after single edge activation within aggregation showed missing edges 2019-05-28 11:46:01 +02:00
Eberhard Graether 02835ff59a ui: show multi-level inheritance edge in graph legend
* and added "multi-level" to tooltip
2019-04-23 10:07:33 +02:00
Eberhard Graether 4dd032dcff ui: Multi-column layout within access nodes if no child node has edges
* use multiple columns for access nodes if no child has edges
* try to layout close to a square
* layout neighboring accesses to the width of the largest
* increase threshold to hide children on parent activation to 100
* use square layouting in inheritance trees as well
2019-04-16 16:24:38 +02:00
Eberhard Graether 2bc90c07bf ui: Only bundle importing files when import edge present 2019-01-10 23:13:18 +01:00
Eberhard Graether 08dc7ec98b ui: Prevent flickering of edges when going back after multiple edge activations 2019-01-10 22:56:14 +01:00
Eberhard Graether 7d94302712 ui: Remove virtual nodes in depth graph edges when moving nodes (issue #639) 2019-01-10 16:52:40 +01:00
Eberhard Graether 54f989f6f5 ui: Also elide name of active node if it has more than 100 characters (issue #652) 2019-01-08 14:25:28 +01:00
Eberhard Graether dd4a880ec3 ui: Show overview bundles for non-indexed or symbol types if no others available 2018-12-16 23:51:53 +01:00
mlangkabel 21d947ed6c src: updated SymbolKind enum
* removed SymbolKinds for Parameter and LocalSymbol, because these are not stored as symbols inside the database
* added Module symbol kind for Python
2018-12-10 16:26:38 +01:00
mlangkabel 3e16235c12 src: changed name of template parameter symbol kind 2018-11-16 12:52:57 +01:00
Eberhard Graether f13aec70dd ui: Added tabs UI to top of main window (issue #215)
* Added tab bar to top of main window with UI/shortcuts similar to web browsers
* ComponentManager offers components for 2 use-cases: application and tab
* Application components: log view (status/errors), bookmarks, screen search, status bar, tabs, tooltips, dialogs and all tab views disabled
* Tab components: graph, code, history and search
* When a project is loaded there is always at least one tab, otherwise there is none
* Each tab replaces the application views of the same name in the main layout when activated
* Each tab has it's own TaskScheduler, to process tasks independent from other tabs
* The application has a global TaskScheduler for application wide tasks
* The singloton class TaskManager is responsible for managing the TaskSchedulers
* MessageListeners and Messages hold an optional schedulerId, both must be set to only send to a specific TaskScheduler
* Bookmark buttons where split off into a separate view per tab, bookmark managemement is done in the application
* History menu processing is done by the QtMainWindow now
* Screen search is an application component, the responders are always changed to the active tab
* Plugin messages are opened in a new tab
* Symbols can be opened in a new tab via middle click/context menu in graph, code, history dropdown
* Full text index creation is mutexed now in PersistenStorage to make it fully thread-safe
* All tabs are closed when switching projects
* Tab contents are only animated when visible

fortune cookie message = Catch your lucky star!
2018-11-05 01:28:12 +01:00
mlangkabel dfc6d88432 build: search headers in all source directories
* removed paths in include directives
* changed cmake to provide necessary header search paths
* changed name of version.h to productVersion.h due to name conflict
2018-09-18 19:00:18 +02:00
Eberhard Graether 1ba1b9f967 ui: Clear graph contents on overview (issue #609) 2018-08-24 13:54:53 +02:00
mlangkabel 9813c9873f logic: index and store Java annotations
* add annotation symbol kind
* add annotation_usage edge kind
* increment storage version
* record java annotation decls
* record java annotation member decls (as fields)
* update expected output of java sample project indexing tests
* add tests for recording annotations
* add annotation icon, annotation colors
* add new annotation node and edge types to legend
2018-08-14 17:33:00 +02:00
Eberhard Graether ea0c249ad9 ui: Improved contrasts in color schemes
* fixed edge routed wrong issue in graph legend
* fixed Alt + Ctrl/Cmd + R refreshes UI
2018-07-27 14:45:25 +02:00
Eberhard Graether af8220968c ui: Fixed graph not interactive after showing legend 2018-07-24 15:18:21 +02:00
Eberhard Graether ed0ade034e ui: Graph legend (issue #308, #540)
* Show graph legend via 'legend' command or '?' button in the lower right corner
* Legend is not interactive: nodes and edges not clickable or moveable
* CXX and Java node types are mixed
2018-07-23 16:55:58 +02:00
Eberhard Graether 0b5ad33a8c src: Improved project load speed with move semantics and in-place initialization
* switched SearchIndex and HierarchyCache to std::unique_ptr
* use move semantics and in-place initialization in StorageTypes and SearchIndex
* improved autocompletion speed by fixing contained node type checking
2018-07-22 00:25:54 +02:00
Eberhard Graether ed1e8c2273 src: switched isupper to iswupper and all similar functions (issue #598) 2018-07-16 14:56:05 +02:00
Eberhard Graether 88b507b169 ui: Don't show children with type use edges if parent is active by default 2018-07-13 13:16:53 +02:00
Eberhard Graether 983e0dacd4 logic: Show parameters for functions/methods with same name within same parent (issue #259) 2018-07-10 15:28:09 +02:00
Eberhard Graether c8a885be83 logic: Made history menu use on Messages instead of SearchMatch
* Common base class MessageActivateBase for activation messages with getter for SearchMatches
* Removed duplicate logic for creating SearchMatches from Messages
* Fixed can't reactivate fulltext search from history menu
* Renamed history message and moved to sub directory
* Fixed activating node type filters didn't clear code view
2018-07-03 15:11:52 +02:00
Eberhard Graether 172f1b7934 logic: Moved all error handling logic into ErrorController (issue #577)
* Handle all error related messages in ErrorController
* Moved error filter state from Storage to ErrorController
* Moved all error related messages to type/error subdirectory
* Enable all errors shown by default
* Always show unfiltered error count in status bar and overview
* Fixed all errors shown again when changing error filter on errors for file
2018-06-29 13:31:05 +02:00
Eberhard Graether e4000e88be ui: Fixed undoing one of multiple edge activations caused multiple recenterings of the graph 2018-06-14 23:17:10 +02:00
Eberhard Graether 1a37a9af34 src: miscellaneous fixes
* fixed code view snippet minimize click expanded snippet again
* fixed typedef nodes node grouped within file group
* fixed splitting anonymous namespace bundle increased group nesting instead
* fixed build, tests and clang warnings
2018-06-08 16:12:53 +02:00
Eberhard Graether 568e2f3e36 ui: fixed crash when clicking on namespace label 2018-05-04 16:09:43 +02:00
Eberhard Graether 67cec7dda7 ui: Improved graph layout
* wider gabs between buckets
* different column widths above and below horizontal edge split
* only use base/derived bundles for inheritance
2018-04-25 23:50:36 +02:00
mlangkabel d29cabd0b3 logic: fixed missing matches in fulltext search 2018-04-24 19:18:26 +02:00
mlangkabel b6692b9842 src: fixed typedef for Id because bitshift syntax for generated node ids failed on 64 bit windows 2018-04-24 17:34:21 +02:00
mlangkabel f08f27717f logic: record and display include edges for non-indexed files
* non-indexed files are shown in graph view and in code view
* non-indexed files are ignored in search view, overview, stats and refresh dialog
2018-04-23 12:13:49 +02:00
Eberhard Graether 5edaedfd37 ui: Improvements and fixes in graph layouting
* put nodes with bidirectional aggregations on the left
* layout aggregations either horizontal or vertical based on buckets
* exceed bucket height if only one element and vertical split
* fixed hiding nodes in sublayout showed empty spot
2018-04-19 18:54:34 +02:00
Eberhard Graether 5f56a167d1 ui: Fixed group related issues in graph
* fixed aggregation layout within group
* fixed moving of group did not resize view
* fixed edges behind group could not be hovered
* fixed overlapping lines in sublayout
* fixed use of correct column width in sublayout
2018-04-11 14:11:53 +02:00
Eberhard Graether 1fc8430e1d ui: Fixed depth graph has wrong layout on undo when groups were split 2018-04-11 11:09:00 +02:00
Eberhard Graether 5303187bea ui: Group graph nodes by file or namespace (issues #171, #439, #522)
* added buttons to enable grouping by file or namespace
* last used group settings saved to ApplicationSettings
* made groups hoverable/clickable on label only
* improved node hatching and override edge colors
* group overview lists

fortune cookie message = Seen with the eyes of love, everything gets a new meaning.
2018-04-09 00:09:22 +02:00
Eberhard Graether f79e50d529 ui: Layout template specializations vertically
* use closed arrow for template specialization edges
* no specialization edges in call graph
2018-04-05 21:48:45 +02:00