chiark / gitweb /
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