home *** CD-ROM | disk | FTP | other *** search
- #include "wimpt.h"
- #include "werr.h"
- #include "res.h"
- #include "resspr.h"
- #include "template.h"
- #include "coords.h"
- #include "menu.h"
- #include "baricon.h"
- #include "win.h"
- #include "event.h"
- #include "alarm.h"
- #include "dbox.h"
-
- /*
- * CONSTANTS
- */
-
- enum
- {
- bar_info = 1,
- bar_quit
- } bar_hit;
-
- enum
- {
- bar_menu
- } menus;
-
- enum
- {
- main_window
- } windows;
-
- enum
- {
- main_alarm
- } alarms;
-
- /*
- *** GLOBAL VARIABLES ***
- */
-
- menu bar_m;
-
- /*
- *** EVENT PROCESSORS ***
- */
-
- /*
- * Bar click
- *
- * The icon on the bar has been 'clicked'
- */
-
- static void alarm_event(int at, void *handle)
- {
- int id;
-
- id = (int) handle;
-
- tracef(1, "Alarm event at %d", at);
-
- alarm_set(alarm_timenow()+250, alarm_event, main_alarm);
- }
-
- static void bar_click(wimp_i icon)
- {
- tracef(0, "I have been clicked on!");
- }
-
- static void menu_event(void *handle, char *hit)
- {
- int id;
- dbox d;
-
- id = (int)handle;
- switch(id)
- {
- case bar_menu:
- switch(hit[0])
- {
- case bar_info:
- d = dbox_new("info");
- dbox_show(d);
- dbox_fillin(d);
- dbox_dispose(&d);
- tracef(2, "Information menu item");
- break;
-
- case bar_quit:
- exit(0);
- }
- break;
-
- default:
- werr(TRUE, "Unknown menu id: %d", id);
- break;
- }
- }
-
- /*
- *** TRACE ***
- */
-
- int main()
- {
- wimpt_init("TraceTest");
- res_init("tracetest");
- resspr_init();
- template_init();
- dbox_init();
- alarm_init();
-
- /* Set up the icon on the iconbar */
-
- baricon("!tracetest", (int)resspr_area(), bar_click);
-
- /* Create a menu for the bar icon */
-
- bar_m = menu_new("TraceTest", ">Info,Quit");
- event_attachmenu(win_ICONBAR, bar_m, menu_event, bar_menu);
-
- /* Set the alarm timer for every 2.5 seconds */
- alarm_set(alarm_timenow()+250, alarm_event, main_alarm);
-
- /* Process events */
-
- while (TRUE)
- event_process();
- }
-