Initial revision
[ssr] / StraySrc / Libraries / Steel / h / pane
1 /*
2 * Pane
3 * Handles all those many problems you get with panes
4 *
5 * v. 1.100 (25 July 1991)
6 *
7 * © 1991-1998 Straylight
8 */
9
10 /*----- Licensing note ----------------------------------------------------*
11 *
12 * This file is part of Straylight's Steel library.
13 *
14 * Steel is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2, or (at your option)
17 * any later version.
18 *
19 * Steel is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with Steel. If not, write to the Free Software Foundation,
26 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 */
28
29 #ifndef __pane_h
30 #define __pane_h
31
32 #ifndef __wimp_h
33 #include "wimp.h"
34 #endif
35
36 typedef struct pane__panestr *pane;
37
38 #ifndef __listbox_h
39 #include "listbox.h"
40 #endif
41
42 /*
43 * pane pane_create(wimp_w tool)
44 *
45 * Use
46 * Sets up a structure for a pane, and returns a handle.
47 *
48 * Parameters
49 * wimp_w tool == the window handle of the tool window (the one that isn't
50 * a pane)
51 *
52 * Returns
53 * An abstract handle to the pane.
54 */
55
56 pane pane_create(wimp_w tool);
57
58 /*
59 * void pane_addPane(pane p,wimp_w w)
60 *
61 * Use
62 * Registers a new pane as being associated with the tool window given in
63 * pane_create().
64 *
65 * Parameters
66 * pane p == the pane handle for the tool window
67 * wimp_w w == the window handle of the new pane
68 */
69
70 void pane_addPane(pane p,wimp_w w);
71
72 /*
73 * void pane_addListbox(pane p,list l)
74 *
75 * Use
76 * Adds a listbox to the tool window. Handles things properly, so that
77 * scroll bars and things appear at the right time.
78 *
79 * Parameters
80 * pane p == the pane to add to
81 * list l == the list to add
82 */
83
84 void pane_addListbox(pane p,list l);
85
86 /*
87 * void pane_delete(pane p)
88 *
89 * Use
90 * Destroys and free()s the memory occupied by a pane structure.
91 *
92 * Parameters
93 * pane p == the pane's handle
94 */
95
96 void pane_delete(pane p);
97
98 /*
99 * void pane_removePane(pane p,wimp_w w)
100 *
101 * Use
102 * Removes the specified pane from the structure.
103 *
104 * Parameters
105 * pane p == the pane in question
106 * wimp_w w == the window to remove
107 */
108
109 void pane_removePane(pane p,wimp_w w);
110
111 /*
112 * void pane_updatePanes(pane p)
113 *
114 * Use
115 * Updates position of panes attached to the main window after it has been
116 * moved.
117 *
118 * Parameters
119 * pane p == the pane handle
120 */
121
122 void pane_updatePanes(pane p);
123
124 /*
125 * void pane_moved(pane p)
126 *
127 * Use
128 * Asks the pane segment to reopen a pane in response to an wimp_EOPEN
129 * event.
130 *
131 * Parameters
132 * pane p == the pane handle
133 */
134
135 void pane_moved(pane p);
136
137 /*
138 * void pane_front(pane p)
139 *
140 * Use
141 * Moves a tool window and associated panes to the front of the screen.
142 *
143 * Parameters
144 * pane p == the pane handle
145 */
146
147 void pane_front(pane p);
148
149 /*
150 * void pane_close(pane p)
151 *
152 * Use
153 * This routine will close all the windows attached to the pane structure.
154 *
155 * Parameters
156 * pane p == the pane handle
157 */
158
159 void pane_close(pane p);
160
161 #endif