Commit Graph
60 Commits
Author SHA1 Message Date
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
Eberhard Graether 166d82b44f ui: made icon buttons self updating on color scheme change
* fixed hatching not replaced in single file view title bar on color scheme change
2018-03-19 22:44:45 +01:00
mlangkabel 6d82e9265a logic: implemented handling of non-ascii characters in screen search 2018-02-26 13:56:47 +01:00
mlangkabel ca20cb7bc9 src: use nullptr instead of NULL 2018-02-23 19:11:35 +01:00
mlangkabel 0dda63f7ae logic: used wstring in FilePath constructor
* used wstring in FilePath constructor where easily possible
* added FilePath concatenate method that accepts string parameter
* implemented using only wstring in MessageStatus
* used wstring in config
2018-01-30 11:00:23 +01:00
Eberhard Graether ea8ab3df8e ui: Custom style for dock widget title bars
* avoid style loading in every view on application start
* improved contrast of reference label
* moved Reset Window Layout action up in View menu
2018-01-05 01:06:49 +01:00
mlangkabel 8b21d57750 src: implemented move constructor/assignment for filepath
* improves indexing performance by roughly 5%
* switched to use uniqu_ptr for boost path to get rid of including boost in header
* added different methods to change the current FilePath or to make a copy and change that one
* used these methods appropriately throughout the code base
* removed exists() method from FileSystem because it is already contained in FilePath
* added const in some places
2017-12-23 10:28:25 +01:00
Eberhard Graether 7903ef9c1e ui: Update visible depth graph when changing depth level (issue #484) 2017-11-26 14:59:51 +01:00
Eberhard Graether bfc7a55f70 ui: Fixed icon sizes when scaling to highDPI screens fails
* Fixed gcc compile error
2017-11-25 18:21:19 +01:00
mlangkabel 1a9d2b8eab src: replaced usage of NodeType::Type in MessageActivateTrail creation 2017-11-23 17:56:47 +01:00
mlangkabel d1b6667ac6 src: renamed "non_indexed" node type to "symbol" 2017-11-23 17:36:42 +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 ae37145d22 ui: Intermediate fix to avoid early QWidget deletion due to smart pointers
TODO: get rid of smart pointers for Qt classes in QtGraphView
2017-11-09 16:32:26 +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 1e7d934cb8 src: Switched all Qt..View implementations to use QtThreadedLambdaFunctor 2017-09-21 01:37:17 +02: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
Eberhard Graether 8beb516b80 logic: Added template specialization and template member specialization edges to call graph 2017-09-14 17:32:33 +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
Andreas Stallinger 244c9af3c6 src: new signal slot syntax
SLOT()/SIGNAL() -> &class::method()
2017-08-01 12:35:33 +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 ad3169c3c0 src: Fixes for release
* clear references count when clearing code view
* fixed scrolling to character in overview lists
* fixed aggregation activation shown in history menu
* fixed same snippet being added twice
* Sourcetrail [Trial] as window title
* fixed undoing trail expand will always reactivate symbol
2017-06-20 15:18:30 +02:00
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
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 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 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 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
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
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 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 ba984121a2 ui: Fixed jumping to character in overview bundle broken when _ present 2017-02-11 16:36:40 +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 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
Eberhard Graether 32550dcb77 ui: Fixed scrolling broken in graph view 2017-01-27 10:12:12 +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
malte_langkabel 212c0e71fa ui: added context menu option to copy a graph-node's name 2017-01-19 12:01:08 +01:00
Eberhard Graether cee8a52ca4 ui: Added checkbox to enable/disable animations to preferences 2017-01-09 21:32:59 +01:00
Eberhard Graether 46078097d7 ui: Fixed graph view to not recenter on active node when clicking edge 2016-11-29 09:59:26 +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 9473e62aaf ui: Fixed color scheme not updated on refresh 2016-10-21 15:38:07 +02:00
Eberhard Graether c269493942 ui: Added scroll speed setting to preferences 2016-08-18 12:12:19 +02:00
malte_langkabel b072972b50 data: indexing java
* expanded appsettings to include java specific stuff
* added java indexer as separate project that can be build via its build script
* added dependencies for java indexer to the setup folder
* added license files for these dependencies.
* added sample project for java. this is just to test java on other machines and can be removed again in the future.
* the java parser test suite is currently uncommented because java is not running on every machine.
* added some more node types
* removed TokenComponentAccess::AccessType and replaced all its usages by using AccessKind
* moved access components from edges to nodes
* using recordReference of ParserClient for java
* removed recording access specifier of inheritance edges.
* added styles for new node types
2016-08-04 09:20:13 +02:00
Eberhard Graether f4677a902d ui: Pan graph view to name of active symbol after activation
bug id = 80
2016-07-22 13:57:58 +02:00
Eberhard Graether 7f867bf889 ui: added color_scheme_test command displaying all graph node types and states
implementations for other views comming.
2016-06-22 16:14:06 +02:00
Eberhard Graether 468e55f078 ui: Repaint graph view after animation to remove artifacts
bug id = 75
2016-05-31 16:44:24 +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