Commit Graph
141 Commits
Author SHA1 Message Date
malte_langkabel 3587b487dd ui: Fixed animation crash
* Fixed crash that occurred when resetting the current animation in the QtGraphView.
2015-06-23 16:36:39 +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 d6269f9608 ui: bundling nodes in the graph view
This change bundles similar nodes in the graph view together. When the bundled node or it's aggregation edge are clicked,
then the bundle is split. This change also adds an arrow to the aggregation edge based on the direction of it's edges.
2015-06-17 22:47:08 +02:00
Eberhard Graether 063d972b13 ui: stop old graph animation before starting new one 2015-06-09 23:23:07 +02:00
Eberhard Graether e85b9e7425 ui: fixed jumps in graph navigation
* moved graph postprocessing to GraphController to avoid reprocessing on edge activation
* animat sceneRect of the GraphView to avoid jump at end of animation
2015-06-09 22:51:09 +02:00
Eberhard Graether 0c41aecfc9 ui: reworded file tooltips
* and added sample source
2015-06-09 14:09:12 +02:00
Eberhard Graether 637a91088f ui: Fixed scope annotations were highlighted with selection when only one was active 2015-06-01 22:41:27 +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 3e419bb41f ui: polishing for presentation
* enabled highDpi icons in QApplication for Searchbar Icons
* realigned StartScreen contents
* showing version number 0.1
* "Search" as placeholder text in SearchBar
* same content margins for each dockwidget view
* brighter variable color in Graph
* press ESC to close StartScreen
2015-05-30 21:18:18 +02:00
Andreas Stallinger b0a5461316 ui: startscreen
startscreen with recent projects, "recent" projects are the xml files in the projects folder
2015-05-27 10:56:25 +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
Eberhard Graether f15f0de414 ui: new style for CodeView 2015-05-25 01:47:14 +02:00
Eberhard Graether 23da81136f ui: new colors and other ui improvements
* smoothing for edge lines
* fixed activation of token not working when multiple tokens active
* changed inheritance arrow
* thicker width for edges on focus
2015-05-24 14:47:52 +02:00
Eberhard Graether bd5de1d271 src: refactoring of GraphNode and GraphEdge classes
* common base class QtGraphNode
* derived class QtGraphNodeData for nodes representing the data model
* removed GraphNode and GraphEdge interface classes
* moved and renamed files for DummyNode and DummyEdge
* refactored includes throughout Graph UI related files
2015-05-22 13:54:50 +02:00
Eberhard Graether 1e8d8cece0 ui: Prevent activation of already activated Tokens 2015-05-21 03:32:02 +02:00
Eberhard Graether 5868fe4d39 ui: minimize and maximize buttons for QtCodeFile
This change switches the code view UI to use minimize and maximize buttons within the QtCodeView instead of creating
separate windows for each maximized code file. Real icons for the buttons are still missing.
2015-05-19 16:27:42 +02:00
Eberhard Graether f0e101e994 ui: fixed 2 nodes layouted on top of each other 2015-05-18 14:02:19 +02:00
Eberhard Graether e4d71f8a01 ui: draw scope annotations in CodeView using one big rectangle
And refactored QtCodeFile classes.
2015-05-16 12:57:47 +02:00
Eberhard Graether f58b6f50ed ui: bug fixes in search bar
* use DEL key to delete next element
* cursor not jumping to end of word anymore when autocompletions are updated
* holding down arrows for moving to start or end of word won't turn word into element

