JADE Environment Development Ideas

What's new in the upcoming JADE release?


The JADE 2022 release meets tomorrow’s business demands.

Start your update to JADE's latest release

Object Inspector - Display Key Attributes First

Change the display of an object in the right-hand pane of the Object Inspector to show all key attribute values first.

Key attributes (i.e. 'name' or 'number') are commonly used to find/open a record in a quick manner. When we're inspecting a major record which we'd like to view via our applications, we have to scroll through a lot of other information in order to find/copy the key attributes needed.

While we can re-implement the Object::getName method to improve the display in the left-hand pane - This requires a code change on each class, we cannot copy the result of getName from the list box, and isn't always practical in scenarios where there's multiple key values.
  • Kevin Saul
  • May 1 2019
  • IDE Backlog
Kevin Saul 7/03/2019 12:27:31 PM
@Ty - By 'key' I was referring to attributes which are used as a member key in a dictionary. References used as a key or part of a key path could also be treated in the same way, but probably not as useful (as you still have to inspect those to get at the details). Not sure how you'd identify whether or not something is 'important' otherwise without introducing new schema entity options (which we'd have to remember to set), hence I think it's sufficient to infer what's important based on what's used as a key property.

Ty Baen-Price 9/11/2018 2:09:20 PM
As a question, by "key" do you mean attributes that are used as a key in a dictionary, or "important"?

Kevin Saul 28/08/2018 12:57:03 PM
Yes, I'm aware we can re-implement Object::display, which is useful to extend the basic behaviour on a case by case basis - But the suggestion made is with the intention that the basic Object::display implementation be improved in a more generic way, making more use of the metadata to determine what the key details are which we're more likely to need at the top of the display.

If the onus is on us to override the Object::display implementation to make generic improvements like this, I'd rather we had the ability to override the Object::inspect methods altogether so we can create our own extended version of the inspector which integrates with the IDE.

Brian Johnstone 28/08/2018 9:58:59 AM
Are you aware you can also reimplement the Object::display method at your top level model class to prepend the desired information in the inspector. You could do something like the following quasi code, ignoring that because it's a comment the code below will get mangled:
display(): String;

return & CrLf
& "-----------------------------------------------------------------------------" & CrLf // Separator line
& inheritMethod();
You'll also want an appropriate exception handler to trap when objects have been deleted, are locked by another user, etc to avoid UHEs while inspecting.
  • Attach files
  • +6