Commit Graph
3204 Commits
Author SHA1 Message Date
baldurk 6b9cec797d Add signal when python extensions are changed
* This avoids repeatedly hitting disk to enumerate current extensions for UI
  updates.
2026-09-17 11:44:07 +01:00
baldurk ac902dc08a Only log once about extensions that require an incompatible version 2026-09-17 11:44:07 +01:00
Jake Turner 298d4ee466 Update the pyrenderdoc module filters to renderdoc_module_python.cxx 2026-09-15 07:31:31 +01:00
baldurk 3e9202699f Handle exception properly if stubs generation fails 2026-09-12 15:40:28 +01:00
baldurk 0628f10b9a Fix docstring/function signature errors 2026-09-12 10:27:55 +01:00
baldurk 8bcf63aced Return current text of combo box properly in MiniQtHelper 2026-09-11 21:37:21 +01:00
baldurk 48b968e9a7 Add a MiniQtHelper to set spacing/margins on layouts 2026-09-11 21:17:19 +01:00
baldurk 3579ecc065 Fix use of TransientPopupArea with no ref window 2026-09-11 21:17:19 +01:00
baldurk 83c53890da Mark accessors/return values that can be None with Optional[]
* This helps with type checkers to know that things can be None or not (both to
  silence previous warnings about "unnecessary" checks that are actually
  necessary, and to ensure those checks aren't omitted by accident)
2026-09-11 15:04:03 +01:00
baldurk ce50614f0e Reduce number of error log prints when an extension fails to load 2026-09-11 15:03:59 +01:00
baldurk 2ada3ed28d Fix order of operations in shutdown
* When calling OnCaptureClosed now this is book-ended so called *while* the
  capture is opened. Do not refresh and repopulate EventBrowser cache.
2026-09-11 15:03:59 +01:00
baldurk b6270982de Only assign global m_DebugPy when initialisation is successful
* Prevents use on other threads e.g. python status check while partially
  initialised.
2026-09-05 15:05:41 +01:00
baldurk ca9bde9a98 Add proper optional argument defaults for optional callbacks 2026-09-01 12:28:09 +01:00
baldurk e4bd23b671 Fix bounds check in internal parser 2026-08-31 12:30:22 +01:00
baldurk 1aac7afdf1 Add helper function for appending text to a textedit 2026-08-31 12:13:26 +01:00
baldurk 0690269cb7 Add shortcuts for using user's preferred fixed font in MiniQtHelper 2026-08-31 11:27:30 +01:00
baldurk da8132b69c Add MiniQtHelper functions for scrolling widgets 2026-08-31 11:26:05 +01:00
baldurk 6b02191629 Try to break potential deadlock between UI and replay threads
* During capture shutdown on Python < 3.13 the replay thread will try to remove
  itself as a debuggable thread which requires being able to run python (holding
  the GIL). If the UI thread is the one triggering the capture shutdown and is
  running a call from a python script it may hold the GIL while waiting for the
  replay thread to close, deadlocking.
* To alleviate this, while the UI thread is about to block on the replay thread
  we try to release the python state if we are holding it so that the replay
  thread can run python code if needed.
* We already do this in a manual wrapper around BlockInvoke.
2026-08-31 11:13:35 +01:00
baldurk 1d4cde2d6e Don't add extensions to output filters multiple times in python shell 2026-08-31 10:30:37 +01:00
baldurk cbeb5804cf Ensure blocking controller invokes onto UI thread if using context 2026-08-28 15:53:47 +01:00
baldurk a1b76c231e Improve the workflow for extensions that fail on import 2026-08-28 15:46:23 +01:00
baldurk f5240a4a47 Add missing function implementations to blocking ReplayController 2026-08-28 15:46:23 +01:00
baldurk 81bec684a3 Expose proper capture closing function to python extensions 2026-08-28 15:46:23 +01:00
baldurk 6237238cf7 Put python version in about dialog 2026-08-28 13:18:26 +01:00
Wehrwolfmann 762ec04267 Add Russian translations to the desktop entry 2026-08-28 02:02:50 +09:00
baldurk 61d9aafb1b Set net manager thread to delete itself on close
* Due to the way Qt works, the owning object acts as if it lives on the thread
  which in this case is running an event loop that tries to delete itself.
2026-08-27 17:29:38 +01:00
baldurk 45b5f1ad1d Remove debug print 2026-08-27 16:34:36 +01:00
baldurk fa5af1bf7c Remove extra ) 2026-08-27 15:29:03 +01:00
baldurk d015c0619a Fix race when initialising help context 2026-08-27 15:27:09 +01:00
baldurk 8cccd45e5b More unused lambda captures 2026-08-27 14:33:53 +01:00
baldurk 675484a382 Remove unused lambda capture 2026-08-27 14:12:36 +01:00
baldurk b100e05053 Add autocomplete for python help entry 2026-08-27 13:43:14 +01:00
baldurk 9a2ec4aa19 Use python invoker wrapper everywhere for pyrenderdoc
* This includes in the parameters of extension callbacks.
2026-08-27 12:45:52 +01:00
baldurk 3026718788 Handle an empty title as "Untitled script" in python editor wrapper 2026-08-27 12:44:00 +01:00
baldurk 72db77ae7c Allow inserting tabs at the start of the REPL input
* If there is no non-whitespace input, we shouldn't try to autocomplete
2026-08-27 12:43:22 +01:00
baldurk 928cfcd80a Ensure python compile error exceptions get handled properly 2026-08-27 12:42:57 +01:00
baldurk a95d4d0461 Use titles instead of filenames for script created new editors 2026-08-26 11:37:46 +01:00
baldurk 85075565cd Don't hang onto new extensions item, recreate each time
* Clearing an RDTreeWidget deletes all items in it, so we would either need to
  remove it before clearing or just recreate it. We only need the handle in
  order to check against it when we see clicks
2026-08-24 17:04:14 +01:00
baldurk 1aeac957bd Compile fixes 2026-08-13 23:23:27 +01:00
baldurk da4350a759 Add an example of advanced buffer format/processing 2026-08-13 21:05:16 +01:00
baldurk 8dd7692282 Improve parsing of enums in buffer formatter
* Add a [[flags]] annotation for enums that should bitmask-match, and add a
  member to each interpreted enum value leaf to provide the string name.
2026-08-13 21:05:16 +01:00
baldurk 63e130e72a Handle example editors better - don't treat example name as filename 2026-08-13 21:05:15 +01:00
baldurk e20c2b9985 Expose buffer interpretation helpers to python 2026-08-13 21:05:15 +01:00
baldurk 964ef04526 Fix some cases where type aliases were not used in reflection 2026-08-13 21:05:15 +01:00
baldurk 71f40cef1a Remove any extra typing aliases that were pulled into module dir()s 2026-08-13 21:05:14 +01:00
baldurk 68bb7e1ceb Track our own custom types for user-defined functions/classes
* This lets us track the docstrings of these for better tooltips
2026-08-13 21:05:14 +01:00
baldurk b3710eba3b Fetch & display tooltips for each entry along with autocomplete options 2026-08-13 21:05:14 +01:00
baldurk 586886b3f5 Add custom change to scintilla to query bounds of autocomplete box 2026-08-13 21:05:14 +01:00
baldurk 79ad933913 Avoid accessing possibly deprecated typing members 2026-08-13 21:05:14 +01:00
baldurk 022a5e1438 Change python scripting 'debug' button to just attach, not run 2026-08-13 21:05:14 +01:00