fortune cookie message = You deserve to have a good time after a hard days work.
2015-05-12 14:46:20 +02:00
Andreas Stallinger a41c0e1b85 ui: bidirectional hovering
hovering for graphview and codeview via messaging, hovering in one view will "hover" the equivalent in the other view
2015-05-12 13:55:23 +02:00
malte_langkabel 97345cc72f ui: scope names in snippet titles
* added title for snippets
* title displays name of parent scope.
* when new TokenLocationFiles are created in the storage they are now returned as shared_ptr to ensure correct linking in the contained data.
* Storage::getTokenLocationsForLinesInFile() now always returns pairs of start and end locations.
* Adjusted code snippet view to regard the change described above.
2015-05-11 12:34:27 +02:00
Eberhard Graether 7dcf8b0bdb src: various fixes
* fixed crash when hovering GraphNode while expanding/collapsing it
* fixed clang warnings
* fixed GraphNodeExpandToggle to show empty circle
* fixed Searchbar showing empty block when nothing was parsed
* made template related edges in GraphView red
2015-05-05 23:12:25 +02:00
Andreas Stallinger 0763dc9cdf ui: splashscreen
displays an animated splayscreen
2015-05-04 15:11:49 +02:00
Andreas Stallinger 9c7e76b80a ui: Menu Namings
reorganized Menu
2015-05-04 15:06:09 +02:00
Eberhard Graether 4ec3dfd372 src: fixed clang warnings 2015-05-04 10:15:55 +02:00
Eberhard Graether 7231ae36f6 ui: usability improvements
* darkened red of error message in status bar
* added status error when not defined startupproject
* added tooltips for remaining search view buttons
* added filepath as tooptip for title in code view
* opening file when clicking title in code view
2015-05-03 00:52:04 +02:00
Eberhard Graether aa0c40b213 ui: Improved graph layouting to properly place and resize subnodes
This change moves the toplevel node resizing from the QtPostProcessor to the GraphController to place and resize their
subnodes accordingly as well.
2015-04-30 16:25:24 +02:00
Eberhard Graether 749b1647e4 ui: added loader animation gif to StatusBar
The loader animation can be activated by setting the showLoader flag on MessageStatus.
2015-04-28 20:26:31 +02:00
Eberhard Graether 791189c3c3 ui: only single class expand button next to class name
This change reduces the size of collapsed classes in the GraphView by removing the condensed view of the class access
nodes and using a single button next to the class name for collapsing and expanding instead.
2015-04-28 20:08:05 +02:00
Eberhard Graether 3c7c3da527 logic: made parsing interruptable by introducing TaskScheduler
This change introduces the TaskScheduler, which queues and processes Tasks on a separate thread. The Task class provides
a common interface for deriving all specific tasks. A task can split it's processing into multiple update calls. The
TaskScheduler will update a task until it is finished or interrupt it when necessary. TaskGroups can be used to bundle
multiple Tasks together. So far only TaskGroupSequential was implemented which runs the Tasks in the set order.

TaskParseCxx utilizes the CxxParser to parse each source file in a single update call. Parsing can be interrupted using
the ESC key. The Statusbar shows the parsing progress.
2015-04-23 18:57:38 +02:00
Andreas Stallinger 6b9f30c444 ui: layout loading fix for loading dockwidgets on linux 2015-04-21 16:29:50 +02:00
Andreas Stallinger 7655d43299 build: Linux package(.deb)
.deb package file for debian distros like ubuntu
To create the package use the command: ninja package
in the build directory
2015-04-21 12:01:06 +02:00
Eberhard Graether 7790241926 ui: panning GraphView and resizing after node was moved 2015-03-23 16:16:26 +01:00
Eberhard Graether 5fc7182dc0 ui: added new icon and moved it to data/gui/icon 2015-03-23 15:17:49 +01:00
Andreas Stallinger 9c224dc519 ui: keyboard grab commit reverted 2015-03-23 14:38:40 +01:00
Eberhard Graether f5aa698225 ui: separated GraphView style settings into class GraphViewStyle
This change adds the class GraphViewStyle that holds all values for defining the style of Nodes and Edges in the Graph.
The GraphViewStyleImpl interface and the QtGraphViewStyleImpl implementation are used to request Qt specific metrics,
like the charwidth of used fonts.

This change includes the following fixes:
* aggregation number always in the middle between nodes
* darker color for aggregation edge
* split off QGraphicsLineItem implementations from QtGraphEdge
* fixed some colors in color scheme

