• No results found

DN2300 8004 5 Concept Information Update Windowing Apr80 pdf

N/A
N/A
Protected

Academic year: 2020

Share "DN2300 8004 5 Concept Information Update Windowing Apr80 pdf"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

f ' I

HDB

human designed systems, inc.

3700 Market Street, Philadelphia, Pennsylvania 19104 (215) 382-5000

CONCEPT INFO~mTION UPDATE

NUMBER: 14

DATE: APRIL 1, 1980

SUBJECT: WINDOWING

The purpose of this update is to review the basic structure of windowing within the concept terminals, provide an intro-duction to a multiple-window application, and present the advanced user with a more detailed understanding of device windows.

Basic Definition-Window

A "window" is a rectangular area of display memory, defined by the user for each device within the terminal (keyboard, line 1, and line 2).

A window can be of any size and starting location, limited only by the 80 columns and 24 lines (96 lines for a 4-page terminal) of the terminal's physical display memory.

A window is a "logical" definition which sets the boundaries for character display, in that characters cannot be written past the right-hand edge of the window, for example, or below

the bottom line. When the terminal is powered on, all

devices have a default window definition corresponding to all of the terminal's physical display memory.

At a given point in time each device has an "active" window

definition, which may be changed at any time. Terminal operations

are performed relative to the current, active window definition. Such operations include character display, cursor movement,

cursor addressing, clear, send, etc. For example, moving

the cursor to line 5, column 5 (relative to the window's home position of line 0, column 0) can be executed as long as the window defined is large enough to contain that address; however, the effect to the user may be different, since the

windows could have different horne positions. Figure I-A shows

the effects of addressing to line 5, column 5 for a one-page window defined as 5, 5, 10, 10 (that is: home position line, home position column, number of lines on the window, number of columns in the window); figure l-B shows the same write address command with a window defined as 10, 20, 10, 10. In this example, in situation A the cursor is physically

DN2300-8004-5

(2)

-i 1 'l ~

) 6 7 II IS -., 10 II 181 19 1 IV 1

.

,

, i ,

.1_ --' . . r

J I" , I • II ! I t I " . . . ; I, ~

FIGURE l-A

,

I" ./- '

,I

'----,.-,--.-;--,-,-"

r-I-- -~-I--'-'

I-1-- +-i

---1-·1

+--JT-

-+-+-+4

-t--fJn

t

-t- - 1--1

+++

H--1-+-I++-+

-,

-&--. -.

-t-iIfij~mmla~n~li~

,

--++-+--+--+-t--1-+-t--'

-.

- - t-t-

.1

-i ....,

~

.,

,

-t.!.

t,

.-10

rhI

W~

t--J--t-++ +-t-

,il

-.-+--t-

~tmln.--+-+-1 1 1 1-+++-+-+

/--t----+-1

+-+---1._~_

-0-_-1--t--1-+-+-- -+-- l--t -t-t-

-1-H-I - ,~- +-t---t ~ -.-

+--~

H--t--

++iilf83J-i1ltttt-tr

I I I I I

t - -.

-t-+++---....,

-t--

-H1J~.

rl-t-_.-+-+

I~----f-I- -I-+- --+--+-4 --++-t-I-++++-+-++-...

-t- -H-t- .• -t-- "i1--+-++--

.l.

~~~""_L_~_I-~"'~I-LI 1 1

I

I I I I

I

I

I ' ,

11

t

1,'. I ' . , . , . . ' _ , I j~

• I; i • . - , . I ... '" "c. ."' ... 1- -. ~ , . I ' ' ' , LL r., , ;; .4 - l ~ • . , 11 .

-Window Definition

=

5,5,10,10 (relative to 0)

(3)
(4)

located (that is, relative to the actual screen display) at line 10, column 10; in situation B, the cursor is physically located at line 15, column 25.

Basic Definition-Cursor

Every window definition has associated with i t a "cursor", which points to the location at which the next character is

to be displayed. This cursor is updated whenever a character

is displayed or the cursor is explicitly moved via a terminal

command, for example. As mentioned above, each device within

the terminal can have its own window definition; similarly,

associated with each window definition and device is its cursor. The keyboard's cursor is represented as a blinking underline

or blinking block and will always be visible to the user. The

cursors for Line 1 and Line 2, if used, are "invisible"; that is, they are logical pointers to the next available character location, but are not represented directly on the screen.

Tied Windows

While each device may have its own window definition, in many applications (and when the terminal is powered on)

