* #0: various fixes for windows build
* remove warnings that definition of a variable hides previously defined ones
* remove warnings that function argument is not used
* remove warnings that statements are not reached
* event_trace_win: fix compilation with UNICODE
* #0 various windows fixes: react to PR comments
* localize unicode handling of process info to ProcessInfo
* fix compilation error in Properties constructor
* event_trace_win: fix bug in ProcessInfo initialization
We didn't retry setting the name when GetModuleBaseName() didn't succeed,
even though we did that before the last refactoring.
* Revert "event_trace_win: fix bug in ProcessInfo initialization"
This reverts commit c4ce6cf488be5489fa0a1a9c24e92dd39bbc42a1.
* Revert "#0 various windows fixes: react to PR comments"
This reverts commit cae31a25371e53a3645ddab82372c3772138d658.
* #0 various windows fixes: react to PR comments again
* keep number of allocations minimal
* add getProcessName() to retrieve the process name as char always (i.e. not UNICODE)
1) Added active time calculation (this is duration excluding context switch time).
2) Columns "Duration", "Self Dur.", "Self %", "% / Frame", "Active time", "Active %" in Plain mode shows total values per frame (sum of all values per frame).
(EasyGraphicsView) Scale indicator rework;
(EasyMainWindow) Added menu "View" with actions "Expand all" nad "Collapse all";
(EasyGraphicsScrollbar) Fixed wrong mouse position calculation when scaling (with mouse wheel) on minimap.
(profiler_gui) Moving sources into separate files;
(profiler_gui) Rename Prof* classes into Easy*;
(EasyGraphicsView) Optimized performance by not painting items which were not expanded in TreeWidget. While there are no range selected for TreeWidget, only top-level blocks are painted on scene.
(ProfGraphicsView) Clickable indicators of ProfChronometerItem;
(ProfTreeWidget) Jump to items on scene from ProfTreeWidget;
(profiler GUI) Fixed typos and warnings;
(profiler GUI) Lightening profiler::colors to be more bright;
(ProfTreeWidget) Displaying per frame and per thread statistics;
(ProfGraphicsView) Draw chronometer item text in Difference mode to be more readable.
(profiler GUI) Added plain vector of ProfBlocks (additional information for gui) for fast access;
(ProfGraphicsView) Removed unnecessary methods; small refactoring;
(ProfTreeWidget) Removed unnecessary map of tree items;
(ProfGraphicsScrollbar) Added colorizing of minimap (green = low duration, red = long duration);
(profiler Reader) Added self_duration field for statistics;
(profiler Reader) Removed #ifdef macros;
(profiler Reader) moved BlocksTree, BlocksTreeRoot and thread_blocks_tree_t types inside profiler namespace;
(profiler GUI) Added globals.h and globals.cpp containing global variables and signals; Added profiler_gui namespace;
(ProfTreeWidget) Added context menu "Select columns" to make it possible to hide columns;
(ProfTreeWidget) Added percent statistics for blocks (Self %, Parent % and Frame %); Added displaying of total thread duration;
(ProfGraphicsScrollbar) Added context menu to make it possible to choose which thread to display on minimap;
(ProfGraphicsView) Highlighting currently selected thread;
(GraphicsView) Added a lot of comments;
(GraphicsView) Changed base unit from milliseconds to microseconds;
(GraphicsScrollbar) Fixed fluttering on very small scale;
(GraphicsView)+(TreeWidget) Chronometer item behavior: if selection made from left to right - selecting all items by intersection with rectangle; if selection made from right to left - selecting all items which are strictly inside selection rectangle.