Project

General

Profile

Feature #3681

replace the window decorations with a lightweight implementation

Added by Greg Shah almost 6 years ago. Updated almost 6 years ago.

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

0%

billable:
No
vendor_id:
GCD
version_reported:
version_resolved:

History

#1 Updated by Greg Shah almost 6 years ago

In #3599-135 through #3599-144, there is a discussion in which Ovidiu notes that the window decorations (caption buttons and system menu) is over-generalized by re-using 4GL widgets when those controls actually don't support the majority of the 4GL behavior like focus and events that fire triggers. This argument has merit and any rework to built a lightweight solution could have some benefits. Ovidiu also notes there may be benefits to the resize implementation.

The down side of this effort is that it is likely to cause some level of duplication of code AND it will most likely cause regressions in the short term.

#3 Updated by Ovidiu Maxiniuc almost 6 years ago

Another component that is really not needed is the BorderedPanelGuiImpl, and probably its immediate ancestor. If the contained widget needs a border to be drawn, it's best to draw it as part of its drawing procedure. The layout will work naturally and let the possible margins based on widgets insets inherited from AbstractWidget. This container was though as an help for the classic theme which is a rather rich in 3D visuals that use a low palette color. So various widgets were identified as similar looking and the common bordered interface extracted. While in classic Windows theme, they were drawn identically, the newer theme cannot (or hardly at least) duplicate the border color specific to individual widgets. If the Theme is really flat (see MaterialTheme), the border should completely go.

Also available in: Atom PDF