121 Commits

Author SHA1 Message Date
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
baldurk 83c98f1ff7 Tweak rich resource text rendering to match non-rich text positioning 2019-10-11 13:07:36 +01:00
baldurk ca9e43fd6e Add hoverItemChanged event to RDTreeWidget 2019-09-30 13:41:14 +01:00
baldurk 80bfa1b409 Fix display of ResourceId text in log viewer 2019-08-27 18:51:57 +01:00
baldurk 039b65f89f Add a viewer of the diagnostic log in the UI itself 2019-06-27 10:22:13 +01:00
baldurk 05f044016b Don't call QObject::connect for a NULL model 2019-05-22 11:33:09 +01:00
baldurk 943a790319 Fix a crash when resizing a header view with all sections hidden 2019-05-22 10:53:52 +01:00
baldurk 775fa9b635 Disconnect item model before deleting RDTreeWidget/RDTreeView
* This avoids odd races where some events might be fired mid-destruction and
  encounter the item model in an undefined state.
2019-05-21 13:58:38 +01:00
baldurk 4311b35038 Tidy up RDTreeView expansion handling 2019-04-05 13:22:33 +01:00
baldurk 3d2fa8cd3e Optimise RichResourceText to special-case for single ResourceId text
* Most cases don't have other text together with a ResourceId, so handle an
  isolated ResourceId specially and manually render it.
* Further work - we could cache the name the same way as the RichResourceText
  does. So far it doesn't seem to appear on profiling.
2019-03-29 17:48:15 +00:00
baldurk 13d35645be When clearing RDTreeWidgetItem don't remove children one-by-one 2019-03-27 17:57:56 +00:00
baldurk 9b15368c37 Remove unused code 2019-03-27 17:57:44 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk f3dda7959e For very large tables, don't fallback to rendering all rows
* lastRow can return -1 in some situations where there's no last row visible,
  but we don't want to render potentially millions of invisible rows.
2019-01-04 16:44:00 +00:00
baldurk 91e80a7756 Remove accidentally committed debug print 2019-01-03 14:26:18 +00:00
baldurk ce88558a7c Refactor RDTreeWidgetDelegate into RichTextViewDelegate that is reusable
* This allows us to add rich text support much more easily into other itemviews
  like RDTableView.
* We set it up for debug messages so that resource links in debug messages can
  be linked.
2018-12-17 17:10:34 +00:00
baldurk 58e2c88e76 Don't custom size horizontal header by default in RDTableView 2018-12-17 17:10:33 +00:00
baldurk 9e3147d021 Save treeview expansion state while browsing. Closes #678, Closes #1034
* This is supported currently in the API inspector, constant buffer previewer, and resource inspector.
* The saved expansions are only saved while the capture is open, and will be reset each time.
2018-08-06 16:23:03 +01:00
baldurk 74528c4d15 Allow saving state internally by key as well as externally 2018-08-06 16:23:03 +01:00
baldurk edc5815463 Move expansion saving to RDTreeView so it can be used in more places. 2018-08-06 16:23:02 +01:00
baldurk ec2806df06 Add context menu for manipulating watch panel 2018-06-22 19:28:34 +01:00
baldurk 1761f5ab36 Highlight variables/registers that have changed 2018-06-22 19:28:33 +01:00
baldurk 5b3a12cd0c Save and restore tree expansion state when repopulating locals widget 2018-06-22 19:28:33 +01:00
baldurk cb0df2c844 Combine together structs/arrays in HLSL locals panel 2018-06-22 19:28:33 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
Jake Turner cae6b44a97 Fix xcode9.3 -Wunused-lambda-capture errors
Disable the warning on 3rdparty files
${glslang_dir}/hlsl/hlslParseHelper.cpp

Disable the warning on files where fixing it would cause a non-OSX compile error
os/os_specific.cpp
2018-04-30 10:53:42 +01:00
baldurk 138d3bd040 Fix painter clipping when resizing tree-branch column quite small 2018-02-19 19:37:28 +00:00
baldurk cea77ebd39 Manually propagate clicks on custom tooltip to underlying widget
* Qt::WA_TransparentForMouseEvents is supposed to do this but clearly
  doesn't work as it's supposed to.
