summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--atari/certview.c32
-rw-r--r--atari/certview.h9
-rw-r--r--atari/cookies.c5
-rw-r--r--atari/cookies.h3
-rw-r--r--atari/history.h3
-rw-r--r--atari/hotlist.c21
-rw-r--r--atari/hotlist.h3
-rw-r--r--atari/treeview.c178
-rw-r--r--atari/treeview.h20
9 files changed, 139 insertions, 135 deletions
diff --git a/atari/certview.c b/atari/certview.c
index 066a428ae..bdc2a8247 100644
--- a/atari/certview.c
+++ b/atari/certview.c
@@ -74,14 +74,10 @@ static void atari_sslcert_viewer_destroy(struct atari_sslcert_viewer_s * cvwin);
static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw,
struct core_window_callback_table *cb_t)
{
- LOG((""));
-
- struct atari_treeview_window *tv;
struct atari_sslcert_viewer_s *cvwin;
struct sslcert_session_data *ssl_d;
- tv = (struct atari_treeview_window *)cw;
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(tv);
+ cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
assert(cvwin);
@@ -89,18 +85,18 @@ static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw,
assert(ssl_d);
+ LOG((""));
+
return(sslcert_viewer_init(cb_t, cw, ssl_d));
}
static void atari_sslcert_viewer_finish(struct core_window *cw)
{
- struct atari_treeview_window *tv;
struct atari_sslcert_viewer_s *cvwin;
assert(cw);
- tv = (struct atari_treeview_window *)cw;
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(tv);
+ cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
/* This will also free the session data: */
sslcert_viewer_fini(cvwin->ssl_session_data);
@@ -112,13 +108,11 @@ static void atari_sslcert_viewer_draw(struct core_window *cw, int x,
int y, struct rect *clip,
const struct redraw_context *ctx)
{
- struct atari_treeview_window *tv;
struct atari_sslcert_viewer_s *cvwin;
assert(cw);
- tv = (struct atari_treeview_window *)cw;
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(tv);
+ cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
assert(cvwin);
@@ -127,13 +121,11 @@ static void atari_sslcert_viewer_draw(struct core_window *cw, int x,
static void atari_sslcert_viewer_keypress(struct core_window *cw, uint32_t ucs4)
{
- struct atari_treeview_window *tv;
struct atari_sslcert_viewer_s *cvwin;
assert(cw);
- tv = (struct atari_treeview_window *)cw;
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(tv);
+ cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
LOG(("ucs4: %lu\n", ucs4));
sslcert_viewer_keypress(cvwin->ssl_session_data, ucs4);
@@ -143,15 +135,13 @@ static void atari_sslcert_viewer_mouse_action(struct core_window *cw,
browser_mouse_state mouse,
int x, int y)
{
- struct atari_treeview_window *tv;
struct atari_sslcert_viewer_s *cvwin;
assert(cw);
- tv = (struct atari_treeview_window *)cw;
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(tv);
+ cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
- if((mouse & BROWSER_MOUSE_HOVER)){
+ if ((mouse & BROWSER_MOUSE_HOVER)) {
sslcert_viewer_mouse_action(cvwin->ssl_session_data, mouse, x, y);
} else {
sslcert_viewer_mouse_action(cvwin->ssl_session_data, mouse, x, y);
@@ -161,7 +151,7 @@ static void atari_sslcert_viewer_mouse_action(struct core_window *cw,
static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
{
- struct atari_treeview_window *tv=NULL;
+ struct core_window *tv=NULL;
GRECT tb_area;
GUIWIN * gemtk_win;
struct gui_window * gw;
@@ -178,7 +168,7 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
case WM_TOOLBAR:
toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT);
LOG(("CERTVIEWER WM_TOOLBAR"));
- tv = (struct atari_treeview_window*) gemtk_wm_get_user_data(win);
+ tv = (struct core_window*) gemtk_wm_get_user_data(win);
assert(tv);
cvwin = (struct atari_sslcert_viewer_s *)
atari_treeview_get_user_data(tv);
@@ -207,7 +197,7 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
case WM_CLOSED:
// TODO set perrmissions
toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT);
- tv = (struct atari_treeview_window*) gemtk_wm_get_user_data(win);
+ tv = (struct core_window*) gemtk_wm_get_user_data(win);
assert(tv);
cvwin = (struct atari_sslcert_viewer_s *)
atari_treeview_get_user_data(tv);
diff --git a/atari/certview.h b/atari/certview.h
index 642e55ede..fc30074f7 100644
--- a/atari/certview.h
+++ b/atari/certview.h
@@ -33,7 +33,8 @@ struct core_window;
struct atari_sslcert_viewer_s {
GUIWIN * window;
- struct atari_treeview_window *tv;/*< The hotlist treeview handle. */
+ //struct atari_treeview_window *tv;/*< The hotlist treeview handle. */
+ struct core_window *tv;
struct sslcert_session_data *ssl_session_data;
bool init;
};
@@ -45,10 +46,6 @@ struct atari_sslcert_viewer_s {
* The window takes ownership of the session data and free's the memory on exit.
*/
void atari_sslcert_viewer_open(struct sslcert_session_data *ssl_d);
-/*
-void atari_sslcert_viewer_close(void);
-void atari_sslcert_viewer_destroy(void);
-void atari_sslcert_viewer_redraw(void);
-*/
+
#endif // CERTVIEW_H_INCLUDED
diff --git a/atari/cookies.c b/atari/cookies.c
index db45f3368..4530a2177 100644
--- a/atari/cookies.c
+++ b/atari/cookies.c
@@ -204,11 +204,6 @@ void atari_cookie_manager_open(void)
{
assert(atari_cookie_manager.init);
- if (atari_cookie_manager.init == false) {
- // TODO
- return;
- }
-
if (atari_treeview_is_open(atari_cookie_manager.tv) == false) {
GRECT pos;
diff --git a/atari/cookies.h b/atari/cookies.h
index 1ef03b795..fc95f65fe 100644
--- a/atari/cookies.h
+++ b/atari/cookies.h
@@ -23,7 +23,8 @@ struct core_window;
struct atari_cookie_manager_s {
GUIWIN * window;
- struct atari_treeview_window * tv;/*< The hotlist treeview handle. */
+ //struct atari_treeview_window * tv;/*< The hotlist treeview handle. */
+ struct core_window *tv;
bool init;
};
diff --git a/atari/history.h b/atari/history.h
index c6b821fe7..919407c63 100644
--- a/atari/history.h
+++ b/atari/history.h
@@ -23,7 +23,8 @@ struct core_window;
struct atari_global_history_s {
GUIWIN * window;
- struct atari_treeview_window * tv;/*< The hotlist treeview handle. */
+ //struct atari_treeview_window * tv;/*< The hotlist treeview handle. */
+ struct core_window *tv;
bool init;
};
diff --git a/atari/hotlist.c b/atari/hotlist.c
index 8db18b0f8..95b169390 100644
--- a/atari/hotlist.c
+++ b/atari/hotlist.c
@@ -116,21 +116,30 @@ static void atari_hotlist_mouse_action(struct core_window *cw,
static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
{
struct atari_treeview_window *tv=NULL;
+ struct core_window *cw;
GRECT tb_area;
GUIWIN * gemtk_win;
struct gui_window * gw;
char *cur_url = NULL;
char *cur_title = NULL;
+ OBJECT *toolbar;
LOG((""));
+ tv = (struct atari_treeview_window*) gemtk_wm_get_user_data(win);
+ cw = (struct core_window *)tv;
+
if(ev_out->emo_events & MU_MESAG){
switch (msg[0]) {
case WM_TOOLBAR:
LOG(("WM_TOOLBAR"));
- tv = (struct atari_treeview_window*) gemtk_wm_get_user_data(win);
+
+ toolbar = gemtk_obj_get_tree(TOOLBAR_HOTLIST);
+
+ assert(toolbar);
assert(tv);
+
switch (msg[4]) {
case TOOLBAR_HOTLIST_CREATE_FOLDER:
hotlist_add_folder(NULL, 0, 0);
@@ -161,10 +170,10 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
break;
}
- gemtk_win = atari_treeview_get_gemtk_window(tv);
+ gemtk_win = atari_treeview_get_gemtk_window(cw);
assert(gemtk_win);
- gemtk_obj_get_tree(TOOLBAR_HOTLIST)[msg[4]].ob_state &= ~OS_SELECTED;
- atari_treeview_get_grect(tv, TREEVIEW_AREA_TOOLBAR, &tb_area);
+ toolbar[msg[4]].ob_state &= ~OS_SELECTED;
+ atari_treeview_get_grect(cw, TREEVIEW_AREA_TOOLBAR, &tb_area);
evnt_timer(150);
gemtk_wm_exec_redraw(gemtk_win, &tb_area);
break;
@@ -286,8 +295,8 @@ void atari_hotlist_add_page( const char * url, const char * title )
struct node * selected = NULL;
struct node * folder = NULL;
nsurl *nsurl;
- ATARI_TREEVIEW_PTR tv = hl.tv;
- if(hl.tv == NULL )
+
+ if(hl.tv == NULL)
return;
atari_hotlist_open();
diff --git a/atari/hotlist.h b/atari/hotlist.h
index 2bcda5f01..d3ef02292 100644
--- a/atari/hotlist.h
+++ b/atari/hotlist.h
@@ -26,7 +26,8 @@
struct atari_hotlist {
GUIWIN * window;
- ATARI_TREEVIEW_PTR tv;/*< The hotlist treeview handle. */
+ //ATARI_TREEVIEW_PTR tv;/*< The hotlist treeview handle. */
+ struct core_window *tv;
bool init;
char path[PATH_MAX];
};
diff --git a/atari/treeview.c b/atari/treeview.c
index bd82177cf..b4aafa9e8 100644
--- a/atari/treeview.c
+++ b/atari/treeview.c
@@ -82,12 +82,12 @@ struct atari_treeview_window {
static struct atari_treeview_window * treeviews_open;
/* native GUI event handlers: */
-static void on_mbutton_event(struct atari_treeview_window *tvw,
- EVMULT_OUT *ev_out, short msg[8]);
-static void on_keybd_event(struct atari_treeview_window *tvw,
- EVMULT_OUT *ev_out, short msg[8]);
-static void on_redraw_event(struct atari_treeview_window *tvw,
- EVMULT_OUT *ev_out, short msg[8]);
+static void on_mbutton_event(struct core_window *cw, EVMULT_OUT *ev_out,
+ short msg[8]);
+static void on_keybd_event(struct core_window *cw, EVMULT_OUT *ev_out,
+ short msg[8]);
+static void on_redraw_event(struct core_window *cw, EVMULT_OUT *ev_out,
+ short msg[8]);
/* static utils: */
static void atari_treeview_dump_info(struct atari_treeview_window *tv, char *s);
@@ -99,8 +99,8 @@ static void atari_treeview_dump_info(struct atari_treeview_window *tv, char *s);
static void atari_treeview_redraw_grect_request(struct core_window *cw,
GRECT *area)
{
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
if (cw != NULL) {
- ATARI_TREEVIEW_PTR tv = (ATARI_TREEVIEW_PTR) cw;
if( tv->redraw == false ){
tv->redraw = true;
tv->rdw_area.g_x = area->g_x;
@@ -123,11 +123,11 @@ static void atari_treeview_redraw_grect_request(struct core_window *cw,
}
-void atari_treeview_get_grect(ATARI_TREEVIEW_PTR tptr, enum treeview_area_e mode,
+void atari_treeview_get_grect(struct core_window *cw, enum treeview_area_e mode,
GRECT *dest)
{
- struct atari_treeview_window * tv = tptr;
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
if (mode == TREEVIEW_AREA_CONTENT) {
gemtk_wm_get_grect(tv->window, GEMTK_WM_AREA_CONTENT, dest);
@@ -137,8 +137,9 @@ void atari_treeview_get_grect(ATARI_TREEVIEW_PTR tptr, enum treeview_area_e mode
}
}
-GUIWIN * atari_treeview_get_gemtk_window(struct atari_treeview_window *tv)
+GUIWIN * atari_treeview_get_gemtk_window(struct core_window *cw)
{
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
return(tv->window);
}
@@ -147,15 +148,17 @@ static void atari_treeview_dump_info(struct atari_treeview_window *tv,
{
printf("Treeview Dump (%s)\n", title);
printf("=================================\n");
- gemtk_wm_dump_window_info(atari_treeview_get_gemtk_window(tv));
+ gemtk_wm_dump_window_info(atari_treeview_get_gemtk_window((struct core_window *)tv));
GEMTK_DBG_GRECT("Redraw Area: \n", &tv->rdw_area)
dbg_grect("Redraw Area2: \n", &tv->rdw_area);
printf("Extent: x: %d, y: %d\n", tv->extent, tv->extent);
}
-void atari_treeview_redraw(struct atari_treeview_window *tv)
+void atari_treeview_redraw(struct core_window *cw)
{
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
+
if (tv != NULL && tv->is_open) {
if( tv->redraw && ((plot_get_flags() & PLOT_FLAG_OFFSCREEN) == 0) ) {
@@ -215,7 +218,6 @@ void atari_treeview_redraw(struct atari_treeview_window *tv)
todo[1] = 0;
}
- // TODO: get slider values
if (rc_intersect((GRECT *)&tv->rdw_area,(GRECT *)&todo)) {
struct rect clip;
@@ -224,7 +226,7 @@ void atari_treeview_redraw(struct atari_treeview_window *tv)
clip.x1 = clip.x0 + todo[2]+(slid->x_pos*slid->x_unit_px);
clip.y1 = clip.y0 + todo[3]+(slid->y_pos*slid->y_unit_px);
- tv->io->draw(tv, -(slid->x_pos*slid->x_unit_px),
+ tv->io->draw(cw, -(slid->x_pos*slid->x_unit_px),
-(slid->y_pos*slid->y_unit_px),
&clip, &ctx);
}
@@ -388,14 +390,16 @@ void atari_treeview_redraw(struct atari_treeview_window *tv)
*/
static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
{
- ATARI_TREEVIEW_PTR tv = (ATARI_TREEVIEW_PTR) gemtk_wm_get_user_data(win);
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)
+ gemtk_wm_get_user_data(win);
+ struct core_window *cw = (struct core_window *)tv;
if( (ev_out->emo_events & MU_MESAG) != 0 ) {
// handle message
switch (msg[0]) {
case WM_REDRAW:
- on_redraw_event(tv, ev_out, msg);
+ on_redraw_event(cw, ev_out, msg);
break;
default:
@@ -403,12 +407,12 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
}
}
if( (ev_out->emo_events & MU_KEYBD) != 0 ) {
- on_keybd_event(tv, ev_out, msg);
+ on_keybd_event(cw, ev_out, msg);
}
if( (ev_out->emo_events & MU_BUTTON) != 0 ) {
LOG(("Treeview click at: %d,%d\n", ev_out->emo_mouse.p_x,
ev_out->emo_mouse.p_y));
- on_mbutton_event(tv, ev_out, msg);
+ on_mbutton_event(cw, ev_out, msg);
}
if(tv != NULL && tv->io->gemtk_user_func != NULL){
@@ -419,7 +423,7 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
}
-static void __CDECL on_keybd_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
+static void __CDECL on_keybd_event(struct core_window *cw, EVMULT_OUT *ev_out,
short msg[8])
{
bool r=false;
@@ -430,7 +434,7 @@ static void __CDECL on_keybd_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
unsigned short nkc = 0;
unsigned short nks = 0;
unsigned char ascii;
- struct atari_treeview_window * tv = tptr;
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
kstate = ev_out->emo_kmeta;
kcode = ev_out->emo_kreturn;
@@ -440,21 +444,20 @@ static void __CDECL on_keybd_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
if (ik == 0) {
if (ascii >= 9) {
- tv->io->keypress(tv, ucs4);
- //r = tree_keypress(tv->tree, ucs4);
+ tv->io->keypress(cw, ucs4);
}
} else {
- tv->io->keypress(tv, ik);
+ tv->io->keypress(cw, ik);
}
}
-static void __CDECL on_redraw_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
+static void __CDECL on_redraw_event(struct core_window *cw, EVMULT_OUT *ev_out,
short msg[8])
{
GRECT work, clip;
struct gemtk_wm_scroll_info_s *slid;
- struct atari_treeview_window * tv = tptr;
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
if (tv == NULL)
return;
@@ -462,7 +465,7 @@ static void __CDECL on_redraw_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
gemtk_wm_get_grect(tv->window, GEMTK_WM_AREA_CONTENT, &work);
//dbg_grect("treeview work: ", &work);
- atari_treeview_get_grect(tv, TREEVIEW_AREA_CONTENT, &work);
+ atari_treeview_get_grect(cw, TREEVIEW_AREA_CONTENT, &work);
//dbg_grect("treeview work: ", &work);
slid = gemtk_wm_get_scroll_info(tv->window);
@@ -499,14 +502,14 @@ static void __CDECL on_redraw_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
//dbg_grect("treeview on_redraw_event ", &rdrw_area);
- atari_treeview_redraw_grect_request(tptr, &rdrw_area);
+ atari_treeview_redraw_grect_request(cw, &rdrw_area);
}
}
-static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out,
+static void __CDECL on_mbutton_event(struct core_window *cw, EVMULT_OUT *ev_out,
short msg[8])
{
- struct atari_treeview_window * tv = tptr;
+ struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
struct gemtk_wm_scroll_info_s *slid;
GRECT work;
short mx, my;
@@ -534,7 +537,7 @@ static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out
&& my < work.g_y + work.g_h )
{
if (ev_out->emo_mclicks == 2) {
- tv->io->mouse_action(tv,
+ tv->io->mouse_action(cw,
BROWSER_MOUSE_CLICK_1|BROWSER_MOUSE_DOUBLE_CLICK,
origin_rel_x, origin_rel_y);
return;
@@ -547,7 +550,7 @@ static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out
if(ev_out->emo_mclicks == 2 ) {
bms = BROWSER_MOUSE_DOUBLE_CLICK;
}
- tv->io->mouse_action(tv, bms, origin_rel_x, origin_rel_y);
+ tv->io->mouse_action(cw, bms, origin_rel_x, origin_rel_y);
} else {
/* button still pressed */
short prev_x = origin_rel_x;
@@ -561,14 +564,14 @@ static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out
tv->startdrag.x = origin_rel_x;
tv->startdrag.y = origin_rel_y;
/* First, report mouse press, to trigger entry selection */
- tv->io->mouse_action(tv, BROWSER_MOUSE_CLICK_1 | BROWSER_MOUSE_PRESS_1, cur_rel_x,
+ tv->io->mouse_action(cw, BROWSER_MOUSE_CLICK_1 | BROWSER_MOUSE_PRESS_1, cur_rel_x,
cur_rel_y);
- atari_treeview_redraw(tv);
- tv->io->mouse_action(tv, BROWSER_MOUSE_DRAG_1 | BROWSER_MOUSE_DRAG_ON,
+ atari_treeview_redraw(cw);
+ tv->io->mouse_action(cw, BROWSER_MOUSE_DRAG_1 | BROWSER_MOUSE_DRAG_ON,
cur_rel_x, cur_rel_y);
do{
if (abs(prev_x-cur_rel_x) > 5 || abs(prev_y-cur_rel_y) > 5) {
- tv->io->mouse_action(tv,
+ tv->io->mouse_action(cw,
BROWSER_MOUSE_HOLDING_1 | BROWSER_MOUSE_DRAG_ON,
cur_rel_x, cur_rel_y);
prev_x = cur_rel_x;
@@ -578,7 +581,7 @@ static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out
if (tv->redraw) {
// TODO: maybe GUI poll would fit better here?
// ... is gui_poll re-entrance save?
- atari_treeview_redraw(tv);
+ atari_treeview_redraw(cw);
}
/* sample mouse button state: */
@@ -588,50 +591,50 @@ static void __CDECL on_mbutton_event(ATARI_TREEVIEW_PTR tptr, EVMULT_OUT *ev_out
} while( mbut & 1 );
/* End drag: */
- tv->io->mouse_action(tv, BROWSER_MOUSE_HOVER, cur_rel_x, cur_rel_y);
+ tv->io->mouse_action(cw, BROWSER_MOUSE_HOVER, cur_rel_x, cur_rel_y);
gem_set_cursor(&gem_cursors.arrow);
}
}
}
-struct atari_treeview_window *
+struct core_window *
atari_treeview_create(GUIWIN *win, struct atari_treeview_callbacks * callbacks,
void * user_data, uint32_t flags)
{
/* allocate the core_window struct: */
- struct atari_treeview_window * cw;
+ struct atari_treeview_window * tv;
struct gemtk_wm_scroll_info_s *slid;
- cw = calloc(1, sizeof(struct atari_treeview_window));
- if (cw == NULL) {
+ tv = calloc(1, sizeof(struct atari_treeview_window));
+ if (tv == NULL) {
LOG(("calloc failed"));
warn_user(messages_get_errorcode(NSERROR_NOMEM), 0);
return NULL;
}
/* Store the window ref inside the new treeview: */
- cw->window = win;
- cw->io = callbacks;
- cw->user_data = user_data;
+ tv->window = win;
+ tv->io = callbacks;
+ tv->user_data = user_data;
// Setup gemtk event handler function:
gemtk_wm_set_event_handler(win, handle_event);
// bind window user data to treeview ref:
- gemtk_wm_set_user_data(win, (void*)cw);
+ gemtk_wm_set_user_data(win, (void*)tv);
// Get acces to the gemtk scroll info struct:
- slid = gemtk_wm_get_scroll_info(cw->window);
+ slid = gemtk_wm_get_scroll_info(tv->window);
// Setup line and column height/width of the window,
// each scroll takes the configured steps:
slid->y_unit_px = 16;
slid->x_unit_px = 16;
- assert(cw->io);
- assert(cw->io->init_phase2);
+ assert(tv->io);
+ assert(tv->io->init_phase2);
/* Now that the window is configured for treeview content, */
/* call init_phase2 which must create the treeview */
@@ -639,34 +642,37 @@ atari_treeview_create(GUIWIN *win, struct atari_treeview_callbacks * callbacks,
/* event handlers of the treeview: */
/* It would be more simple to not pass around the callbacks */
/* but the treeview constructor requires them for initialization... */
- nserror err = cw->io->init_phase2(cw, &cw_t);
+ nserror err = tv->io->init_phase2((struct core_window *)tv, &cw_t);
if (err != NSERROR_OK) {
- free(cw);
- cw = NULL;
+ free(tv);
+ tv = NULL;
}
- return(cw);
+ return((struct core_window *)tv);
}
-void atari_treeview_delete(struct atari_treeview_window * cw)
+void atari_treeview_delete(struct core_window * cw)
{
- assert(cw);
- assert(cw->io->finish);
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
+
+ assert(tv);
+ assert(tv->io->finish);
- cw->io->finish(cw);
+ tv->io->finish(cw);
- free(cw);
+ free(tv);
}
-void atari_treeview_open(struct atari_treeview_window *cw, GRECT *pos)
+void atari_treeview_open(struct core_window *cw, GRECT *pos)
{
- if (cw->window != NULL && cw->is_open == false) {
- cw->is_open = true;
- wind_open_grect(gemtk_wm_get_handle(cw->window), pos);
- gemtk_wm_link(cw->window);
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
+ if (tv->window != NULL && tv->is_open == false) {
+ tv->is_open = true;
+ wind_open_grect(gemtk_wm_get_handle(tv->window), pos);
+ gemtk_wm_link(tv->window);
if (treeviews_open == NULL) {
- treeviews_open = cw;
+ treeviews_open = tv;
treeviews_open->next_open = NULL;
treeviews_open->prev_open = NULL;
} else {
@@ -675,44 +681,48 @@ void atari_treeview_open(struct atari_treeview_window *cw, GRECT *pos)
while(tmp->next_open != NULL){
tmp = tmp->next_open;
}
- tmp->next_open = cw;
- cw->prev_open = tmp;
- cw->next_open = NULL;
+ tmp->next_open = tv;
+ tv->prev_open = tmp;
+ tv->next_open = NULL;
}
}
}
-bool atari_treeview_is_open(struct atari_treeview_window *cw)
+bool atari_treeview_is_open(struct core_window *cw)
{
- return(cw->is_open);
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
+ return(tv->is_open);
}
-void atari_treeview_set_user_data(struct atari_treeview_window * tv,
+void atari_treeview_set_user_data(struct core_window * cw,
void *user_data_ptr)
{
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
tv->user_data = user_data_ptr;
}
-void * atari_treeview_get_user_data(struct atari_treeview_window * tv)
+void * atari_treeview_get_user_data(struct core_window * cw)
{
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
return(tv->user_data);
}
-void atari_treeview_close(struct atari_treeview_window *cw)
+void atari_treeview_close(struct core_window *cw)
{
- if (cw->window != NULL) {
- cw->is_open = false;
- wind_close(gemtk_wm_get_handle(cw->window));
- gemtk_wm_unlink(cw->window);
+ struct atari_treeview_window *tv = (struct atari_treeview_window*)cw;
+ if (tv->window != NULL) {
+ tv->is_open = false;
+ wind_close(gemtk_wm_get_handle(tv->window));
+ gemtk_wm_unlink(tv->window);
/* unlink the window: */
struct atari_treeview_window *tmp = treeviews_open;
- if (cw->prev_open != NULL) {
- cw->prev_open->next_open = cw->next_open;
+ if (tv->prev_open != NULL) {
+ tv->prev_open->next_open = tv->next_open;
} else {
- treeviews_open = cw->next_open;
+ treeviews_open = tv->next_open;
}
- if (cw->next_open != NULL) {
- cw->next_open->prev_open = cw->prev_open;
+ if (tv->next_open != NULL) {
+ tv->next_open->prev_open = tv->prev_open;
}
}
}
@@ -732,7 +742,7 @@ void atari_treeview_redraw_request(struct core_window *cw, const struct rect *r)
{
GRECT area;
struct gemtk_wm_scroll_info_s * slid;
- struct atari_treeview_window * tv = (cw);
+ struct atari_treeview_window * tv = (struct atari_treeview_window *)cw;
RECT_TO_GRECT(r, &area)
@@ -771,7 +781,7 @@ void atari_treeview_update_size(struct core_window *cw, int width, int height)
slid = gemtk_wm_get_scroll_info(tv->window);
/* recalculate and refresh sliders: */
- atari_treeview_get_grect(tv, TREEVIEW_AREA_CONTENT, &area);
+ atari_treeview_get_grect(cw, TREEVIEW_AREA_CONTENT, &area);
if (width > -1) {
slid->x_units = (width/slid->x_unit_px);
} else {
@@ -821,7 +831,7 @@ void atari_treeview_get_window_dimensions(struct core_window *cw,
if (cw != NULL && (width != NULL || height != NULL)) {
GRECT work;
struct atari_treeview_window *tv = (struct atari_treeview_window *)cw;
- atari_treeview_get_grect(tv, TREEVIEW_AREA_CONTENT, &work);
+ atari_treeview_get_grect(cw, TREEVIEW_AREA_CONTENT, &work);
*width = work.g_w;
*height = work.g_h;
}
@@ -850,7 +860,7 @@ void atari_treeview_flush_redraws(void)
while(tmp){
assert(tmp->is_open);
if(tmp->redraw){
- atari_treeview_redraw(tmp);
+ atari_treeview_redraw((struct core_window *)tmp);
}
tmp = tmp->next_open;
}
diff --git a/atari/treeview.h b/atari/treeview.h
index d9defcce7..fb4e659a0 100644
--- a/atari/treeview.h
+++ b/atari/treeview.h
@@ -60,20 +60,20 @@ struct atari_treeview_callbacks {
gemtk_wm_event_handler_f gemtk_user_func;
};
-struct atari_treeview_window * atari_treeview_create(GUIWIN *win,
+struct core_window *atari_treeview_create(GUIWIN *win,
struct atari_treeview_callbacks * callbacks,
void * user_data, uint32_t flags);
-void atari_treeview_delete(struct atari_treeview_window * cw);
-void atari_treeview_open(struct atari_treeview_window * cw, GRECT *pos);
-bool atari_treeview_is_open(struct atari_treeview_window *cw);
-void atari_treeview_close(struct atari_treeview_window * cw);
-GUIWIN * atari_treeview_get_gemtk_window(struct atari_treeview_window *tv);
-void atari_treeview_get_grect(ATARI_TREEVIEW_PTR tptr, enum treeview_area_e mode,
+void atari_treeview_delete(struct core_window *cw);
+void atari_treeview_open(struct core_window *cw, GRECT *pos);
+bool atari_treeview_is_open(struct core_window *cw);
+void atari_treeview_close(struct core_window *cw);
+GUIWIN * atari_treeview_get_gemtk_window(struct core_window *cw);
+void atari_treeview_get_grect(struct core_window *cw, enum treeview_area_e mode,
GRECT *dest);
-void atari_treeview_redraw(struct atari_treeview_window *tv);
-void atari_treeview_set_user_data(struct atari_treeview_window * tv,
+void atari_treeview_redraw(struct core_window *cw);
+void atari_treeview_set_user_data(struct core_window *cw,
void *user_data_ptr);
-void *atari_treeview_get_user_data(struct atari_treeview_window * tv);
+void *atari_treeview_get_user_data(struct core_window *cw);
void atari_treeview_flush_redraws(void);
#endif //NSATARI_TREEVIEW_H