only the keyboard's window definition and cursor are actually used; all other devices are "tied" to the keyboard. This means the characters and commands received from Line 1 and Line 2 will actually move the keyboard cursor, as will

characters and commands for the keyboard. (In fact, Line 1

and Line 2 do have their "own" window definitions and cursors; however, they are not used when their windows are tied to

the keyboard.)

Separate Windows

For many applications i t is desirable for the keyboard and the communication line (Line 1) to be "independent" and

have separate windows and cursors. For example, an application

may have the user entering data in the keyboard window with

appropriate error messages and responses appearing in a separate Line 1 window.

The windows for Line 1 and Line 2 can be separated from the keyboard (their default condition) by "tieing" the line to itself (that is, "un-tieing" i t from the keyboard window).

This is done by the Tie Window command (MC q device). When

a device is tied to itself, i t uses its own window definition,

as opposed to the keyboard's window definition. The Tie

Window command would then typically be followed by the line issuing a Define Window command for (presumably) a new

window that is different than the keyboard window. Figure

2 shows the Escape sequences issued by Line 1 to configure

a one-page terminal with two separate windows - the keyboard

(5)

Commands (*)

ESC "

J6 J6 ,

p

(**) ESC q

ESC.V' ,

J6 ,

p

Figure 2

SEPARATE ~'1INDOWS EXAMPLE

Decimal Equivalent

27 118 32 32 44 112

27 113 33

27 118 44 32 44 112

Comment

Line 1 defines the keyboard

window to be the "top" half of the screen (a home position of 0,0; 12 lines long and

80 columns wide). Note

that after this command all display, from both the key-board and Line 1, would

appear only in the top half.

Line 1 is tied to itself. After this command keyboard data would appear in the top half only; Line 1 data would appear in the entire screen (its default window definition)

Line 1 defines its window to be the "bottom" half of the screen; a home position of 12, 0; 12 lines long and

80 columns wide). After this

command all keyboard data appears in the top half and all Line 1 data in the

bottom half.

---(*) This assumes that Line 1 is issuing the command. To perform

the same function from the keyboard, do the following (using Function Routing) :

ESC v

J6 J6 ,

p 27 118 32 32 44 112 Define keyboard window

ESC Q ! ESC q tw

27 81 33 27 113 33 23 Function route Line 1 tie window

ESC Q ESC v ,

J6 ,

P tw

27 81 33 27 118 44 32 44 112 23

Function route Line 1 window definition

(**) On some older terminals i t may be necessary to Function Route a null command to a device other than Line 1 at this point; that is, send:

ESC q ! ESC Q

J6

t@ tw 27 113 33 27 81 32

a

23

(6)

-is the top half and the communications line -is the bottom

half. (Users with mUltiple-page terminals should be sure

to remember that the keyboard cursor will always remain

visible. If the keyboard were to be defined as page one

and Line 1 as page four, the user would never be able to actually see any data sent by Line 1.)

Windowing - A Detailed Explanation

Each logical device within the terMinal (keyboard/video, Line 1, and Line 2) has its own "device table", which is used to

store information about that device. Included in the table

is such information as:

current cursor address current window definition "tie window" indicator attribute word

network word

Of particular interest are the first three, which combine to control where characters received from that device are

to be displayed. While each device logically can have separate

cursors/windows, the "tie window" indicator actually controls where characters are to be displayed, in that i t specifies

the actual device table to be used (and therefore the cursor

address and window definition). Figure 3 shows the logical

structure when the terminal is powered on.

When a character is received over Line 1, for example, the following occurs:

The device table for Line 1 is determined

The tie window indicator is obtained, and the cursor address to use is retrieved from that device table

(that is, the keyboard device table).

The character is placed in memory at the current cursor address.

The current device attribute for the receiving device (Line 1) is also placed into memory at the current cursor address.

The current cursor address (in the keyboard device table) is incremented by one, wrapping around to the next line of the right margin of the (keyboard) window is reached. (See Figure 4)

Note that even though data has been received from Line 1, its device table information has not been changed.

Let us assume now that the user has "separated" the keyboard and Line 1, as in Figure 2. Figure 5 shows the device

(7)

-Figure 3

DEFAULT STRUCTURE (*)

Device

Keyboard tt--I Tie Window Indicatorl

I

Cur sor Addre s s

I

I Window Definition

I

t

I

r-~I Keyboard 0,

°

0, 0, 24, 80

I

1

I I

