Initial revision
[ssr] / StraySrc / Libraries / Sapphire / sh / pane
1 ;
2 ; pane.sh
3 ;
4 ; Pane handling facilities
5 ;
6 ; © 1994-1998 Straylight
7 ;
8
9 ;----- Licensing note -------------------------------------------------------
10 ;
11 ; This file is part of Straylight's Sapphire library.
12 ;
13 ; Sapphire is free software; you can redistribute it and/or modify
14 ; it under the terms of the GNU General Public License as published by
15 ; the Free Software Foundation; either version 2, or (at your option)
16 ; any later version.
17 ;
18 ; Sapphire is distributed in the hope that it will be useful,
19 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ; GNU General Public License for more details.
22 ;
23 ; You should have received a copy of the GNU General Public License
24 ; along with Sapphire. If not, write to the Free Software Foundation,
25 ; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
27 ;----- Overview -------------------------------------------------------------
28 ;
29 ; Functions provided:
30 ;
31 ; pane_add
32 ; pane_remove
33 ; pane_closed
34 ; pane_deleted
35 ; pane_swap
36 ; pane_open
37 ; pane_init
38
39 [ :LNOT::DEF:pane__dfn
40 GBLL pane__dfn
41
42 ; --- pane_add ---
43 ;
44 ; On entry: R0 == window handle of parent window
45 ; R1 == icon handle in parent window
46 ; R2 == window handle of pane window
47 ;
48 ; On exit: May return an error
49 ;
50 ; Use: This call registers a pane to be associated with the given
51 ; window. The pane is always opened to fit exactly within
52 ; the given icon -- border widths are taken into account
53 ; if there are scroll bars etc.
54 ;
55 ; You must call pane_closed if the parent window is closed,
56 ; since there is no way for pane to trap this occurence.
57
58 IMPORT pane_add
59
60 ; --- pane_remove ---
61 ;
62 ; On entry: R0 == window handle for which pane was registered
63 ; R1 == window handle of the pane window itself
64 ;
65 ; On exit: --
66 ;
67 ; Use: Removes the pane from the given window. This call will
68 ; close the given pane, but will not actually delete it
69 ; (ie. with a Wimp_DeleteWindow).
70
71 IMPORT pane_remove
72
73 ; --- pane_closed ---
74 ;
75 ; On entry: R0 == window handle of parent
76 ;
77 ; On exit: --
78 ;
79 ; Use: Informs pane that a parent window has closed.
80 ; All associated panes are then closed.
81
82 IMPORT pane_closed
83
84 ; --- pane_deleted ---
85 ;
86 ; On entry: R0 == window handle of parent
87 ;
88 ; On exit: --
89 ;
90 ; Use: Informs pane that a parent window has been deleted.
91 ; All associated panes are then closed, and there
92 ; registration with the pane library module is
93 ; terminated.
94
95 IMPORT pane_deleted
96
97 ; --- pane_swap ---
98 ;
99 ; On entry: R0 == window handle of parent window
100 ; R1 == icon handle within parent window
101 ; R2 == window handle of new pane
102 ;
103 ; On exit: --
104 ;
105 ; Use: This call will replace the pane in associated with icon R1
106 ; in window R0, with the pane in R2.
107 ;
108 ; The exisiting pane is closed, and the new pane is
109 ; opened in it's place. No error is generated if the existing
110 ; pane does not exist; this allows the caller to delete the
111 ; window before doing the swap.
112
113 IMPORT pane_swap
114
115 ; --- pane_open ---
116 ;
117 ; On entry: R0 == window handle
118 ;
119 ; On exit: --
120 ;
121 ; Use: Opens all the panes associated with the given window.
122
123 IMPORT pane_open
124
125 ; --- pane_init ---
126 ;
127 ; On entry: --
128 ;
129 ; On exit: --
130 ;
131 ; Use: Initialises the pane unit.
132
133 IMPORT pane_init
134
135 ]
136
137 ;----- That's all, folks ----------------------------------------------------
138
139 END