From e4c6acee55139a18d6118999c16d55aa1f36c9e8 Mon Sep 17 00:00:00 2001 From: Ole Loots Date: Tue, 17 Sep 2013 02:10:35 +0200 Subject: Treeview implementation adjusted (still requires changes at several places in the atari frontent) --- atari/treeview.h | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'atari/treeview.h') diff --git a/atari/treeview.h b/atari/treeview.h index f8e4c4264..a6a59acd2 100644 --- a/atari/treeview.h +++ b/atari/treeview.h @@ -19,19 +19,38 @@ #ifndef NSATARI_TREEVIEW_H #define NSATARI_TREEVIEW_H +#include "atari/gui.h" +#include "atari/gemtk/gemtk.h" + +#define ATARI_TREEVIEW_WIDGETS (CLOSER | MOVER | SIZER| NAME | FULLER | \ + SMALLER | VSLIDE | HSLIDE | UPARROW | DNARROW \ + | LFARROW | RTARROW) + + +struct core_window; +struct atari_treeview_window; +typedef struct atari_treeview_window *ATARI_TREEVIEW_PTR; + +typedef void (*atari_treeview_keypress_callback)(struct core_window *cw, + long ucs4); +typedef void (*atari_treeview_mouse_action_callback)(struct core_window *cw, + browser_mouse_state mouse, + int x, int y); +typedef void (*atari_treeview_draw_callback)(struct core_window *cw, int x, + int y, int clip_x, int clip_y, + int clip_width, int clip_height, + const struct redraw_context *ctx); + struct atari_treeview_callbacks { nserror (*init)(struct core_window *cw, struct core_window_callback_table * default_callbacks); void (*fini)(struct core_window *cw); - void (*draw)(struct core_window *cw); - void (*keypress)(struct core_window *cw); - void (*mouse)(struct core_window *cw); + atari_treeview_draw_callback draw; + atari_treeview_keypress_callback keypress; + atari_treeview_mouse_action_callback mouse_action; gemtk_wm_event_handler_f gemtk_user_func; }; -struct atari_treeview_callbacks; -struct atari_treeview_window; - struct atari_treeview_window * atari_treeview_create(GUIWIN *win, struct atari_treeview_callbacks * callbacks, uint32_t flags); -- cgit v1.2.3