Re: CREATE WINDOW structured field (fwd)

kjpou <[email protected]> Thu, 15 Jul 2004 09:25:03 +0200
Newsgroups gmane.comp.java.tn5250j.devel
Message-ID <[email protected]>
James

Here is an example of a scroll bar:

0006.60      A          R #SFC01                    
SFLCTL(#SFL01)            
0006.70      A*%%TS  SD  19960829  115815  DSIJIMMI    REL-V3R6M0  
5716-PW1   
0006.80      A                                      
SFLSIZ(0999)              
0006.90      A                                      
SFLPAG(0013)              
0007.00      A                                      
CF06                      
0007.10      A                                      RTNCSRLOC(&CSRRCD 
&CSRFLD)
0007.20      A N84                                  
ROLLUP(27)                
0007.30      A                                      
OVERLAY                   
0007.40      A  81                                  
SFLCLR                    
0007.50      A  82                                  
SFLDSPCTL                 
0007.60      A  83                                  
SFLDSP                    
0007.61      A* 84                                  
SFLEND(*MORE)             
0007.70      A  84                                  
SFLEND(*SCRBAR)           


Where you have SFLEND(*MORE) replace *MORE with *SCRBAR.

That should get you a working example.  Buttons are a little more 
complicated so we can get to those next.

Regards

Kenneth

James Rich wrote:

>On Wed, 14 Jul 2004, Kenneth J. Pouncey wrote:
>
>  
>
>>Do a trace of the save screen command before receiving a window.  If
>>you look at a DSPF you have to specify save screen in there.  I have
>>never written a DSPF with windows that does not.  So I would say that
>>it is always.
>>    
>>
>
>My traces do seem to be always, as well.
>
>  
>
>>Can not remember as it has a been a while but I paint scrollbars as
>>well.  It is the single choice buttons that are killing me.  Have the
>>structures being parsed but can not for the life of me figure out how
>>it all works.  I would actually have to see the send query command that
>>you send back to know for sure.
>>    
>>
>
>I probably need to come up with some screens that have these elements in
>them.  I don't even know how to scrollbars or buttons in DDS.  I'm trying
>to make a comprehensive test package.  Someone needs to educate me about
>these elements.
>
>  
>
>>>>There is a place in the document that explains how to compress the
>>>>screen data but that did not work either, still too much data.  So
>>>>what
>>>>        
>>>>
>>>I wonder if this is because (if you are speaking of creating a second
>>>window) it is only expecting the contents of the window, and not the
>>>whole
>>>screen (or structure)?
>>>      
>>>
>>I never saw any difference here.  A screen to me is anything that makes
>>up a screen including the gui parts.  If what you are saying is true
>>how do you keep track of the window structure and the data within it to
>>redisplay it afterwards?  Now that would be interesting.  What are your
>>thoughts on how to deal with this?  It would be a change of thought for
>>me so would have to think about it and get back into the sequences of
>>what is sent in the datastreams but could be possible.
>>    
>>
>
>My latest patch to tn5250 is here:
>
>http://www.chowhouse.com/~james/x5250/enhanced.patch
>
>What I'm trying to do is save the window structure in a struct like this:
>
>/* This struct contains all the elements necessary to define a 5250
> * window.
> */
>typedef struct _tn5250window
>{
>  unsigned int windowid;        /* Numeric ID of this window */
>  unsigned int row;             /* Row window starts on */
>  unsigned int column;          /* Column window starts on */
>  unsigned int height;          /* height (in characters) of window */
>  unsigned int width;           /* width (in characters) of window */
>  unsigned int border[4];       /* Characters used to create borders
>                                 * Uses the masks as buf5250 */
>} tn5250window;
>
>Then I use an array of this struct:
>
>tn5250window win5250[10] = { {0, 0, 0, 0, 0, {0}} };
>
>Each window is supposed to exist as an array element (right now only 10
>windows work, will be dynamic later).  Each array element also has it's
>own screen buffer.  The array element should persist as long as the window
>exists on the screen.  The trouble I have is that so far it looks like the
>whole screen is redrawn by the as/400, so it is hard to know which window
>(of several) is being worked with.  Because of this I'm afraid my idea
>won't work.
>
>Also note that my patch above doesn't create a new buffer for each window
>in tn5250.  Instead, create_window_structured_field() calls a function
>that x5250 uses to create a new buffer.
>
>  
>
>>>You are clearly doing something smarter than me since you have
>>>functioning
>>>windows and cursor progression working.  I wonder if there is a way to
>>>tell the as/400 that I support cursor progression but not the create
>>>window structured field command?
>>>      
>>>
>>I wouldn't say smarter at all but maybe more traces.  I still get
>>things from users that I have never seen before and do not even know
>>how they were able to get that sequence of bits in the structure.  They
>>do not have the source of the screen so I usually just have go from a
>>steam dump but it gets interesting.
>>
>>If there is a way I never found it but man would it make my our lives
>>easier.  I think when you turn on enhanced user interface level 3 you
>>get all of them as a bunch.  I think I have the minimum that can be
>>turned on and off.  I did find that you can control window headers and
>>footers with bit 4 so went ahead and did that.  I played for hours with
>>bit setting in there.  Humm now that I am thinking about it this also
>>turns on some other things.  I need to look at that again because I can
>>do without headers and footer if that is what it takes.
>>    
>>
>
>I'll look at the QUERY command again as well.  It seems to me like I went
>over this with some time ago and settled on the responses in my patch.
>But maybe a fresh look will give me more insight.
>
>  
>
>>After you asked here I went out to the archives and saw your patch.
>>There is something interesting there about the FCW and FFW.  When
>>parsing them you can receive a structure of those.  Meaning more than
>>one for a field.  I found this while implementing the word wrap that
>>you can receive a continuous field byte and also a wordwrap byte all in
>>the same field that made up an array of about 5 different field
>>attributes.  There may be missing lines in there but was wondering how
>>you were handling that.  I have a couple of ideas there if you would
>>like to discuss it.  Have not implemented it in my emulator yet but did
>>find a solution when I was working on the 3270 data stream
>>implementation.
>>    
>>
>
>Are you looking at the patch I linked to above?  That patch handles the
>multiple FCW and FFW (at least FCW, I need to review FFW).  I'm pretty
>sure I got that stuff right.
>
>  
>
>>I also notice you send a 0x02 in the query command and I send a 0x07.
>>Not sure the difference here but also can not remember why.  CA sent a
>>5E but that opens a can of worms that I am not even interested in
>>opening.
>>    
>>
>
>I don't know anything about this either.  Again, a fresh look at the query
>command is probably what I need to do.
>
>  
>
>>Also what version of the code are you looking at from the tn5250j
>>project?  I have changed some things lately so would like to know if I
>>am handling some codes differently after fixing some bugs from when you
>>are looking at it.
>>    
>>
>
>tn5250j - 0.5.7 pre3
>
>James Rich
>
>Vs lbh cynl n Zvpebfsg PQ  onpxjneqf, lbh pna urne fngnavp zrffntrf. Ohg
>rira jbefr, vs lbh cynl vg sbejneq, vg vafgnyyf gurve fbsgjner!
>        -- Fcbgvphf ba /.
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by BEA Weblogic Workshop
>FREE Java Enterprise J2EE developer tools!
>Get your free copy of BEA WebLogic Workshop 8.1 today.
>http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
>_______________________________________________
>Tn5250j-develop mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/tn5250j-develop
>
>.
>
>  
>



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click