]> git.lyx.org Git - lyx.git/blob - src/BufferView.C
several changes and fixes. Read the ChangeLog
[lyx.git] / src / BufferView.C
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *        
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team.
9  *
10  * ====================================================== */
11
12 #include <config.h>
13
14 #ifdef __GNUG__
15 #pragma implementation
16 #endif
17
18 #include "BufferView.h"
19 #include "BufferView_pimpl.h"
20 #include "lyxtext.h"
21
22
23 BufferView::BufferView(LyXView * o, int xpos, int ypos,
24                        int width, int height)
25         : pimpl_(new Pimpl(this, o, xpos, ypos, width, height))
26 {
27         text = 0;
28         the_locking_inset = 0;
29         inset_slept = false;
30 }
31
32
33 BufferView::~BufferView()
34 {
35         delete text;
36         delete pimpl_;
37 }
38
39
40 Buffer * BufferView::buffer() const
41 {
42         return pimpl_->buffer_;
43 }
44
45
46 LyXView * BufferView::owner() const
47 {
48         return pimpl_->owner_;
49 }
50
51
52 void BufferView::pushIntoUpdateList(Inset * i)
53 {
54         pimpl_->updatelist.push(i);
55 }
56
57
58 Painter & BufferView::painter() 
59 {
60         return pimpl_->painter();
61 }
62
63
64 void BufferView::buffer(Buffer * b)
65 {
66         pimpl_->buffer(b);
67 }
68
69
70 void BufferView::resize(int xpos, int ypos, int width, int height)
71 {
72         pimpl_->resize(xpos, ypos, width, height);
73 }
74
75
76 void BufferView::resize()
77 {
78         pimpl_->resize();
79 }
80
81
82 void BufferView::redraw()
83 {
84         pimpl_->redraw();
85 }
86
87
88 void BufferView::fitCursor()
89 {
90         pimpl_->fitCursor();
91 }
92
93
94 void BufferView::update()
95 {
96         pimpl_->update();
97 }
98
99
100 void BufferView::updateScrollbar()
101 {
102         pimpl_->updateScrollbar();
103 }
104
105
106 void BufferView::redoCurrentBuffer()
107 {
108         pimpl_->redoCurrentBuffer();
109 }
110
111
112 int BufferView::resizeCurrentBuffer()
113 {
114         return pimpl_->resizeCurrentBuffer();
115 }
116
117
118 void BufferView::gotoError()
119 {
120         pimpl_->gotoError();
121 }
122
123
124 extern "C" {
125         void C_BufferView_CursorToggleCB(FL_OBJECT * ob, long buf)
126         {
127                 BufferView::cursorToggleCB(ob, buf);
128         }
129 }
130
131
132 #if 0
133 // Callback for scrollbar up button
134 void BufferView::upCB(long time, int button)
135 {
136         if (pimpl_->buffer_ == 0) return;
137
138         switch (button) {
139         case 3:
140                 pimpl_->scrollUpOnePage();
141                 break;
142         case 2:
143                 pimpl_->scrollDownOnePage();
144                 break;
145         default:
146                 pimpl_->scrollUp(time);
147                 break;
148         }
149 }
150 #endif
151
152
153 void BufferView::enterView()
154 {
155         pimpl_->enterView();
156 }
157
158
159 void BufferView::leaveView()
160 {
161         pimpl_->leaveView();
162 }
163
164
165 // Callback for scrollbar slider
166 void BufferView::scrollCB(double value)
167 {
168         pimpl_->scrollCB(value);
169 }
170
171
172 #if 0
173 // Callback for scrollbar down button
174 void BufferView::downCB(long time, int button)
175 {
176         pimpl_->downCB(time, button);
177 }
178 #endif
179
180
181 void BufferView::workAreaMotionNotify(int x, int y, unsigned int state)
182 {
183         pimpl_->workAreaMotionNotify(x, y, state);
184 }
185
186
187 extern int bibitemMaxWidth(Painter &, LyXFont const &);
188
189
190 ///  Single-click on work area
191 void BufferView::workAreaButtonPress(int xpos, int ypos, unsigned int button)
192 {
193         pimpl_->workAreaButtonPress(xpos, ypos, button);
194 }
195
196
197 void BufferView::doubleClick(int x, int y, unsigned int button) 
198 {
199         pimpl_->doubleClick(x, y, button);
200 }
201
202
203 void BufferView::tripleClick(int x, int y, unsigned int button)
204 {
205         pimpl_->tripleClick(x, y, button);
206 }
207
208
209 void BufferView::workAreaButtonRelease(int x, int y, unsigned int button)
210 {
211         pimpl_->workAreaButtonRelease(x, y, button);
212 }
213
214
215 void BufferView::workAreaExpose()
216 {
217         pimpl_->workAreaExpose();
218 }
219
220
221 //  // Callback for cursor timer
222 void BufferView::cursorToggleCB(FL_OBJECT * ob, long )
223 {
224         BufferView * view = static_cast<BufferView*>(ob->u_vdata);
225         view->pimpl_->cursorToggle();
226 }
227
228
229 void BufferView::workAreaSelectionNotify(Window win, XEvent * event)
230 {
231         pimpl_->workAreaSelectionNotify(win, event);
232 }
233
234
235 void BufferView::cursorPrevious()
236 {
237         pimpl_->cursorPrevious();
238 }
239
240
241 void BufferView::cursorNext()
242 {
243         pimpl_->cursorNext();
244 }
245
246
247 bool BufferView::available() const
248 {
249         return pimpl_->available();
250 }
251
252
253 void BufferView::beforeChange()
254 {
255         pimpl_->beforeChange();
256 }
257
258
259 void BufferView::savePosition()
260 {
261         pimpl_->savePosition();
262 }
263
264
265 void BufferView::restorePosition()
266 {
267         pimpl_->restorePosition();
268 }
269
270
271 void BufferView::update(signed char f)
272 {
273         pimpl_->update(f);
274 }
275
276
277 #if 0
278 void BufferView::smallUpdate(signed char f)
279 {
280         pimpl_->smallUpdate(f);
281 }
282 #endif
283
284
285 void BufferView::setState()
286 {
287         pimpl_->setState();
288 }
289
290
291 void BufferView::insetSleep()
292 {
293         pimpl_->insetSleep();
294 }
295
296
297 void BufferView::insetWakeup()
298 {
299         pimpl_->insetWakeup();
300 }
301
302
303 void BufferView::insetUnlock()
304 {
305         pimpl_->insetUnlock();
306 }
307
308
309 bool BufferView::focus() const
310 {
311         return pimpl_->focus();
312 }
313
314
315 void BufferView::focus(bool f)
316 {
317         pimpl_->focus(f);
318 }
319
320
321 bool BufferView::active() const
322 {
323         return pimpl_->active();
324 }
325
326
327 unsigned short BufferView::paperWidth() const
328 {
329     return text->paperWidth();
330 }
331
332
333 bool BufferView::belowMouse() const 
334 {
335         return pimpl_->belowMouse();
336 }
337
338
339 void BufferView::showCursor()
340 {
341         pimpl_->showCursor();
342 }
343
344
345 void BufferView::hideCursor()
346 {
347         pimpl_->hideCursor();
348 }
349
350
351 void BufferView::toggleSelection(bool b)
352 {
353         pimpl_->toggleSelection(b);
354 }
355
356
357 void BufferView::toggleToggle()
358 {
359         pimpl_->toggleToggle();
360 }
361
362
363 void BufferView::center() 
364 {
365         pimpl_->center();
366 }