fortune cookie message = Sorge dich nicht! Du wirst bekommen was du brauchst.
2015-03-23 11:44:57 +01:00
Andreas Stallinger 416756b1c7 ui: keyboard input direct to searchbar
typing is directed to the searchbar
2015-03-18 17:01:38 +01:00
Andreas Stallinger ac090dd624 ui: adapt autocompletebox size
adapt autocompletebox size, starts at cursor ends at the end of the inputbox, minium size is 400

<description>
2015-03-18 16:15:44 +01:00
Eberhard Graether 03cf9eeb5f data: Fixes and features for loading Coati into Coati
This change facilitates loading Coati into Coati:
* removed error logs for TokenComponent setting
* fixed edge checks regarding template stuff
* separated CommonSettings to be inherited by Project- and ApplicationSettings for common settings
* pluralized SourcePaths setting in xml to allow for loading multiple directories and single files
* added CompilerFlags section to settings
* passing Compiler arguments to Parser via struct Parser::Arguments
* setting -isystem for all header search paths to avoid distinction between "" and <> headers
* parsing all headers from the SourcePaths, even the ones that are not included
* fixed parsing time measurement and display
* added utility.h file for general utility functionality
2015-03-16 10:07:57 +01:00
Andreas Stallinger 5a259ed7c7 ui: qt windowicon added 2015-03-11 11:16:49 +01:00
Eberhard Graether ca9dfe7f75 ui: improved file nodes
* added colors for file nodes and dependency edges
* use TokenComponentFilePath on file nodes to store FilePath
2015-03-09 14:07:58 +01:00
Eberhard Graether df888e4151 utility: added FilePath abstraction and rewrote data management to use it
The utility class FilePath wraps an instance of boost::filesystem::path. Using FilePath allows for easy comparision of
file paths on different platforms using absolute or relative paths. Whereever file paths are compared, this wrapper
should be used.
2015-03-09 01:51:32 +01:00
Eberhard Graether 7014c8ac4c data: ClangTool gets invoked for cpp files only, headers are parsed on-the-fly
This change adds the class FileRegister, that splits cpp and h files for the Parser and keeps track which headers have
been parsed yet. TranslationUnits get only created for cpp files now, and headers are parsed on the fly. This reduces
parse time by around half.
2015-03-09 01:32:51 +01:00
Manuel 06aa7bdb58 UI: Overlaps resolve
Fixed several issues with the overlaps resolving algorithm.

Introducing the cell padding in the last graph update caused some issues that are now resolved.

Coincidently the average number of algorithm iterations needed could be reduced, therefore the thing is now faster.

fortune cookie message = All the answers you need are right there in front of you!
2015-03-04 23:07:34 -08:00
Andreas Stallinger da1a6d69c4 ui: Colors in SearchView
Show the right colors in SearchView for the different NodeTypes or QueryNodeTyps

Note: add colors to your Applcationsettings like in the template

fortune cookie message = recognition will come from unexpected sources
2015-03-04 11:55:25 +01:00
Eberhard Graether 284fb336a6 ui: fixed crash on Windows caused by transition animation being deleted right after taking place 2015-03-04 10:58:50 +01:00
Eberhard Graether 89d3a9ab9f ui: fixed leak in QtGraphView transition 2015-03-03 01:16:30 +01:00
Eberhard Graether 598041f896 data: parsing file dependencies
This change adds the node NODE_FILE to the graph and the edge EDGE_INCLUDE, which determine the dependencies between
files by parsing the include preprocessor directive. File nodes can be searched and displayed in the GraphView as file
dependency graph. The filter "file" allows for selecting all files. The file depency information is used on project
refresh do determine which files need to get reparsed.
2015-03-03 00:33:13 +01:00
Eberhard Graether 4f7d31eb79 ui: graph transitions
This change adds animated transitions to the QtGraphView using sequential and parallel animations. First vanishing nodes
and all edges get faded out, then the remaining nodes are moved and resized, lastly new nodes and all edges are faded in.

fortune cookie message = Sorge dich nicht! Du wirst bekommen, was du brauchst.
2015-02-23 12:11:01 +01:00
Manuel 35867c17af ui: graph rastering
Graph nodes are now placed within a raster. This is true for initial layout as well as drag-and-droped stuff.
2015-02-17 23:40:53 -08:00