Commit Graph
70 Commits
Author SHA1 Message Date
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 20f87b084f ui: Improved horizontal graph layout
* extend horizontal edges to origin column width
* leave horizontal gap in the middle of the left and right buckets for routing edges
* move left and right buckets vertically so that edges enter and leave horizontally
* removed third pivoting for graph edges, all edges enter and leave relative to the node center now
2018-04-10 01:45:56 +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
Eberhard Graether e1a7141352 logic: Clicking on group in inheritance graph expands it 2018-04-05 21:38:58 +02:00
Eberhard Graether 8f754be165 logic: Show symbols defined within file within file node when activating a file (issue #268) 2018-04-04 01:02:11 +02:00
Eberhard Graether bbd003f047 logic: Group nodes in inheritance graph who have the same base and derived nodes (issue #459)
* added graph node for grouping nodes with separate sub-layout
* group nodes show name in top left corner
* clicking on single edge activates source locations of all edges
* removed separate setters for token components
* fixed text nodes missing or too many in list layout
* moved simple row and column layouts to ListLayouter
* added skewed layout type to ListLayouter

fortune cookie message = Sometimes you should have the courage and risk something.
2018-03-26 23:57:05 +02:00
mlangkabel 6d82e9265a logic: implemented handling of non-ascii characters in screen search 2018-02-26 13:56:47 +01:00
Eberhard Graether 9773c30fdc ui: Improved vertical layout for override and inheritance edges 2018-02-07 23:15:55 +01:00
mlangkabel 6ae9c2eca5 src: use wstring in tooltip and snippet 2018-02-06 15:54:09 +01:00
mlangkabel f0b817eb0a src: broad refactoring to use FilePath.wstr() where easily possible 2018-02-06 11:35:36 +01:00
mlangkabel 9e041c1f0a logic: use wstring in symbol and bookmark names
* use wstring in symbol and bookmark names
* fixed setting apppath in windows includes
* regard utf8 encoding in shared indexer commands
* regard utf8 encoding in shared indexer status
2018-02-05 17:17:33 +01:00
Eberhard Graether 5d3dd37ff5 ui: Add bidirectional in aggregation tooltip 2017-12-11 19:53:10 +01:00
Eberhard Graether 0d5c19db00 ui: Hide nodes and edges from graph via context menu action or Alt + Click (issue #472)
* show all context menu actions, but disable unavailable
* added hide action to undo redo stack
2017-11-26 12:54:42 +01:00
mlangkabel bdb68a9aef src: added usage of NodeType::isUnknownSymbol method 2017-11-23 17:46:34 +01:00
mlangkabel d1b6667ac6 src: renamed "non_indexed" node type to "symbol" 2017-11-23 17:36:42 +01:00
mlangkabel 74dc4bbe5b src: replaced references to NodeType::Type in GraphViewStyle 2017-11-23 17:16:59 +01:00
mlangkabel 90e17c5868 src: converted NodeType to a class
NodeType internally still uses the Type enum
2017-11-23 17:05:15 +01:00
Eberhard Graether b887a4a89e logic: don't use shared_ptr for QtGraphNode and QtGraphEdge anymore
* fixes crashes on events to deleted Qt elements
2017-11-17 22:30:48 +01:00
Eberhard Graether f1f4fe9a2d ui: Fixed activation of bookmarked edge did not highlight edge 2017-11-03 11:44:00 +01:00
Eberhard Graether 95ef8c3eec ui: Added on-screen search feature (issue #79)
* Use menu action "Edit -> Find in View" or Ctrl + D
* UI displayed as search bar at bottom of main window
* Hide search bar with ECS or close button
* Entering a query searches in name of graph nodes and code contents of code view
* Use Enter to iterate through matches, well move match into view in graph and code view
* Checkboxes allow for adding/removing results for certain views
* Create Bookmark shortcut is now CTRL + S

bug id = 79
2017-09-19 14:00:40 +02:00
Andreas Stallinger 37ead804bf src: clazy compiler warnings
get rid of most clazy warnings (https://github.com/KDE/clazy)
* range loop use refs
* qcolor ctor with ints
* missing Q_OBJECT macro
* use .constfirst instead of .first

enabled ccache for unix systems for fasterr recompiling
* if ccache is in path we use it now
2017-08-10 09:45:55 +02:00
Eberhard Graether 01864b4d0c ui: Added custom tooltipping to code and graph (issue #195)
* Tooltips show node type with access specifier, reference count and fully qualified name
* Fields and global variables include the type name
* Methods and functinos show whole signature. Gets broken into multiple lines if too long.

Included changes:

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

bug id = 195
2017-07-31 12:45:22 +02:00
Eberhard Graether 9d0b86ad98 logic: Show inheritance edges between parents of active symbol and other visible symbols (issue #167)
* add inheritance edges between parents of active symbol and other visible symbols
* add dashed inheritance edges when symbols are no direct decendants
* inheritance edges are also respected in layouting, putting base/derived classes in the correct top/bottom spot now

bug id = 167
2017-07-16 18:40:59 +02:00
Eberhard Graether 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
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02: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 e5cad53e85 ui: Click edges in trail to show source location 2017-05-06 22:56:17 +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
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
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 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 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 77ef076c88 ui: Show definition in code view when clicking active node in graph 2017-02-21 00:37:19 +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 a6bc9c5465 ui: Bigger offset for bigger circle in graph node bundle 2017-02-13 23:02:53 +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
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 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
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 2c7f19bfd1 ui: Fixed namespace label cut off when node is in front column 2017-01-09 16:59:16 +01:00
malte_langkabel d9e6b23a8b ui: removed underscores from edge-hover names in graph 2016-12-16 11:02:33 +01:00
Eberhard Graether 809d27ecac ui: Fixed undefined stripes of graph nodes covering child nodes 2016-12-09 14:21:43 +01:00
Eberhard Graether b2358f581c ui: Fixed graph node icons getting allocated and stacked on hover 2016-11-29 16:48:48 +01:00
Eberhard Graether c7886cfb3a ui: Updated graph node and project type icons 2016-11-29 15:51:47 +01:00
Eberhard Graether e9cadbed8d ui: Show namespace label on left side of graph nodes
* Added arrow indicating namespace and package name on left side of node
* Show namespace label when hovering arrow
* Activate namespace when clicking label
* New design for namespace nodes
2016-11-28 16:28:52 +01:00
Eberhard Graether f6ae1afdb2 ui & logic: fixes for release
* smaller indexing progress dialog with bar in the middle instead of golden ratio
* set default code snippet expand range to 3
* no minimum height for project file location element in project setup wizard
* move aggregation and inheritance edges to front when hovered or active
* push parent nodes of active nodes to back to make edges to the active child visible
* properly quit application when window is closed while confirm box is open
* properly quit application when window is closed while indexing
* only count top level nodes for count on bundle nodes
* give noLetterScore to index 0 in search index scoring

bug id = 121
2016-10-11 15:38:44 +02:00
Eberhard Graether fae418897c ui: sub bundle for anonymous namespaces
bug id = 126
2016-08-06 14:47:38 +02:00