Before, only MenuButtonPopup had an arrow. This makes it more obvious
as to whether the button will immediately do something when clicked or
if it will open a menu to choose a specific action.
This means the full rect won't be returned for SC_ToolButtonMenu if it
is used in a context where the default style doesn't expect the menu.
This is a separate commit to isolate future changes to this function.
MakeExecuteAction already sets tooltips for each QAction it creates,
but these are not used in a QMenu unless the toolTipsVisible property
is set to true.
There is no action associated with clicking the button itself, only for
the menu associated with it. Using QToolButton::MenuButtonPopup means
that the majority of the button is for the button's own action, and
there is a small arrow next to the button that shows the menu. Since
there's no action, this means that the small menu arrow needs to be
clicked each time instead of the big button, which is annoying.
QToolButton::InstantPopup instead always shows the menu (though it
doesn't have the arrow indicating a menu exists, although this is not
particularly important).
InstantPopup is also already used for the "Insert" button used when
editing a custom shader for the texture viewer. MenuButtonPopup is used
in many other places throughout RenderDoc, but they are all save or
export buttons where there is a meaningful default action.
Specifically, the open button in the Python shell window and the blue
channel (only) in the texture viewer had values specified even though
they do not have an actual menu associated with the buttons. For the
texture viewer, this was explicitly set to the default value (delayed
popup); for the Python shell window the value is custom. The popup
mode is only used "for tool buttons that has a menu set or contains
a list of actions".
These were added in early commits for each feature, probably by
accident: 0837e66939 for the texture
viewer and 2a4596e06a for the Python
shell.
* If the overall preview widget doesn't resize but the thumbnail does because
the preview text label has changed in size, we should emit a resize event so
the thumbnail can be redrawn.
* This is only relevant when using a custom shader since otherwise nothing is
'updated', though could also affect overlays potentially. If we don't then the
custom shader texture may not have been re-rendered before we fetch the
histogram data and we'll get stale information.
* This distinction unfortunately does not exist in SPIR-V so we have to carry
around this metadata ourselves. Rather than allowing free specification of
tools based on API, instead pretend that Vulkan and GL SPIR-V are separate
format, and duplicate all SPIR-V tools to handle "both" types. This allows
appropriate tool selection based on the encoding.
Use QTextBrowser for the counter description widget, which allows for opening
links in an external browser.
This change is needed to make the link to NVIDIA Nsight Perf SDK clickable.
* When used in richcompare this would throw an exception and return
Py_NotImplemented causing a failure. Instead we should just return NULL, which
is fine and will be considered as a not-equal comparison for
equality/inequality and throw the kind of exception we want for less than or
greater than.
Added interface functions:
- GetComboBoxCount() the function returns the number of
combo box options currently set,
- SelectComboBoxOption() - selects an active combo box
option by name from the list of set options.
Updated interface functions:
- Changed SetComboOptions() to SetComboBoxOptions to keep
consistency in naming.