blob: 8bb1653e415bff19b9027f5631e6f1d9aa4b8f9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#define Uses_ScrollDialog
// =================================================
#define Uses_TDialog
// =================================================
#define Uses_ScrollGroup
// =================================================
#define Uses_TGroup
// =================================================
#define Uses_TScrollBar
#define Uses_TEvent
#define Uses_TKeys
// =================================================
#include <tv.h>
#include "dlg.h"
// =================================================
ScrollDialog::ScrollDialog(const TRect& bounds, const char* aTitle, ushort f) :
TWindowInit(initFrame),
TDialog(bounds, aTitle),
scrollGroup(0)
{
TScrollBar* hsb = 0;
TScrollBar* vsb = 0;
if(f & sbHorBar)
hsb = standardScrollBar(sbHorizontal|sbHandleKeyboard);
if(f & sbVerBar)
vsb = standardScrollBar(sbVertical|sbHandleKeyboard);
TRect r = getExtent();
r.grow(-1,-1);
scrollGroup = new ScrollGroup(r, hsb, vsb);
scrollGroup->growMode = gfGrowHiX | gfGrowHiY;
insert(scrollGroup);
}
void ScrollDialog::handleEvent(TEvent& event)
{
if(event.what == evKeyDown &&
(event.keyDown.keyCode == kbTab ||
event.keyDown.keyCode == kbShiftTab))
{
scrollGroup->selectNext(Boolean(event.keyDown.keyCode == kbShiftTab));
clearEvent(event);
}
TDialog::handleEvent(event);
}
|