Project

General

Profile

Feature #12052

replacement for the DBI ctButton ActiveX control (bitmap button)

Added by Greg Shah 14 days ago. Updated 14 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:

History

#1 Updated by Greg Shah 14 days ago

Replacement for the DBI ctButton ActiveX control (bitmap button)

Project: User Interface

Problem

ctButton (ctButton.ocx 3.0) is a bitmap push button. Its caption and image are set at design time only, in the .wrx. Applications handle Click and KeyPress, either with the business logic or by applying CHOOSE to a hidden native button. At run time only VISIBLE, BackColor, BackColorOver and FocusBackColor are used.

Work

  1. Convert ctButton into a native BUTTON with the caption and image taken from the .wrx, and the Click and KeyPress events mapped.
  2. Support the background, hover and focus colours.
  3. Register the control's CLSID in the OCX registry (ocx-registry.xml), mapping it to the target widget, as #11919 did for ctToolBar.
  4. Decode the design-time state the control keeps in the .wrx storage at conversion time, so that it exists after conversion.
  5. Implement the members and events listed above on the target, with the vendor's semantics: argument types, return values, defaults, and the order in which events fire. Members of the type library that are not used become no-ops with a conversion warning, as the OCX pipeline already does.
  6. Follow the OCX emulation playbook attached to #11919: an OpenEdge test program with goldens for each member and event, recorded input sequences for the interactive parts, and Lyra automation.
  7. Update the gap marking and the OCX registry documentation.

Testcases

Each member and event above, exercised on Windows OpenEdge with the real control to produce goldens, then run against the FWD replacement on the web and Swing clients. The vendor help files are the reference where behaviour cannot be observed directly.

#2 Updated by Greg Shah 14 days ago

The customer reported that the only reason they used this control was because of the limits on how the 4GL button was able to handle images. In particular, they wanted to have both an image and text label on the button, so they had to use the ctButton.

Also available in: Atom PDF