Add tools to the Workbench Tools menu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cx.h 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. ToolsMenu - Add tools to the Workbench Tools menu
  3. Copyright (C) 2015, 2018 Kim Fastrup Larsen
  4. This program is free software: you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation, either ver-
  7. sion 3 of the License, or (at your option) any later version.
  8. This program is distributed in the hope that it will be use-
  9. ful, but WITHOUT ANY WARRANTY; without even the implied war-
  10. ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. See the GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public Li-
  13. cense along with this program. If not, see
  14. <http://www.gnu.org/licenses/>.
  15. The author can be contacted on <kimflarsen@hotmail.com>
  16. */
  17. #ifndef CX_H
  18. #define CX_H
  19. #include <exec/lists.h>
  20. /* We will maintain a list of Tools as the main global state of this
  21. commodity. The name of each Tool (ie. menu item) will be stored in
  22. node.ln_Name. */
  23. typedef struct {
  24. struct Node node;
  25. char *path;
  26. struct AppMenuItem *menu_item;
  27. } Tool;
  28. extern struct List *tools;
  29. void cx_set_up(void);
  30. Tool *cx_add_tool(char *name, char *path);
  31. Tool *cx_modify_tool(Tool *, char *name, char *path);
  32. void cx_enable(void);
  33. void cx_disable(void);
  34. void cx_show(void);
  35. void cx_hide(void);
  36. void cx_save_tools(void);
  37. void cx_about(void);
  38. void cx_quit(void);
  39. void cx_clean_up(void);
  40. #endif