2018-02-19 19:37:26 +00:00
baldurk 8691972212 Fix some minor rendering glitches (off by one errors) 2018-02-19 00:52:14 +00:00
baldurk cafa6901bb Implement copy-paste handler for RDTableView 2018-02-19 00:52:13 +00:00
baldurk 96faed6961 Call QHeaderView::initializeSections() to initialise QHeaderView
* Because many of QHeaderView's functions are annoyingly not virtual,
  we need some stub data available in QHeaderView even if it won't be
  used for anything much, like the number of sections.
2018-02-19 00:52:13 +00:00
baldurk cad5520238 Tweak the event browser to support richtext in drawcall names
* This lets Resource ID text become links to the resource inspector even
  in drawcall names (like glBlitFramebuffer(src, dst)).
2018-02-13 21:10:06 +00:00
baldurk 2f41469228 clang compile fix - missing override specifier 2018-02-13 10:08:58 +00:00
baldurk 48fd9bf1ed Fix sizing of stretch columns when one column is hidden 2018-02-12 20:48:06 +00:00
baldurk f2ece44e49 Implement sorting for RDTreeWidget 2018-02-12 20:48:05 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk bca1dbef87 Don't insert literal tab if accepting tabs, emit keypress event
* This lets the user decide if they want to do something special with
  tab or just insert the character
2017-12-25 12:53:42 +00:00
baldurk 80cb5b093a Ensure RDHeaderView remains valid when deferring work 2017-12-07 15:09:51 +00:00
baldurk dff6ce1245 Fix missing #include 2017-11-29 20:10:18 +00:00
baldurk 8931ed4086 Move leave and keyPress events from RDTreeWidget to RDTreeView 2017-11-29 19:01:23 +00:00
baldurk af7373fb54 Handle root index changing in RDHeaderView - refresh section sizes 2017-11-29 19:01:23 +00:00
baldurk cadc0f3855 Fix issue chaining RDTreeWidgetDelegate onto RDTreeViewDelegate
* We need to inherit to chain these two, as otherwise when the tree view
  delegate calls sizeHint() it passes to the tree widget delegate, but
  then has no way to return back to the tree view for the overridden
  initStyleOption.
* If there was a built-in way to chain delegates like styles (which
  solve this problem by calling back to baseStyle when going from one
  function to another), or better yet a way to avoid the base
  QStyledItemDelegate initStyleOption from completely trampling all over
  the option passed in to any function, this wouldn't be necessary.
2017-11-22 19:11:24 +00:00
baldurk 43d561a4c0 Fix NULL checking and NULL dereferencing issues
* Reported by Coverity Scan - most of these are not an issue and a
  couple of them are coverity getting really confused (like seeing a
  pointer being assigned to NULL and a count to 0, then a few lines
  later declaring that a loop 0..count will dereference the pointer).
* However it's harmless in all cases to add a bit of robustness to keep
  the analysis happy.
2017-11-22 19:11:21 +00:00
baldurk 2514ad4126 Remove some dead code that's no longer needed
* Reported by Coverity Scan
2017-11-22 19:11:18 +00:00
baldurk 25ea14c965 Fix possible division by zero in edge cases
* Reported by Coverity Scan
2017-11-22 12:05:59 +00:00
baldurk c860d8baa3 Fix uninitialized variable warnings from static analysis
* Reported by Coverity Scan
2017-11-22 11:31:07 +00:00
baldurk a738c7726a Compile fixes on linux 2017-11-21 22:32:39 +00:00
baldurk 1f9a2e340c Add an extra minimum size hint, since Qt behaviour is broken by design
* The Qt behaviour is that if you call setMinimumSize on a widget, then
  the minimumSizeHint is IGNORED. So it is impossible to say "use this
  minimum size, unless the widget wants a higher minimum size".
* So instead we do this ourselves in RDLabel. Sigh.
2017-11-21 19:10:33 +00:00
baldurk f65d93cd68 Add support for RichResourceText in RDLabel 2017-11-21 19:10:31 +00:00