tn5250j/src/org/tn5250j/framework/tn5250 tnvt.java,1.7,1.8
"Kenneth J. Pouncey" <[email protected]> Wed, 11 Aug 2004 06:10:39 +0000
| Newsgroups | gmane.comp.java.tn5250j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tn5250j/tn5250j/src/org/tn5250j/framework/tn5250
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17812/src/org/tn5250j/framework/tn5250
Modified Files:
tnvt.java
Log Message:
Added External Program Support for http and mailto
Index: tnvt.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/framework/tn5250/tnvt.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** tnvt.java 1 Aug 2004 21:14:29 -0000 1.7
--- tnvt.java 11 Aug 2004 06:10:37 -0000 1.8
***************
*** 894,898 ****
}
! public final int getOpCode() {
return bk.getOpCode();
--- 894,898 ----
}
! protected final int getOpCode() {
return bk.getOpCode();
***************
*** 904,915 ****
}
private final void setInvited() {
log.debug("invited");
if (!screen52.isStatusErrorCode())
! // screen52.setStatus(Screen5250.STATUS_SYSTEM,
! // Screen5250.STATUS_VALUE_OFF, null);
! screen52.getOIA().setInputInhibited(ScreenOIA.INPUTINHIBITED_NOTINHIBITED,
! ScreenOIA.OIA_LEVEL_INPUT_INHIBITED);
invited = true;
--- 904,919 ----
}
+ protected boolean[] getActiveAidKeys() {
+ boolean aids[] = new boolean[dataIncluded.length];
+ System.arraycopy(dataIncluded,0,aids,0,dataIncluded.length);
+ return aids;
+ }
+
private final void setInvited() {
log.debug("invited");
if (!screen52.isStatusErrorCode())
! screen52.getOIA().setInputInhibited(ScreenOIA.INPUTINHIBITED_NOTINHIBITED,
! ScreenOIA.OIA_LEVEL_INPUT_INHIBITED);
invited = true;
***************
*** 1471,1475 ****
// now we set the field plane attributes
planes.setScreenFieldAttr(fPos++,ffw1);
!
}
--- 1475,1479 ----
// now we set the field plane attributes
planes.setScreenFieldAttr(fPos++,ffw1);
!
}
***************
*** 2233,2769 ****
}
- // private boolean writeToDisplayStructuredField() {
- //
- // boolean error = false;
- // boolean done = false;
- // boolean windowDefined = false;
- // int nextone;
- // try {
- // int length = (( bk.getNextByte() & 0xff )<< 8 | (bk.getNextByte() &
- // 0xff));
- //
- // while (!done) {
- // int s = bk.getNextByte() & 0xff;
- // switch (s) {
- //
- // case 0xD9: // Class Type 0xD9 - Create Window
- //
- // switch (bk.getNextByte()) {
- // case 0x50: // Define Selection Field
- //
- // defineSelectionField(length);
- // done = true;
- // break;
- // case 0x51: // Create Window
- //
- // boolean cr = false;
- // int rows = 0;
- // int cols = 0;
- // // pull down not supported yet
- // if ((bk.getNextByte() & 0x80) == 0x80)
- // cr = true; // restrict cursor
- // bk.getNextByte(); // get reserved field pos 6
- // bk.getNextByte(); // get reserved field pos 7
- // rows = bk.getNextByte(); // get window depth rows pos 8
- // cols = bk.getNextByte(); // get window width cols pos 9
- // length -= 9;
- // if (length == 0) {
- // done = true;
- // // System.out.println("Create Window");
- // // System.out.println(" restrict cursor " + cr);
- // // System.out.println(" Depth = " + rows + " Width = " + cols);
- // screen52.createWindow(rows,cols,1,true,32,58,
- // '.',
- // '.',
- // '.',
- // ':',
- // ':',
- // ':',
- // '.',
- // ':');
- // windowDefined = true;
- // break;
- // }
- //
- // // pos 10 is Minor Structure
- // int ml = 0;
- // int type = 0;
- // int lastPos = screen52.getLastPos();
- // // if (cr)
- // // screen52.setPendingInsert(true,
- // // screen52.getCurrentRow(),
- // // screen52.getCurrentCol());
- // int mAttr = 0;
- // int cAttr = 0;
- //
- // while (length > 0) {
- //
- // // get minor length
- // ml = ( bk.getNextByte() & 0xff );
- // length -= ml;
- //
- // // only normal windows are supported at this time
- // type = bk.getNextByte();
- //
- // switch (type) {
- //
- // case 0x01 : // Border presentation
- // boolean gui = false;
- // if ((bk.getNextByte() & 0x80) == 0x80)
- // gui = true;
- // mAttr = bk.getNextByte();
- // cAttr = bk.getNextByte();
- //
- // char ul = '.';
- // char upper = '.';
- // char ur = '.';
- // char left = ':';
- // char right = ':';
- // char ll = ':';
- // char bottom = '.';
- // char lr = ':';
- //
- // // if minor length is greater than 5 then
- // // the border characters are specified
- // if (ml > 5) {
- // ul = codePage.ebcdic2uni(bk.getNextByte());
- // // ul = getASCIIChar(bk.getNextByte());
- // if (ul == 0)
- // ul = '.';
- //
- // upper = codePage.ebcdic2uni(bk.getNextByte());
- // // upper = getASCIIChar(bk.getNextByte());
- // if (upper == 0)
- // upper = '.';
- //
- // ur = codePage.ebcdic2uni(bk.getNextByte());
- // // ur = getASCIIChar(bk.getNextByte());
- // if (ur == 0)
- // ur = '.';
- //
- // left = codePage.ebcdic2uni(bk.getNextByte());
- // // left = getASCIIChar(bk.getNextByte());
- // if (left == 0)
- // left = ':';
- //
- // right = codePage.ebcdic2uni(bk.getNextByte());
- // // right = getASCIIChar(bk.getNextByte());
- // if (right == 0)
- // right = ':';
- //
- // ll = codePage.ebcdic2uni(bk.getNextByte());
- // // ll = getASCIIChar(bk.getNextByte());
- // if (ll == 0)
- // ll = ':';
- //
- // bottom = codePage.ebcdic2uni(bk.getNextByte());
- // // bottom = getASCIIChar(bk.getNextByte());
- // if (bottom == 0)
- // bottom = '.';
- //
- // lr = codePage.ebcdic2uni(bk.getNextByte());
- // // lr = getASCIIChar(bk.getNextByte());
- // if (lr == 0)
- // lr = ':';
- // }
- //
- // // System.out.println("Create Window");
- // // System.out.println(" restrict cursor " + cr);
- // // System.out.println(" Depth = " + rows + " Width = " + cols);
- // // System.out.println(" type = " + type + " gui = " + gui);
- // // System.out.println(" mono attr = " + mAttr + " color attr = " +
- // cAttr);
- // // System.out.println(" ul = " + ul + " upper = " + upper +
- // // " ur = " + ur +
- // // " left = " + left +
- // // " right = " + right +
- // // " ll = " + ll +
- // // " bottom = " + bottom +
- // // " lr = " + lr
- // // );
- // screen52.createWindow(rows,cols,type,gui,mAttr,cAttr,
- // ul,
- // upper,
- // ur,
- // left,
- // right,
- // ll,
- // bottom,
- // lr);
- // windowDefined = true;
- // break;
- // //
- // // The following shows the input for window with a title
- // //
- // // +0000 019A12A0 00000400 00020411 00200107 .?.?..?...?..?.
- // // +0010 00000018 00000011 06131500 37D95180 ........?.?..R??
- // // +0020 00000A24 0D018023 23404040 40404040 ..??..???
- // // +0030 40211000 000000D7 C2C1D9C4 C5D4D67A \uFFFD.....PBARDEMO:
- // // +0040 40D79996 879985A2 A2408281 99408485 Progress bar de
- // // +0050 94961108 1520D5A4 94828599 40968640 mo.???Number of
- // // +0060 8595A399 8985A24B 4B4B4B4B 4B7A2011 entries......:?.
- // // +0070 082E2040 404040F5 F0F06BF0 F0F02011 ?.? 500,000?.
- // // +0080 091520C3 A4999985 95A34085 95A399A8 \uFFFD??Current entry
- // // +0090 4095A494 8285994B 4B4B7A20 11092E20 number...:?.\uFFFD.?
- // // +00A0 40404040 4040F56B F0F0F020 110A1520 5,000?.???
- // // +00B0 D9859481 89958995 87408595 A3998985 Remaining entrie
- // // +00C0 A24B4B4B 4B4B4B7A 20110A2E 20404040 s......:?.?.?
- // // +00D0 40F4F9F5 6BF0F0F0 20110C15 20E2A381 495,000?..??Sta
- // // +00E0 99A340A3 8994854B 4B4B4B4B 4B4B4B4B rt time.........
- // // +00F0 4B4B4B4B 7A20110C 2F2040F7 7AF5F37A ....:?...? 7:53:
- //
- // case 0x10 : // Window title/footer
- // if (!windowDefined) {
- // screen52.createWindow(rows,cols,1,true,32,58,
- // '.',
- // '.',
- // '.',
- // ':',
- // ':',
- // ':',
- // '.',
- // ':');
- // windowDefined = true;
- // }
- //
- // byte orientation = bk.getNextByte();
- // mAttr = bk.getNextByte();
- // cAttr = bk.getNextByte();
- //
- // //reserved
- // bk.getNextByte();
- // ml -= 6;
- //
- // StringBuffer hfBuffer = new StringBuffer(ml);
- // while (ml-- > 0) {
- // //LDC - 13/02/2003 - Convert it to unicode
- // hfBuffer.append(codePage.ebcdic2uni(bk.getNextByte()));
- // // hfBuffer.append(getASCIIChar(bk.getNextByte()));
- //
- // }
- //
- // System.out.println(
- // " orientation " + Integer.toBinaryString(orientation) +
- // " mAttr " + mAttr +
- // " cAttr " + cAttr +
- // " Header/Footer " + hfBuffer);
- // screen52.writeWindowTitle(lastPos,
- // rows,
- // cols,
- // orientation,
- // mAttr,
- // cAttr,
- // hfBuffer);
- // break;
- // default:
- // System.out.println("Invalid Window minor structure");
- // length = 0;
- // done = true;
- // }
- //
- // }
- //
- // done = true;
- //
- // break;
- //
- // case 0x53: // Scroll Bar
- // int sblen = 15;
- // byte sbflag = bk.getNextByte(); // flag position 5
- //
- // bk.getNextByte(); // reserved position 6
- //
- // // position 7,8
- // int totalRowScrollable = (( bk.getNextByte() & 0xff )<< 8
- // | (bk.getNextByte() & 0xff));
- //
- // // position 9,10
- // int totalColScrollable = (( bk.getNextByte() & 0xff )<< 8
- // | (bk.getNextByte() & 0xff));
- //
- // // position 11,12
- // int sliderRowPos = (( bk.getNextByte() & 0xff )<< 8
- // | (bk.getNextByte() & 0xff));
- //
- // // position 13,14
- // int sliderColPos = (( bk.getNextByte() & 0xff )<< 8
- // | (bk.getNextByte() & 0xff));
- //
- // // position 15
- // int sliderRC = bk.getNextByte();
- //
- // screen52.createScrollBar(sbflag,totalRowScrollable,
- // totalColScrollable,
- // sliderRowPos,
- // sliderColPos,
- // sliderRC);
- // length -= 15;
- //
- // done = true;
- //
- // break;
- //
- // case 0x5B: // Remove GUI ScrollBar field
- //
- // bk.getNextByte(); // reserved must be set to off pos 5
- // bk.getNextByte(); // reserved must be set to zero pos 6
- //
- // done = true;
- // break;
- //
- // case 0x5F: // Remove All GUI Constructs
- // // System.out.println("remove all gui contructs");
- // int len = 4;
- // int d = 0;
- // length -= s;
- // while (--len > 0)
- // d = bk.getNextByte();
- // // if (length > 0) {
- // // len = (bk.getNextByte() & 0xff )<< 8;
- // //
- // // while (--len > 0)
- // // d = bk.getNextByte();
- // // }
- //
- // screen52.clearGuiStuff();
- // // per 14.6.13.4 documentation we should clear the
- // // format table after this command
- // screen52.clearTable();
- // done = true;
- // break;
- //
- // case 0x60: // Erase/Draw Grid Lines - not supported
- // // do not know what they are
- // // as of 03/11/2002 we should not be getting
- // // this anymore but I will leave it here
- // // just in case.
- // // System.out.println("erase/draw grid lines " + length);
- // len = 6;
- // d = 0;
- // length -= 9;
- // while (--len > 0)
- // d = bk.getNextByte();
- // if (length > 0) {
- // len = (bk.getNextByte() & 0xff )<< 8;
- //
- // while (--len > 0) {
- // d = bk.getNextByte();
- // }
- // }
- // done = true;
- // break;
- // default:
- // sendNegResponse(NR_REQUEST_ERROR,0x03,0x01,0x01,"invalid wtd structured
- // field sub command "
- // + bk.getByteOffset(-1));
- // error = true;
- // break;
- // }
- // break;
- //
- // default:
- // sendNegResponse(NR_REQUEST_ERROR,0x03,0x01,0x01,
- // "invalid wtd structured field command "
- // + bk.getByteOffset(-1));
- // error = true;
- // break;
- // }
- //
- // if (error)
- // done = true;
- //
- // }
- // }
- // catch (Exception e) {};
- //
- // return error;
- //
- // }
-
- // private void defineSelectionField(int majLen) {
- //
- // // 0030: 20 00 2C 3E 00 00 00 69 12 A0 00 00 04 00 00 03 .,>...i........
- // // 0040: 04 40 04 11 00 28 01 07 00 00 00 19 00 00 04 11 .@...(..........
- // // 0050: 14 19 15 00 48 D9 50 00 60 00 11 01 84 84 00 00 ....H.P.`.......
- // // 0060: 05 03 01 01 00 00 00 13 01 E0 00 21 00 21 00 3B ...........!.!.;
- // // 0070: 22 20 20 20 20 3A 24 20 20 3A 0B 10 08 00 E0 00 " :$ :......
- // // 0080: D6 95 85 40 40 0B 10 08 00 E0 00 E3 A6 96 40 40 ...@@.........@@
- // // 0090: 0B 10 08 00 E0 00 E3 88 99 85 85 04 52 00 00 FF ............R...
- // // 00A0: EF .
- // try {
- // int flag1 = bk.getNextByte(); // Flag byte 1 - byte 5
- // int flag2 = bk.getNextByte(); // Flag byte 2 - byte 6
- // int flag3 = bk.getNextByte(); // Flag byte 3 - byte 7
- // int typeSelection = bk.getNextByte(); // Type of selection Field - byte 8
- //
- // // GUI Device Characteristics:
- // // This byte is used if the target device is a GUI PWS or a GUI-like
- // // NWS. If neigher of these WS are the targets, this byte is ignored
- // int guiDevice = bk.getNextByte(); // byte 9
- // int withMnemonic = bk.getNextByte(); // byte 10
- // int noMnemonic = bk.getNextByte(); // byte 11
- //
- // bk.getNextByte(); // Reserved - byte 12
- // bk.getNextByte(); // Reserved - byte 13
- //
- // int cols = bk.getNextByte(); // Text Size - byte 14
- // int rows = bk.getNextByte(); // Rows - byte 15
- //
- // int maxColChoice = bk.getNextByte(); // byte 16 num of column choices
- // int padding = bk.getNextByte(); // byte 17
- // int numSepChar = bk.getNextByte(); // byte 18
- // int ctySepChar = bk.getNextByte(); // byte 19
- // int cancelAID = bk.getNextByte(); // byte 20
- //
- // int cnt = 0;
- // int minLen = 0;
- // majLen -= 21;
- // System.out.println(" row: " + screen52.getCurrentRow()
- // + " col: " + screen52.getCurrentCol()
- // + " type " + typeSelection
- // + " gui " + guiDevice
- // + " withMnemonic " + withMnemonic
- // + " noMnemonic " + Integer.toHexString(noMnemonic)
- // + " noMnemonic " + Integer.toBinaryString(noMnemonic)
- // + " noMnemonicType " + Integer.toBinaryString((noMnemonic & 0xf0))
- // + " noMnemonicSel " + Integer.toBinaryString((noMnemonic & 0x0f))
- // + " cols " + cols
- // + " rows " + rows);
- // int rowCtr = 0;
- // int chcRowStart = screen52.getCurrentRow();
- // int chcColStart = screen52.getCurrentCol();
- //
- // screen52.addField(0x20,1,0,0,0,0);
- // screen52.getScreenFields().getCurrentField().setFieldChar((char)0x20);
- //
- // screen52.getScreenFields().getCurrentField().setMDT();
- // //0000: 00 04 AC 9E B9 35 00 01 02 32 BB 4E 08 00 45 00 .....5...2.N..E.
- // //0010: 00 3C 82 C1 40 00 80 06 00 00 C1 A8 33 58 C1 A8 .<[email protected]..
- // //0020: 33 01 04 F6 00 17 92 68 71 34 00 02 31 F9 50 18 3......hq4..1.P.
- // //0030: FD F0 E9 D8 00 00 00 12 12 A0 00 00 04 00 80 03 ................
- // //0040: 10 05 F1 11 0C 05 00 24 FF EF .......$..
- //
- // int colAvail = 0x20;
- // int colSelAvail = 0x20;
- // int fld = 0;
- // do {
- // minLen = bk.getNextByte(); // Minor Length byte 21
- //
- // int minType = bk.getNextByte(); // Minor Type
- //
- // switch (minType) {
- //
- // case 0x01: // Choice Presentation Display
- //
- // // flag
- // int flagCP1 = bk.getNextByte();
- //
- // bk.getNextByte(); // mon select cursor avail emphasis - byte4
- // colSelAvail = bk.getNextByte(); // -byte 5
- //
- // bk.getNextByte(); // mon select cursor - byte 6
- // int colSelCur = bk.getNextByte(); // -byte 7
- //
- // bk.getNextByte(); // mon select cursor not avail emphasis - byte 8
- // int colSelNotAvail = bk.getNextByte(); // -byte 9
- //
- // bk.getNextByte(); // mon avail emphasis - byte 10
- // colAvail = bk.getNextByte(); // -byte 11
- //
- // bk.getNextByte(); // mon select emphasis - byte 12
- // int colSel = bk.getNextByte(); // -byte 13
- //
- // bk.getNextByte(); // mon not avail emphasis - byte 14
- // int colNotAvail = bk.getNextByte(); // -byte 15
- //
- // bk.getNextByte(); // mon indicator emphasis - byte 16
- // int colInd = bk.getNextByte(); // -byte 17
- //
- // bk.getNextByte(); // mon indicator not avail emphasis - byte 18
- // int colNotAvailInd = bk.getNextByte(); // -byte 19
- //
- // break;
- //
- // case 0x10: // Choice Text minor structure
- //
- // screen52.goto_XY(chcRowStart++,chcColStart);
- // cnt = 5;
- // int flagCT1 = bk.getNextByte();
- // int flagCT2 = bk.getNextByte();
- // int flagCT3 = bk.getNextByte();
- // int mnemOffset = 0;
- // boolean aid = false;
- // boolean selected = false;
- //
- // // is mnemonic offset specified
- // if ((flagCT1 & 0x40) == 0x40) {
- // System.out.println(" selected ");
- // selected = true;
- // }
- //
- // // is mnemonic offset specified
- // if ((flagCT1 & 0x08) == 8) {
- // System.out.println(" mnemOffset " + mnemOffset);
- // mnemOffset = bk.getNextByte();
- // cnt++;
- // }
- //
- // // is aid key specified
- // if ((flagCT1 & 0x04) == 4) {
- //
- // aid = true;
- // System.out.println(" aidKey " + aid);
- // // cnt++;
- // }
- //
- // // is single digit number specified
- // if ((flagCT1 & 0x01) == 0x01) {
- // System.out.println(" single digit " );
- // bk.getNextByte();
- // cnt++;
- // }
- //
- // // is double digint number specified
- // if ((flagCT1 & 0x02) == 0x02) {
- // System.out.println(" double digit " );
- //
- // bk.getNextByte();
- // cnt++;
- // }
- //
- // String s = "";
- // byte byte0 = 0;
- // // if (fld++ == 2)
- // // screen52.addField(colAvail,cols,0x0,0,0,0);
- // // else
- // // screen52.addField(colAvail,cols,0x20,0,0,0);
- // for (;cnt < minLen; cnt++) {
- //
- // byte0 = bk.getNextByte();
- // s += ebcdic2uni(byte0);
- // screen52.setChar(ebcdic2uni(byte0));
- //
- // }
- // screen52.addChoiceField(s);
- // System.out.println(s + " selected " + selected);
- // break;
- // default:
- // for (cnt = 2;cnt < minLen; cnt++) {
- //
- // bk.getNextByte();
- // }
- //
- // }
- //
- // majLen -= minLen;
- //
- // } while (majLen > 0);
- // }
- // catch (Exception exc) {
- // System.out.println(" defineSelectionField :" + exc.getMessage());
- // exc.printStackTrace();
- // }
- // }
-
private void writeStructuredField() {
--- 2237,2240 ----
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285