Commit Graph
2178 Commits
Author SHA1 Message Date
Eberhard Graether eb9092a07f logic: show whole file in CodeView when file node is active 2015-03-24 23:01:40 +01:00
Eberhard Graether 0d2a76c2eb logic: added default header and source extensions to ProjectSettings
Loading source from the menu using Project->New resulted in nothing being loaded because no extensions are set.
2015-03-24 20:53:02 +01:00
Eberhard Graether be123a33b4 data: fixed parser issues to load whole Coati on Mac 2015-03-24 20:34:55 +01:00
malte_langkabel 3738f196b9 data: fixed crashed when parsing own code
* fixed test that was expecting a wrong result.
* refactored DataType class.
* added code to parse dependent type names.
* refactored utilityCxx a little.
2015-03-23 17:00:54 +01:00
Eberhard Graether c83dbae4d4 logic: removed visible edges from aggregation edges in GraphController 2015-03-23 16:51:46 +01: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 524f15187b utility: Fixed ConfigManager not logging warnings for undefined lists in config files 2015-03-23 13:55:10 +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
Eberhard Graether fbd3b7ea5c data: speeded up Dictionary lookup by using another hashmap 2015-03-19 00:26:32 +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
Andreas Stallinger 69ea6adddd src: file extension for header and source in config
header and source extensions are now in the projectsettings
2015-03-18 15:48:59 +01:00
Eberhard Graether e3f1f004a0 logic: combined GraphAccess and LocationAccess to StorageAccess
Having only one access point to the Storage will simplify caching and parallelisation in the future. Also the two
accesses were never really independent of each other anyways, because in some cases they had to access both data sets.
2015-03-17 16:38:17 +01:00
Eberhard Graether 52baca3962 logic: flag FilterUndefinedNodesFromGraph in ApplicationSettings
If set to true the flag filters all undefined nodes from the graph, unless every active node is undefined.
2015-03-17 15:42:20 +01:00
Eberhard Graether c4ca420677 src: added StartupProject setting to ApplicationSettings 2015-03-17 14:45:49 +01:00
Eberhard Graether ba48731c8c data: Fixed data in headers being saved to Storage multiple times 2015-03-17 14:28:16 +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
malte_langkabel 0e0553c90b test: added missing template parameter tests
* Added tests for parameter parsing of template functions.
* Added missing tests for template parameters and arguments.
* Fixed warning when using the "typename" keyword in combination with template template arguments.
* Added code to handle template template default arguments and implemented test case.
2015-03-11 15:50:07 +01:00
Eberhard Graether ca85d5a5d3 build: bug fixes for release version
* fixed search activating 2 nodes, because of NodeType in query
* fixed search results didn't contain results with same name
* added protected contents to sample and tictactoe code
* fixed CxxParserTests not logging errors, disabled logging for tests with errors
* fixed CxxParserTests not finding system headers, added TestSettings.xml and pass headers to Parser::parseFile()
2015-03-11 13:14:22 +01:00
Andreas Stallinger 5a259ed7c7 ui: qt windowicon added 2015-03-11 11:16:49 +01:00
malte_langkabel 9b3f9ebdbf data: non-type- and template-template parameters
* name of template class now also contains type information on the template parameters (e.g. typename, class, bool, const std::string&, etc.)
* implemented handling of non-type template parameters and template template parameters.
* implemented lots of tests for these features.
2015-03-09 18:07:30 +01:00
Eberhard Graether 299cb49540 logic: fixed underflow in fuzzy search after 100 chars 2015-03-09 15:01:54 +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
Andreas Stallinger abddf57004 logic: undoredo
Undoredo ignore sequential identical activatetoken messages
2015-03-07 18:14:27 +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 e71caf23dc test: fixed test fails for wrong slashes on windows 2015-03-04 10:47:22 +01:00
Eberhard Graether d3ac8bfbcf test: fixed GraphFilterConductorTestSuite to not use full filepath of file node for comparision 2015-03-04 10:36:29 +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
malte_langkabel 5370541a0f data: filename info
* Changed the TokenLocation of TemplateArguments to have at least a valid file name.
* Extended name of anonymous namespace by the containing file's name.
* Adjusted tests to reflect these changes.
2015-02-27 16:07:51 +01:00
malte_langkabel d0c92a6553 data: refined template parameter names
* Fixed template parameters to be resolved to their correct names even if they are (re)definied outside of the class (e.g. for template method definitions).
* Added test code.
2015-02-27 14:40:38 +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
malte_langkabel 6c3c8cdcc1 data: parsing template functions
* implemented parsing of template functions.
* added tests for those cases.
2015-02-16 16:22:58 +01:00
malte_langkabel 115b19c266 data: fixed parsing errors.
* (quick) fixed all the crashes that occurred when parsing the own source code.
2015-02-12 14:01:43 +01:00
Eberhard Graether 0d53e69d21 utility: added log levels for Loggers
This change allows setting log levels on loggers. The apps ConsoleLogger was switched to only logging warnings and
errors the FileLogger still saves all types of logs.
2015-02-12 10:51:43 +01:00
Eberhard Graether 1fd7703995 ui: offset Edges to left or right whether they go up or down to avoid overlapping of different directions 2015-02-10 15:19:28 +01:00
Eberhard Graether b8f6b4be4e data: added Node type NODE_ENUM_CONSTANT 2015-02-10 14:28:53 +01:00
Eberhard Graether 0b9a2bf4a1 build: fixed clang warnings and console errors 2015-02-10 13:48:20 +01:00
Eberhard Graether 51c6675464 data: parsing and saving method overrides
This change parses method overrides and saves them in the Storage with type EDGE_OVERRIDE.
2015-02-10 12:18:40 +01:00
Eberhard Graether 53eab0a517 logic: fixed Searchbutton not searching and wrong destruction order in ComponentManager 2015-02-10 10:31:14 +01:00
Eberhard Graether 229c7a763b ui: saving and restoring DockWidget layout 2015-02-09 16:58:08 +01:00
Eberhard Graether 5ecc4fb39a logic/ui: added CompositeView for combining Views to one DockWidget
Added CompositView, which implements both View and ViewLayout, for combining Views to one Widget. The layout can be set
to either horizontal or vertical. SearchView, RefreshView and UndoRedoView are combined to one DockWidget by the
ComponentManager now.

fortune cookie message = You'll get more secure and confident with your relationship with your co-workers.
2015-02-09 16:27:23 +01:00
malte_langkabel 8bc11c9d9c logic: File Manager
* added FileManager that keeps track of the files analyzed by the project. It therefore checks if files get added, updated or deleted from the source- and include folders.
* refactored ASTVisitor::hasValidLocation() and implemented one version that search for the location in the currently parsed file and one that searches in all the project's source files.
* quickfix: switched order in FileManager so that header files are parsed first.
* created folder for helper classes used in tests.
* added test code for FileManager
* adjusted test code for Parser Tests.
2015-02-09 14:52:31 +01:00