Line 1 ~(~ Tie Window Indicatorl

I

Cursor Address

I

Window Definition

I

I

-...J

I ~

Ke~rboard 0, 0 0, 0, 24, 80

I I

i-t

Line 2 L_ Tie Window Indicator Cursor Address

I

Window Definitio

I

Keyboard 0,

°

0, 0, 24, 80

[image:7.796.44.718.64.523.2]
(8)

I ex>

I

Device

Keyboard

Line 1

Line 2

Figure 4

STRUCTURE AFTER RECEIPT OF ONE CHARACTER

;-1

Tie Window

Indicato~

t I

I

r-~ Keyboard

I

~

I

~--l

Tie Window Indicator

I

I

..

I

I

I

Keyboard

i

L~

IT'

1e t.1· '~1n d ow In 1ca or d . t

Keyboards

Cursor Addres.s

0, 1

Cursor Address

0, 0

Cursor Address

I

0, 0

Window Definition

0, 0, 24, 80

Window Definition

0, 0, 24, 80

Window Definition

[image:8.795.39.727.71.549.2]
(9)

Device

Keyboard

Figure 5

SEPARATED WINDOWS STRUCTURE

~<r

-1

Tie Window Indicatorj

't I

t---~

I

+

Keyboard

Cursor Address

0,

a

Window Definition

0, 0, 12, 80

Line 1

~ ~~

Tie Window Indicatorl I Cursor Address I I Window Definition

+

t

1

I ·

:

~

Line 1

~

I __

~' _~_~

_____

1 12, 0, 12, 80

I

I

t

Line 2

~

__ Tie \Hndow Indicator Cursor Address Window Definitior

[image:9.798.33.748.60.473.2]
(10)

table structure after the Figure 2 escape sequences. Figure 6 shows the same structure after the recept of one character from the keyboard and one character from Line 1.

The user should be sure to note that many commands and functions, including Define Window, use the tie window indicator to

deter-mine which device table to change. That means, therefore, that

a Define Window command received from Line 1 would normally change the keyboard window definition, unless Line 1 had previously been tied to itself.

Also, note that devices may only be tied to themselves or to

the keyboard. The keyboard can only be attached to itself

(not Line'l or Line 2), and Line 1 cannot be tied to Line 2 and vice-versa.

[image:10.618.47.549.109.767.2]
(11)

-Figure 6

SEPARATE WINDOWS AFTER RECEIPT OF ONE CHARACTER

Device

Keyboard

I"~~i

Tie Window

~ndic:orl

I Cursor Address I I Window Definition

,

t"

L __ ~ Keyboard 0, 1 0, 0, 12, 80

,

~

I

I

,

Line 1

t

r~ Tie Window Indicatod I Cursor Address I I Window Def ini tion

I

I

I-' I-'

~~

I

0, 1 12, 0, 12, 80

Lire 1

,

Line 2 L + _

~

Tie \Hndow Indicatorl I Cursor Address I I Window Definition

[image:11.793.45.574.83.460.2]

Figure

Figure 3 DEFAULT STRUCTURE (*)
Figure 4 STRUCTURE AFTER RECEIPT OF ONE CHARACTER
Figure 5 SEPARATED WINDOWS STRUCTURE
table structure after the Figure 2 escape sequences. Figure 6 shows the same structure after the recept of one character from the keyboard and one character from Line 1
+2

References

Related documents

The Convention on the Rights of Persons with Disabilities and Coercive Treatment under Queensland’s Mental Health Act 2000’, Laws 4 (2015): 173-200; Piers Gooding, ‘Navigating

Those qualitative findings show that while youth sometimes accept parents concerns over being in public spaces, there is also an element of using parental concern about the safety

College Mathematics (3 Credits) Biology (6 Credits) Arts and Humanities 3 Arts and Humanities 3 TOTAL 35 20 8.00 **Total up RED # ** Excess credits 0.00 8.00 Analyzing and

I argue that the headscarf cases turn less on the balance between state neutrality and religious belief, than on an understanding of certain religious symbols as a threat to

Result of geolocation error on the image reconstruction RMSE for the 25-km grid and TRIG synthetic image solved with the STAT method.. Geolocation Error Analysis

Resume recovery feature of Stellar Phoenix Photo Recovery allows you to recover photos, audio and video files using saved scan information file or image file.. You can use the

RENFE-Operadora, as incumbent, has a number of economic advantages, which may not be reproducible in the short term, but which could be obtained by new RUs at some point in in

As a consequence, the Willbros Group and its subsidiary, Willbros International Inc., accepted responsibility for its employees who had violated the FCPA (1977) and agreed to pay