MXP frames

More
27 Sep 2014 17:37 #1 by Vodur
MXP frames was created by Vodur
Trying to set up a chat window using MXP frames, seeing a few issues (roughly in order of importance):

1. CLOSE action does not seem to be supported.
2. Extra newlines in the frame window. Seems to be related to our codebase using \n\r instead of \r\n. However, we don't see this issue in the main ScrollView window, so would be nice to have the same behavior in MXP frame window.
3. SROLLING attribute does not seem to be supported.
4. REDIRECT action does not seem to work. For now I can work around using DEST, but would be nice to have REDIRECT support for longer sequences.
5. Docking using INTERNAL and ALIGN doesn't seem to work. Not a huge deal but would be nice. e.g <FRAME Name="Comm" INTERNAL Align="left">

Please Log in or Create an account to join the conversation.

More
27 Sep 2014 18:02 #2 by plamzi
Replied by plamzi on topic MXP frames
1. CLOSE not supported atm but if it's useful, can add easily. Right now, it's left up to the user to close the window if they want, and if it's intended to be closable (e. g. the ChatterBox is not closable).

2. Will look at the new lines issue. What's a good place to see it?

3. All frames are currently auto-scrolling when necessary, and scroll to bottom when you add new text. When I add support for scrolling, it will mean that non-scrolling frames will not scroll to bottom when new content is added.

4. Will add REDIRECT support. It would be kind of a different beast, that's why it's not in the initial set of supported tags.

5. Use "Parent" attribute with the name of an existing window to create a tab inside it. Right now that's the only supported form of nesting (because it felt like the most useful) but I can add support for internal and align pretty easily. Watch this space.

Please Log in or Create an account to join the conversation.

More
27 Sep 2014 19:18 #3 by Vodur
Replied by Vodur on topic MXP frames
1. Yes, please :)

2. Run this from console in Portal app:
    Event.fire("internal_mxp","<FRAME Name=\"Testo\" Scrolling=\"yes\" INTERNAL Align=\"left\">");
    Event.fire("internal_mxp","<DEST Testo>abcdefg\n\rabcdefg\n\rabcdefg\n\r</DEST>");
    Event.fire("internal_mxp","<DEST Testo>zxy\r\nzxy\r\nzxy\r\n</DEST>");

3. They do autoscroll with new text as necessary but don't allow buffer scrolling. The MXP spec seems pretty vague in this regard; zMUD seems to allow buffer scrolling and autoscroll regardless of this setting. So what I'm asking for is buffer scrolling (and scroll bars would be cool ;) ).

4. Not too worried about it. Not clear whether there are any cases where DEST can't be used in place of REDIRECT.

5. My goal is more to control the starting position of a window with respect to the main ScrollView (just above, just below, just left, just right). I'm basically trying to create frames that are viable in both zMUD and portal. zMUD's layout is based on docking windows into the main window; obviously portal not so much.

Please Log in or Create an account to join the conversation.

More
28 Sep 2014 04:18 #4 by plamzi
Replied by plamzi on topic MXP frames

Vodur wrote: ...
3. They do autoscroll with new text as necessary but don't allow buffer scrolling. The MXP spec seems pretty vague in this regard; zMUD seems to allow buffer scrolling and autoscroll regardless of this setting. So what I'm asking for is buffer scrolling (and scroll bars would be cool ;) ).
...
5. My goal is more to control the starting position of a window with respect to the main ScrollView (just above, just below, just left, just right). I'm basically trying to create frames that are viable in both zMUD and portal. zMUD's layout is based on docking windows into the main window; obviously portal not so much.


1, 2, 3, and 5 done.

Re 3:
Like zMUD, I don't see much of a point in disabling buffer scrolling. If the server wants to flush the buffer, it can send a request to empty the area, then send a few lines to have still appear after the flush, etc. I'll probably set some sensible absolute max for all buffer sizes, just like there is one for the main ScrollView.

Re 5:
Given how the portal app UI works, any initial alignment in relation to the ScrollView would have to be calculated in absolute pixels, and the use of the align attribute is to help you automatically stick to the edges of viewable space instead (which I think will look better in most cases).

So, to be precise, right now the behavior is to ignore "INTERNAL" in the sense that we won't be inserting things inside a ScrollView that may or may not exist (and most certainly won't look good with stuff inside it). We honor align="left | right | top | bottom" in the context of the total viewable area. And as an added bonus, we support "top left", "right bottom", etc.
The following user(s) said Thank You: Vodur

Please Log in or Create an account to join the conversation.