From 48f868a9555be385f156e9396079ad5d0ee388f6 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sat, 31 Dec 2016 00:53:20 +0000 Subject: move tree compatability layer to amiga frontend --- desktop/Makefile | 4 +- desktop/tree.c | 353 ------------------------------------------------------- desktop/tree.h | 88 -------------- 3 files changed, 2 insertions(+), 443 deletions(-) delete mode 100644 desktop/tree.c delete mode 100644 desktop/tree.h (limited to 'desktop') diff --git a/desktop/Makefile b/desktop/Makefile index f7f660d51..2dcd61611 100644 --- a/desktop/Makefile +++ b/desktop/Makefile @@ -2,8 +2,8 @@ S_DESKTOP := cookie_manager.c knockout.c hotlist.c mouse.c \ plot_style.c print.c search.c searchweb.c scrollbar.c \ - sslcert_viewer.c textarea.c tree.c version.c \ - system_colour.c global_history.c treeview.c + sslcert_viewer.c textarea.c version.c system_colour.c \ + global_history.c treeview.c S_DESKTOP := $(addprefix desktop/,$(S_DESKTOP)) diff --git a/desktop/tree.c b/desktop/tree.c deleted file mode 100644 index b5f444ddb..000000000 --- a/desktop/tree.c +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Copyright 2004 Richard Wilson - * Copyright 2009 Paul Blokus - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * NetSurf is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** \file - * deprecated compatibility layer for new treeview modules. Do not use. - */ - -#include -#include -#include -#include -#include - -#include "utils/log.h" -#include "utils/messages.h" -#include "utils/utils.h" -#include "utils/nsoption.h" -#include "netsurf/browser_window.h" -#include "netsurf/core_window.h" -#include "content/content.h" -#include "content/hlcache.h" - -#include "desktop/tree.h" - -struct tree { - unsigned int flags; /* Tree flags */ - tree_drag_type drag; - const struct treeview_table *callbacks; - void *client_data; /* User assigned data for the callbacks */ -}; - -#include "netsurf/misc.h" -#include "desktop/gui_internal.h" -#include "desktop/treeview.h" -#include "desktop/hotlist.h" -#include "desktop/cookie_manager.h" -#include "desktop/global_history.h" -#include "desktop/sslcert_viewer.h" - -struct sslcert_session_data *ssl_current_session = NULL; -const char *tree_hotlist_path = NULL; - -static void treeview_test_redraw_request(struct core_window *cw, - const struct rect *r) -{ - struct tree *tree = (struct tree *)cw; - - tree->callbacks->redraw_request(r->x0, r->y0, - r->x1 - r->x0, r->y1 - r->y0, - tree->client_data); -} - -static void treeview_test_update_size(struct core_window *cw, - int width, int height) -{ - struct tree *tree = (struct tree *)cw; - - tree->callbacks->resized(tree, width, height, tree->client_data); -} - -static void treeview_test_scroll_visible(struct core_window *cw, - const struct rect *r) -{ -} - -static void treeview_test_get_window_dimensions(struct core_window *cw, - int *width, int *height) -{ - struct tree *tree = (struct tree *)cw; - - tree->callbacks->get_window_dimensions(width, height, - tree->client_data); -} - -static void treeview_test_drag_status(struct core_window *cw, - core_window_drag_status ds) -{ - struct tree *tree = (struct tree *)cw; - - switch (ds) { - case CORE_WINDOW_DRAG_NONE: - tree->drag = TREE_NO_DRAG; - break; - - case CORE_WINDOW_DRAG_SELECTION: - tree->drag = TREE_SELECT_DRAG; - break; - - case CORE_WINDOW_DRAG_MOVE: - tree->drag = TREE_MOVE_DRAG; - break; - - case CORE_WINDOW_DRAG_TEXT_SELECTION: - tree->drag = TREE_TEXTAREA_DRAG; - break; - - default: - break; - } -} - -struct core_window_callback_table cw_t = { - .redraw_request = treeview_test_redraw_request, - .update_size = treeview_test_update_size, - .scroll_visible = treeview_test_scroll_visible, - .get_window_dimensions = treeview_test_get_window_dimensions, - .drag_status = treeview_test_drag_status -}; - -static bool treeview_test_init(struct tree *tree) -{ - nserror err; - - switch (tree->flags) { - case TREE_COOKIES: - err = cookie_manager_init(&cw_t, (struct core_window *)tree); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't init new cookie manager.", 0); - break; - case TREE_HISTORY: - err = global_history_init(&cw_t, (struct core_window *)tree); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't init new global history.", 0); - break; - case TREE_HOTLIST: - err = hotlist_init(tree_hotlist_path); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't init new hotlist.", 0); - err = hotlist_manager_init(&cw_t, (struct core_window *)tree); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't init hotlist manager.", 0); - break; - case TREE_SSLCERT: - assert(ssl_current_session == NULL && - "Call sslcert_viewer_init directly, " - "this compat. layer can't cope with simultanious " - "sslcert viewers"); - err = sslcert_viewer_init(&cw_t, (struct core_window *)tree, - ssl_current_session); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't init new sslcert viewer.", 0); - break; - } - - return true; -} - -static bool treeview_test_fini(struct tree *tree) -{ - nserror err; - - switch (tree->flags) { - case TREE_COOKIES: - err = cookie_manager_fini(); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't finalise cookie manager.", 0); - break; - case TREE_HISTORY: - err = global_history_fini(); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't finalise cookie manager.", 0); - break; - case TREE_HOTLIST: - err = hotlist_fini(tree_hotlist_path); - if (err != NSERROR_OK) - guit->misc->warning("Couldn't finalise hotlist.", 0); - break; - case TREE_SSLCERT: - assert(ssl_current_session != NULL && - "Can't use sslcert window after sslcert_viewer_fini()"); - err = sslcert_viewer_fini(ssl_current_session); - ssl_current_session = NULL; - if (err != NSERROR_OK) - guit->misc->warning("Couldn't finalise sslcert viewer.", 0); - break; - } - - return true; -} - -static bool treeview_test_redraw(struct tree *tree, int x, int y, - int clip_x, int clip_y, int clip_width, int clip_height, - const struct redraw_context *ctx) -{ - struct rect clip; - - clip.x0 = clip_x; - clip.y0 = clip_y; - clip.x1 = clip_x + clip_width; - clip.y1 = clip_y + clip_height; - - switch (tree->flags) { - case TREE_SSLCERT: - if (ssl_current_session != NULL) { - sslcert_viewer_redraw(ssl_current_session, x, y, &clip, ctx); - } - return true; - case TREE_COOKIES: - cookie_manager_redraw(x, y, &clip, ctx); - return true; - case TREE_HISTORY: - global_history_redraw(x, y, &clip, ctx); - return true; - case TREE_HOTLIST: - hotlist_redraw(x, y, &clip, ctx); - return true; - } - - return false; -} - -static bool treeview_test_mouse_action(struct tree *tree, - browser_mouse_state mouse, int x, int y) -{ - switch (tree->flags) { - case TREE_SSLCERT: - assert(ssl_current_session != NULL && - "Can't use sslcert window after sslcert_viewer_fini()"); - sslcert_viewer_mouse_action(ssl_current_session, mouse, x, y); - return true; - case TREE_COOKIES: - cookie_manager_mouse_action(mouse, x, y); - return true; - case TREE_HISTORY: - global_history_mouse_action(mouse, x, y); - return true; - case TREE_HOTLIST: - hotlist_mouse_action(mouse, x, y); - return true; - } - - return false; -} - -static bool treeview_test_keypress(struct tree *tree, uint32_t key) -{ - switch (tree->flags) { - case TREE_SSLCERT: - assert(ssl_current_session != NULL && - "Can't use sslcert window after sslcert_viewer_fini()"); - sslcert_viewer_keypress(ssl_current_session, key); - return true; - case TREE_COOKIES: - cookie_manager_keypress(key); - return true; - case TREE_HISTORY: - global_history_keypress(key); - return true; - case TREE_HOTLIST: - hotlist_keypress(key); - return true; - } - - return false; -} - -/* -------------------------------------------------------------------------- */ - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -struct tree *tree_create(unsigned int flags, - const struct treeview_table *callbacks, void *client_data) -{ - struct tree *tree; - - tree = calloc(sizeof(struct tree), 1); - if (tree == NULL) { - LOG("calloc failed"); - guit->misc->warning(messages_get_errorcode(NSERROR_NOMEM), 0); - return NULL; - } - - tree->flags = flags; - tree->drag = TREE_NO_DRAG; - tree->callbacks = callbacks; - tree->client_data = client_data; - - treeview_test_init(tree); - - return tree; -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -void tree_delete(struct tree *tree) -{ - treeview_test_fini(tree); - free(tree); -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -void tree_draw(struct tree *tree, int x, int y, - int clip_x, int clip_y, int clip_width, int clip_height, - const struct redraw_context *ctx) -{ - assert(tree != NULL); - - treeview_test_redraw(tree, x, y, clip_x, clip_y, - clip_width, clip_height, ctx); -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -bool tree_mouse_action(struct tree *tree, browser_mouse_state mouse, int x, - int y) -{ - assert(tree != NULL); - - if (treeview_test_mouse_action(tree, mouse, x, y)) { - return true; - } - - return false; -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -void tree_drag_end(struct tree *tree, browser_mouse_state mouse, int x0, int y0, - int x1, int y1) -{ - assert(tree != NULL); - - treeview_test_mouse_action(tree, BROWSER_MOUSE_HOVER, x1, y1); -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -bool tree_keypress(struct tree *tree, uint32_t key) -{ - if (treeview_test_keypress(tree, key)) { - return true; - } - - return false; -} - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -tree_drag_type tree_drag_status(struct tree *tree) -{ - assert(tree != NULL); - return tree->drag; -} diff --git a/desktop/tree.h b/desktop/tree.h deleted file mode 100644 index f8864e167..000000000 --- a/desktop/tree.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2004 Richard Wilson - * Copyright 2009 Paul Blokus - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * NetSurf is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** \file - * deprecated compatibility layer for new treeview modules. Do not use. - */ - -#ifndef _NETSURF_DESKTOP_TREE_H_ -#define _NETSURF_DESKTOP_TREE_H_ - -#include -#include - -#include "netsurf/mouse.h" - -struct sslcert_session_data; -struct tree; -struct redraw_context; - -/** - * Current ssl session data for treeview - * - * @todo FIXME global certificate treeview state must go away, this is - * just wrong. - */ -extern struct sslcert_session_data *ssl_current_session; -extern const char *tree_hotlist_path; - -/* Tree flags */ -enum tree_flags { - TREE_HISTORY, - TREE_COOKIES, - TREE_SSLCERT, - TREE_HOTLIST -}; - -typedef enum { - TREE_NO_DRAG = 0, - TREE_SELECT_DRAG, - TREE_MOVE_DRAG, - TREE_TEXTAREA_DRAG, /** < A drag that is passed to a textarea */ - TREE_UNKNOWN_DRAG /** < A drag the tree itself won't handle */ -} tree_drag_type; - -/** callbacks to perform necessary operations on treeview. */ -struct treeview_table { - void (*redraw_request)(int x, int y, int width, int height, - void *data); /**< request a redraw. */ - void (*resized)(struct tree *tree, int width, int height, - void *data); /**< resize treeview area. */ - void (*scroll_visible)(int y, int height, void *data); /**< scroll visible treeview area. */ - void (*get_window_dimensions)(int *width, int *height, void *data); /**< get dimensions of window */ -}; - -struct tree *tree_create(unsigned int flags, - const struct treeview_table *callbacks, - void *client_data); - -/** deprecated compatibility layer for new treeview modules. Do not use. */ -void tree_delete(struct tree *tree); -tree_drag_type tree_drag_status(struct tree *tree); -void tree_draw(struct tree *tree, int x, int y, - int clip_x, int clip_y, int clip_width, int clip_height, - const struct redraw_context *ctx); -bool tree_mouse_action(struct tree *tree, browser_mouse_state mouse, - int x, int y); -void tree_drag_end(struct tree *tree, browser_mouse_state mouse, int x0, int y0, - int x1, int y1); -bool tree_keypress(struct tree *tree, uint32_t key); - - -#endif -- cgit v1.2.3