Subversion Repositories Filer-Free

Rev

Rev 59 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 59 Rev 60
Line 61... Line 61...
61
                        wimp_poll_flags flags=poll_flags();
61
                        wimp_poll_flags flags=poll_flags();
62
                        if (pollword) flags|=wimp_GIVEN_POLLWORD;
62
                        if (pollword) flags|=wimp_GIVEN_POLLWORD;
63
                        wimp_event_no event=wimp_poll(flags,&block,pollword);
63
                        wimp_event_no event=wimp_poll(flags,&block,pollword);
64
 
64
 
65
                        // Handle the resulting event.
65
                        // Handle the resulting event.
66
                        handle_event(event,block);
66
                        handle_event(event,block,pollword);
67
                }
67
                }
68
                else
68
                else
69
                {
69
                {
70
                        // Recovery from a RISC OS error: display error window.
70
                        // Recovery from a RISC OS error: display error window.
71
                        wimp_report_error((os_error*)_kernel_last_oserror(),
71
                        wimp_report_error((os_error*)_kernel_last_oserror(),
Line 85... Line 85...
85
wimp_poll_flags application::poll_flags()
85
wimp_poll_flags application::poll_flags()
86
{
86
{
87
        return 0;
87
        return 0;
88
}
88
}
89
 
89
 
90
void application::handle_event(wimp_event_no event,wimp_block& block)
90
void application::handle_event(wimp_event_no event,wimp_block& block,
-
 
91
        int* pollword)
91
{
92
{
92
        menu* m;
93
        menu* m;
93
        window* w;
94
        window* w;
94
        switch (event)
95
        switch (event)
95
        {
96
        {
Line 143... Line 144...
143
                {
144
                {
144
                        _current_menu=0;
145
                        _current_menu=0;
145
                        m->handle_menu_selection(block.selection);
146
                        m->handle_menu_selection(block.selection);
146
                }
147
                }
147
                break;
148
                break;
-
 
149
        case wimp_POLLWORD_NON_ZERO:
-
 
150
                handle_pollword_non_zero(pollword);
-
 
151
                break;
148
        case wimp_USER_MESSAGE:
152
        case wimp_USER_MESSAGE:
149
        case wimp_USER_MESSAGE_RECORDED:
153
        case wimp_USER_MESSAGE_RECORDED:
150
                switch (block.message.action)
154
                switch (block.message.action)
151
                {
155
                {
152
                case message_QUIT:
156
                case message_QUIT:
Line 182... Line 186...
182
void application::handle_key_pressed(wimp_key& block)
186
void application::handle_key_pressed(wimp_key& block)
183
{
187
{
184
        wimp_process_key(block.c);
188
        wimp_process_key(block.c);
185
}
189
}
186
 
190
 
-
 
191
void application::handle_pollword_non_zero(int* pollword)
-
 
192
{
-
 
193
        *pollword=0;
-
 
194
}
-
 
195
 
187
void application::handle_user_message(wimp_event_no event,
196
void application::handle_user_message(wimp_event_no event,
188
        wimp_message& message)
197
        wimp_message& message)
189
{}
198
{}
190
 
199
 
191
void application::register_window(window& w)
200
void application::register_window(window& w)