Feature #6438
frame attributes, methods and options
100%
Related issues
History
#1 Updated by Greg Shah almost 2 years ago
LINE
attributeCURRENT-ITERATION
attributeGET-ITERATION()
methodSTREAM-IO
optionSCROLL
optionNO-ATTR-SPACE
option
#4 Updated by Eugenie Lyzenko 9 months ago
Created task branch 6438a
from trunk revision 14696
.
#5 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
STREAM-IO
optionSCROLL
optionNO-ATTR-SPACE
option
All of these options to implement as part of the DEFINE FRAME ... WITH ..
statement, right?
#6 Updated by Eugenie Lyzenko 9 months ago
The 6438a
updated for review to revision 14697
.
This change adds conversion support and partial runtime support for attributes/methods/options noted above.
The following options have partial runtime support:SCROLL
, STREAM-IO
- need to clarify how it actually works.NO-ATTR-SPACE
- this option is obsolete and is not supported in 4GL. I think we have nothing to implement for this.
So if we need urgent support for GET-ITERATION()
method in other project we can merge 6438a
into trunk and continue work here with new 6438b
.
#7 Updated by Eugenie Lyzenko 9 months ago
Also GET-ITERATION()
method for Buffer
object has only stub at runtime. I think we need to ask the persistence expert for implementation.
#8 Updated by Eugenie Lyzenko 9 months ago
- Status changed from New to WIP
#9 Updated by Eugenie Lyzenko 9 months ago
The 6438a
rebased with recent trunk 14698
. The new revision is 14699
.
#10 Updated by Greg Shah 9 months ago
Code Review Task Branch 6438a Revision 14699
Overall the changes are good. The only problem I see is with the implementation of GenericFrame.line()
. It has been implemented as a rendering of dynDown
but I think it is supposed to just call frameLineWorker()
. Per the 4GL documentation, LINE
should be the same as the FRAME-LINE
built-in function instead of a reporting of the DOWN
value.
#11 Updated by Greg Shah 9 months ago
Also
GET-ITERATION()
method forBuffer
object has only stub at runtime. I think we need to ask the persistence expert for implementation.
It is OK to have a stub there. In the gap analysis, mark the runtime support as partial and put a comment into the gap rules that the buffer implementation is a stub.
#12 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
Code Review Task Branch 6438a Revision 14699
Overall the changes are good. The only problem I see is with the implementation of
GenericFrame.line()
. It has been implemented as a rendering ofdynDown
but I think it is supposed to just callframeLineWorker()
. Per the 4GL documentation,LINE
should be the same as theFRAME-LINE
built-in function instead of a reporting of theDOWN
value.
Agreed.
The 6438a
updated for review to revision 14700
.
Notes resolution.
#14 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
Code Review Task Branch 6438a Revision 14700
The change is fine. I've edited the comments and history in revision 14701. If you've tested this, it can be merged to trunk.
OK. Starting merge into trunk.
#15 Updated by Eugenie Lyzenko 9 months ago
Branch 6438a
was merged to trunk as revno 14699
then it was archived.
#16 Updated by Eugenie Lyzenko 9 months ago
Further investigations shows the following:
1. Seems like the SCROLL
option is currently supported at runtime. At least for testcase used SCROLL
frame option the FWD
behaves the same as 4GL
.
2. The STREAM-IO
is not supported. The following change adds basic implementation FrameGuiImpl.java
:
... public void initialize(WidgetId id, FrameConfig wcfg) { ... // the frame's title uses the window title font LabelConfig tcfg = new LabelConfig(); - tcfg.font = FontManager.WINDOW_TITLE_FONT; - gf = new GuiFontResolver(window(), gd, tcfg, false); + if (config().screenIO) + { + tcfg.font = FontManager.WINDOW_TITLE_FONT; + gf = new GuiFontResolver(window(), gd, tcfg, false); + } + else + { + tcfg.font = FontManager.DEFAULT_FIXED_FONT; + gf = new GuiFontResolver(window(), gd, tcfg, true); + } // frameScroll height can be computed only after gf is created/assigned updateScrollPaneSize(); ...
The idea is to always use default fixed font if the STREAM-IO
(which is logically !SCREEN-IO
) is in use.
So we could open 6438b
, commit the FrameGuiImpl
and consider the base runtime is implemented for SCROLL
and STREAM-IO
options.
#17 Updated by Greg Shah 9 months ago
- Related to Feature #2373: implemented output to redirected, paged terminal via (un)named streams in GUI mode added
#19 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
Is forcing the use of the fixed width font really the only thing that needs to happen to support
STREAM-IO
?
I think yes. The other thing to be happen is setting USE-TEXT
frame option to true. But it is already implemented.
As general note this mode is designed for frame output to be easily converted to printer friendly format to provide the simple text formatting to make hardcopy on paper (or PDF). Probably we need some significant time to spend if something does not work out of the box at this time. This can become a big task. We need scenarios, baseline samples and so on...
#20 Updated by Greg Shah 9 months ago
The other thing to be happen is setting USE-TEXT frame option to true. But it is already implemented.
You mean that we already set USE-TEXT
to true when the STREAM-IO
option is present? Or that we do support USE-TEXT
already but still need to set it to true when the STREAM-IO
option is present?
As general note this mode is designed for frame output to be easily converted to printer friendly format to provide the simple text formatting to make hardcopy on paper (or PDF). Probably we need some significant time to spend if something does not work out of the box at this time. This can become a big task. We need scenarios, baseline samples and so on...
We can set the runtime support level to "basic" and defer the testcases until later.
#21 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
The other thing to be happen is setting USE-TEXT frame option to true. But it is already implemented.
You mean that we already set
USE-TEXT
to true when theSTREAM-IO
option is present?
Yes we already made USE-TEXT
in sync with STREAM-IO
. No need more changes here.
Or that we do support
USE-TEXT
already but still need to set it to true when theSTREAM-IO
option is present?
But I do not know how USE-TEXT
option changes are processing at runtime now.
As general note this mode is designed for frame output to be easily converted to printer friendly format to provide the simple text formatting to make hardcopy on paper (or PDF). Probably we need some significant time to spend if something does not work out of the box at this time. This can become a big task. We need scenarios, baseline samples and so on...
We can set the runtime support level to "basic" and defer the testcases until later.
Yes, I think this is what we need at this time.
#23 Updated by Constantin Asofiei 9 months ago
Eugenie, the priority of these attributes is for ChUI, although if any missing GUI support can be added easily to be 'basic or better', we should do so.
For STREAM-IO
, there was work done at #2368 (for ChUI), but the GUI behavior was deferred.
For NO-ATTR-SPACE
- this is already implemented in FWD I think, is the opposite of ATTR-SPACE
attribute. There is a mark as 'deprecated' in latest docs for OpenEdge ATTR-SPACE
attribute, but I don't think this means is no longer backwards-compatible. In ChUI, this test shows different layout:
def var ch as char. display "test" ch with frame f1 side-labels attr-space. display "test" ch with frame f2 side-labels no-attr-space.
About GET-ITERATION
- does this convert/compile properly in FWD?
message frame f1:get-iteration(i).
#24 Updated by Eugenie Lyzenko 9 months ago
Constantin Asofiei wrote:
About
GET-ITERATION
- does this convert/compile properly in FWD?
[...]
Yes it does.
#25 Updated by Eugenie Lyzenko 9 months ago
Created task branch 6438b
from trunk revision 14703
.
#26 Updated by Eugenie Lyzenko 9 months ago
- Status changed from WIP to Review
- % Done changed from 0 to 100
The 6438b
updated for review to revision 14704
.
Added basic support for STREAM-IO
/SCREEN-IO
frame option. We can merge this into trunk if no objections and postpone further investigation to convenient moment in a future.
#27 Updated by Eugenie Lyzenko 9 months ago
Rebased 6438b
with recent trunk 14706
. New revision is 14707
.
Guys,
Can I merge this into trunk?
#28 Updated by Eugenie Lyzenko 9 months ago
Rebased 6438b
with recent trunk 14707
. New revision is 14708
.
Greg,
I have no plans to add new changes here. So probably we need to merge the current version to trunk? What do you think?
#29 Updated by Eugenie Lyzenko 9 months ago
Rebased 6438b
with recent trunk 14709
. New revision is 14710
.
#32 Updated by Eugenie Lyzenko 9 months ago
Greg Shah wrote:
You can merge to trunk after 7589a.
OK. I'm starting.
#33 Updated by Eugenie Lyzenko 9 months ago
Branch 6438b
was merged to trunk as revno 14711
then it was archived.