• Scrollers
  • Buttons
  • Filer
  • Tools
  • TextEdit

  • Menus
  • Windows
  • Fields
  • Documents
  • Appearance



Fields

Fields are the backbone for just about every user interface element Guildhall offers. While it's true that an applet's document can create a user experience without using a field, by responding directly to events and drawing content directly, even the smallest possibility of using the scheme for a different purpose makes it worth separating it out as a subclass of AField.

In the Taligent architecture the analogous component was called a TView, but for reasons never clear to me they were cumbersome classes that performed poorly. If I recall correctly the implementation tried to protect every view from being stepped on by any other view. While that's a worthy goal in theory, in practice it solves a problem that is more easily solved by the app developer. Guildhall enforces the constraint that an applet cannot draw outside its window's region, but beyond that leaves it to the applet to handle clipping. Well-behaved subclasses of AField or AFieldList know their limits and draw appropriately. If they don't, you shake your fist at the screen, tell the subclass it's been a very bad field, and go fix it. Easy, and really good performance, even way back when on much slower machines.

Abstract Classes

  • AField
  • AFieldList

Constructible Classes

  • TStaticTextField
  • TStaticGraphField
  • TLabelField
  • TGraphField

 

Copyright © 1981-2021 Arthur W Cabral. All Rights Reserved. All referenced trademarks are the property of their respective owners. This site does not use cookies. This site does not collect visitor information. The ISP hosting this site collects statistics regarding visitors to this site as part of the normal operation of the website. We do not currently examine those statistics. If that changes, this notice will change.