Commit b38b4d62 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Internationalised

Supporting code borrowed from 'Iconbar' toolbox module.
Tested in a ROM build and RAM build, triggering one error message and checking the dynamic area in task manager.

Version 0.37. Tagged as 'Gadgets-0_37'
parent 2729d7af
......@@ -18,19 +18,19 @@
#
# Component specific options:
#
RAMBOTH =
RAMMESSAGES = o.msgs
COMMON_OBJ = o.ModHdr o.glib o.glib3 o.MemMan o.riscos_uti o.Scrollbar \
o.ScrollList o.Sizes o.TextArea o.TextMan \
o.Font o.riscos_gra o.ScrollLisS o.TAsel_ven o.Text o.Utils ${WIMPLIB}
o.Font o.riscos_gra o.ScrollLisS o.TAsel_ven o.Utils ${WIMPLIB}
ROM_OBJS = o.mainROM ${COMMON_OBJ}
RAM_OBJS = o.main ${RAMBOTH} ${COMMON_OBJ}
RAM_OBJS = o.main ${RAMMESSAGES} ${COMMON_OBJ}
DBG_OBJS = od.main ${RAMBOTH} od.ModHdr od.glib od.glib3 od.MemMan od.riscos_uti od.Scrollbar \
DBG_OBJS = od.main ${RAMMESSAGES} od.ModHdr od.glib od.glib3 od.MemMan od.riscos_uti od.Scrollbar \
od.ScrollList od.Sizes od.TextArea od.TextMan \
od.Font od.riscos_gra od.ScrollLisS od.TAsel_ven od.Text od.Utils ${WIMPLIB}
od.Font od.riscos_gra od.ScrollLisS od.TAsel_ven od.Utils ${WIMPLIB}
#
# Get main rules
......@@ -40,8 +40,8 @@ include C:tboxlibint.TboxMake
#
# Module specific rules:
#
resources:
@echo ${COMPONENT}: not internationalised, so no files copied to Messages module
resources: resources-messages
@echo ${COMPONENT}: resource files copied to Messages module
clean: toolbox-clean
@echo ${COMPONENT}: cleaned
......
#{DictTokens}
E00:Gadget task(s) active
E01:Invalid desktop colour
E02:Out of memory
E03:Out of memory for scrollbar
E04:Out of memory for scrolllist
E05:Out of memory for textarea
E06:Font_ScanString strange
E07:Out of memory
E08:Block does not exist
E09:Attempt to reinitialise memory
E0a:Memory has not been initialised
E0b:No such scrollbar
E0c:No such scrolllist
E0d:No such textarea
E0e:Bad index
WSName:TextArea workspace
/* (0.36)
/* (0.37)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.36
#define Module_MajorVersion_CMHG 0.37
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 30 Aug 2013
#define Module_MajorVersion "0.36"
#define Module_Version 36
#define Module_MajorVersion "0.37"
#define Module_Version 37
#define Module_MinorVersion ""
#define Module_Date "30 Aug 2013"
......@@ -18,6 +18,6 @@
#define Module_ComponentName "Gadgets"
#define Module_ComponentPath "castle/RiscOS/Sources/Toolbox/Gadgets"
#define Module_FullVersion "0.36"
#define Module_HelpVersion "0.36 (30 Aug 2013)"
#define Module_LibraryVersionInfo "0:36"
#define Module_FullVersion "0.37"
#define Module_HelpVersion "0.37 (30 Aug 2013)"
#define Module_LibraryVersionInfo "0:37"
......@@ -30,8 +30,10 @@
#include "kernel.h"
#include "swis.h"
#include "messages.h"
#include "objects/gadgets.h"
#include "MemMan.h"
#include "Text.h"
#ifdef MemCheck_MEMCHECK
#include "MemCheck:MemCheck.h"
......@@ -57,7 +59,7 @@ _kernel_oserror *initialise_memory(char *area_name)
_kernel_oserror *err;
if(area_no != 0)
return (_kernel_oserror *)&e_reinitmem;
return make_error(TextGadgets_IntReinitMem, 0);
/* Create the dynamic area */
......@@ -84,7 +86,7 @@ _kernel_oserror *initialise_memory(char *area_name)
_kernel_oserror *release_memory(void)
{
if(area_no == 0)
return (_kernel_oserror *)&e_notinit;
return make_error(TextGadgets_IntNeverInit, 0);
_swix(OS_DynamicArea,_IN(0)|_IN(1), 1, area_no);
area_no = 0;
......@@ -103,7 +105,7 @@ _kernel_oserror *grow_handles(void)
sizeof(Handle));
if(new_list == NULL)
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
handle_list = new_list;
......@@ -181,7 +183,7 @@ _kernel_oserror *delete_block(HandleId id)
Handle *handle = get_handle(id);
if(handle->base == NULL)
return (_kernel_oserror *)&e_nosuchblk;
return make_error(TextGadgets_IntNoSuchBlock, 0);
/* Move the blocks above the block down */
......@@ -221,7 +223,7 @@ _kernel_oserror *extend_block(HandleId id, int pos, int size)
Handle *handle = get_handle(id);
if(handle->base == NULL)
return (_kernel_oserror *)&e_nosuchblk;
return make_error(TextGadgets_IntNoSuchBlock, 0);
handle->free -= size;
if(handle->free < 0)
......@@ -291,7 +293,7 @@ _kernel_oserror *shrink_block(HandleId id, int pos, int size)
Handle *handle = get_handle(id);
if(handle->base == NULL)
return (_kernel_oserror *)&e_nosuchblk;
return make_error(TextGadgets_IntNoSuchBlock, 0);
if((diff = handle->size - pos - size) > 0)
{
......
......@@ -50,6 +50,7 @@
#include "swis.h"
#include "macros.h"
#include "messages.h"
#include "twimp.h"
#include "objects/gadgets.h"
......@@ -58,7 +59,6 @@
#include "Font.h"
#include "TextGadget.h"
#include "ScrollLisP.h"
#include "Text.h"
#include "Sizes.h"
#include "utils.h"
......@@ -154,7 +154,7 @@ static _kernel_oserror *add_redraw_handler(PrivateScrollList *sl)
if (scrolllist_list == NULL)
{
if ( (scrolllist_list = malloc(sizeof(PrivateScrollList*)*2)) == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
scrolllist_list[0] = sl;
scrolllist_list[1] = NULL;
......@@ -171,7 +171,7 @@ static _kernel_oserror *add_redraw_handler(PrivateScrollList *sl)
sizeof(PrivateScrollList*) * (i+2));
if (new_list == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
scrolllist_list = new_list;
......@@ -187,7 +187,7 @@ static _kernel_oserror *remove_redraw_handler(PrivateScrollList *sl)
unsigned int i, j;
if (scrolllist_list == NULL)
return (_kernel_oserror *)&e_badslist;
return make_error(TextGadgets_UKScrollList, 0);
for (i = 0;
(scrolllist_list[i] != NULL) && (scrolllist_list[i] != sl);
......@@ -195,7 +195,7 @@ static _kernel_oserror *remove_redraw_handler(PrivateScrollList *sl)
;
if (scrolllist_list[i] == NULL)
return (_kernel_oserror *)&e_badslist;
return make_error(TextGadgets_UKScrollList, 0);
for (j = i; scrolllist_list[j] != NULL; j++)
;
......@@ -453,7 +453,7 @@ scrolllist_add(ScrollList *sdata, int wimpw, ObjectID object_id,
sl = (PrivateScrollList *) mem_allocate(sizeof(PrivateScrollList));
if (!sl)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(sl, sizeof(PrivateScrollList));
......@@ -554,7 +554,7 @@ static _kernel_oserror *_set_colour(PrivateScrollList *handle,
Palette palette;
if ((foreground > 15) || (background > 15))
return (_kernel_oserror *)&e_badcol;
return make_error(TextGadgets_DuffColour, 0);
_swix(Wimp_ReadPalette, _IN(1)|_IN(2),&palette,0x45555254/*'TRUE'*/);
foreground = palette.colours[foreground] & ~0xff;
......@@ -580,7 +580,7 @@ static _kernel_oserror *_add_item(PrivateScrollList *sdata,
new_list = realloc(sdata->entries, sizeof(struct _entries) *
(sdata->no_entries + 1));
if (new_list == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
sdata->entries = new_list;
......@@ -594,7 +594,7 @@ static _kernel_oserror *_add_item(PrivateScrollList *sdata,
{
// Can't be bothered to shrink sdata->entries - only one bit
// bigger, and will get realloc'd down on next call anyway
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
}
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(sdata->entries[sdata->no_entries].text,
......@@ -612,7 +612,7 @@ static _kernel_oserror *_add_item(PrivateScrollList *sdata,
13);
#endif
if (sdata->entries[sdata->no_entries].sprite_name == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
strncpy(sdata->entries[sdata->no_entries].sprite_name,
sprite_name, 12);
......@@ -632,7 +632,7 @@ static _kernel_oserror *_add_item(PrivateScrollList *sdata,
new_item = mem_allocate(strlen(text) + 1);
if (new_item == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(new_item, strlen(text) + 1);
#endif
......@@ -642,7 +642,7 @@ static _kernel_oserror *_add_item(PrivateScrollList *sdata,
{
new_spr_name = mem_allocate(strlen(sprite_name) + 1);
if (new_spr_name == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(new_spr_name, strlen(sprite_name) + 1);
#endif
......@@ -809,7 +809,7 @@ static _kernel_oserror *_select_item(const PrivateScrollList *sdata, unsigned in
int item_start, item_end;
if ((index < 0) || (index >= sdata->no_entries))
return (_kernel_oserror *)&e_badindex;
return make_error(TextGadgets_BadIndex, 0);
_get_item_size(sdata, NULL, &item_height, NULL);
box.xmin = 0;
......@@ -990,7 +990,7 @@ static _kernel_oserror *_get_item_text(const PrivateScrollList *sdata,
char *buffer, int buffer_size, int index, int *nbytes)
{
if (index >= sdata->no_entries)
return (_kernel_oserror *)&e_badindex;
return make_error(TextGadgets_BadIndex, 0);
if (buffer == NULL)
{
......@@ -1018,7 +1018,7 @@ static _kernel_oserror *_set_item_text(const PrivateScrollList *sdata,
/* Sanity checks */
if (index < 0 || index >= sdata->no_entries)
return (_kernel_oserror *)&e_badindex;
return make_error(TextGadgets_BadIndex, 0);
if (!new_text) return NULL;
......@@ -1044,7 +1044,7 @@ static _kernel_oserror *_set_item_text(const PrivateScrollList *sdata,
new_item = mem_allocate(strlen(new_text) + 1);
if (new_item == NULL)
return (_kernel_oserror *)&e_outoflistmem;
return make_error(TextGadgets_ListAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(new_item, strlen(new_text) + 1);
......
......@@ -35,13 +35,13 @@
#include "swis.h"
#include "macros.h"
#include "messages.h"
#include "twimp.h"
#include "objects/gadgets.h"
#include "glib.h"
#include "TextGadget.h"
#include "ScrollbarP.h"
#include "Text.h"
#include "Utils.h"
#ifdef MemCheck_MEMCHECK
......@@ -70,7 +70,7 @@ static _kernel_oserror *add_redraw_handler(PrivateScrollbar *tb)
if (scrollbar_list == NULL)
{
if ( (scrollbar_list = malloc(sizeof(PrivateScrollbar*) * 2)) ==NULL)
return (_kernel_oserror *)&e_outofbarmem;
return make_error(TextGadgets_BarAllocFailed, 0);
scrollbar_list[0] = tb;
scrollbar_list[1] = NULL;
......@@ -86,7 +86,7 @@ static _kernel_oserror *add_redraw_handler(PrivateScrollbar *tb)
new_list = realloc(scrollbar_list,sizeof(PrivateScrollbar *) * (i+2));
if (new_list == NULL)
return (_kernel_oserror *)&e_outofbarmem;
return make_error(TextGadgets_BarAllocFailed, 0);
scrollbar_list = new_list;
......@@ -102,7 +102,7 @@ static _kernel_oserror *remove_redraw_handler(const PrivateScrollbar *tb)
unsigned int i, j;
if (scrollbar_list == NULL)
return (_kernel_oserror *)&e_badsbar;
return make_error(TextGadgets_UKScrollbar, 0);
for (i = 0;
(scrollbar_list[i] != NULL) && (scrollbar_list[i] != tb);
......@@ -110,7 +110,7 @@ static _kernel_oserror *remove_redraw_handler(const PrivateScrollbar *tb)
;
if (scrollbar_list[i] == NULL)
return (_kernel_oserror *)&e_badsbar;
return make_error(TextGadgets_UKScrollbar, 0);
for (j = i; scrollbar_list[j] != NULL; j++)
;
......@@ -235,7 +235,7 @@ scrollbar_add(Scrollbar *sdata, int wimpw, ObjectID object_id,
sb = (PrivateScrollbar *) mem_allocate(sizeof(PrivateScrollbar));
if (!sb)
return (_kernel_oserror *)&e_outofbarmem;
return make_error(TextGadgets_BarAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(sb, sizeof(PrivateScrollbar));
......
......@@ -44,6 +44,7 @@
#include "swis.h"
#include "macros.h"
#include "messages.h"
#include "twimp.h"
#include "objects/gadgets.h"
......@@ -54,7 +55,6 @@
#include "TextGadget.h"
#include "TextAreaP.h"
#include "Font.h"
#include "Text.h"
#include "Sizes.h"
#include "utils.h"
......@@ -151,9 +151,13 @@ static void update_display(PrivateTextArea *tdata,
_kernel_oserror *textarea_init(void)
{
char wsname[64]; // For the name of the dynamic area
int wsnamesize = sizeof(wsname);
messages_file_lookup("WSName", wsname, &wsnamesize, 0);
text_area_window.body = (void*) &window_template;
return initialise_memory("TextArea workspace");
return initialise_memory(wsname);
}
int textarea_active(void)
......@@ -177,7 +181,7 @@ static _kernel_oserror *add_redraw_handler(PrivateTextArea *tb)
if (text_area_list == NULL)
{
if ( (text_area_list = malloc(sizeof(PrivateTextArea*) * 2)) == NULL)
return (_kernel_oserror *)&e_outofareamem;
return make_error(TextGadgets_AreaAllocFailed, 0);
text_area_list[0] = tb;
text_area_list[1] = NULL;
......@@ -193,7 +197,7 @@ static _kernel_oserror *add_redraw_handler(PrivateTextArea *tb)
new_list = realloc(text_area_list,sizeof(PrivateTextArea *) * (i+2));
if (new_list == NULL)
return (_kernel_oserror *)&e_outofareamem;
return make_error(TextGadgets_AreaAllocFailed, 0);
text_area_list = new_list;
......@@ -209,7 +213,7 @@ static _kernel_oserror *remove_redraw_handler(PrivateTextArea *tb)
unsigned int i, j;
if (text_area_list == NULL)
return (_kernel_oserror *)&e_badarea;
return make_error(TextGadgets_UKTextArea, 0);
for (i = 0;
(text_area_list[i] != NULL) && (text_area_list[i] != tb);
......@@ -217,7 +221,7 @@ static _kernel_oserror *remove_redraw_handler(PrivateTextArea *tb)
;
if (text_area_list[i] == NULL)
return ( _kernel_oserror *)&e_badarea;
return make_error(TextGadgets_UKTextArea, 0);
for (j = i; text_area_list[j] != NULL; j++)
;
......@@ -926,7 +930,7 @@ textarea_add(TextArea *tdata, int wimpw, ObjectID parent_id,
tb = (PrivateTextArea *) mem_allocate(sizeof(PrivateTextArea));
if (!tb)
return (_kernel_oserror *)&e_outofareamem;
return make_error(TextGadgets_AreaAllocFailed, 0);
#ifdef MemCheck_MEMCHECK
MemCheck_RegisterMiscBlock(tb, sizeof(PrivateTextArea));
......@@ -1196,7 +1200,7 @@ static _kernel_oserror *_set_colour(PrivateTextArea *handle,
Palette palette;
if ((foreground > 15) || (background > 15))
return (_kernel_oserror *)&e_badcol;
return make_error(TextGadgets_DuffColour, 0);
_swix(Wimp_ReadPalette, _IN(1)|_IN(2),&palette,0x45555254/*'TRUE'*/);
foreground = palette.colours[foreground] & ~0xff;
......
......@@ -29,11 +29,11 @@
#include "swis.h"
#include "macros.h"
#include "messages.h"
#include "objects/gadgets.h"
#include "twimp.h"
#include "MemMan.h"
#include "Text.h"
#include "TextMan.h"
typedef struct {
......@@ -68,7 +68,7 @@ _kernel_oserror *create_text(int size, int font_handle, Text **t_pntr)
if((text = malloc(sizeof(Text))) == NULL)
{
delete_block(handle);
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
*(get_handle(handle)->base) = '\0';
......@@ -253,7 +253,7 @@ static _kernel_oserror *new_line(Scan *scan, int pos, char *end, char *start)
if((scan->new_lines = realloc(scan->new_lines,
(scan->max_line += extra) * sizeof(int))) == NULL)
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
return NULL;
......@@ -393,7 +393,7 @@ _kernel_oserror *compose_text(Text *text)
if (scan.new_lines == NULL)
{
/* ... return an error message */
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
scan.line_no = 0;
......@@ -497,7 +497,7 @@ _kernel_oserror *replace_text(Text *text, int from, int ex_to, const char *s,
if (str == NULL)
{
/* return an error message */
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
if((ex_to == -1) || (to > line_end(text, text->no_of_lines - 1)))
......@@ -587,7 +587,7 @@ _kernel_oserror *replace_text(Text *text, int from, int ex_to, const char *s,
}
/* and return an error */
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
scan.line_no = scan.x_pos = 0;
......@@ -790,7 +790,7 @@ _kernel_oserror *insert_text(Text *text, char *s,
if (str == NULL)
{
/* return an error message */
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
scan.new_lines = malloc(10 * sizeof(int));
......@@ -799,7 +799,7 @@ _kernel_oserror *insert_text(Text *text, char *s,
if (scan.new_lines == NULL)
{
/* return an error message */
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
}
scan.max_line = 9;
......@@ -1074,11 +1074,11 @@ _kernel_oserror *grow_lines_by(Text *text, int by)
if((new_table = realloc(text->line_table,
new_size * sizeof(int))) == NULL)
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
if((new_xmax = realloc(text->xmax_table,
new_size * sizeof(int))) == NULL)
return (_kernel_oserror *)&e_outofmem;
return make_error(TextGadgets_IntMallocFail, 0);
text->line_table = new_table;
text->xmax_table = new_xmax;
......
......@@ -28,9 +28,12 @@
#include <string.h>
#include "kernel.h"
#include "swis.h"
#include "Global/Services.h"
#include "macros.h"
#include "rmensure.h"
#include "objmodule.h"
#include "messages.h"
#include "twimp.h"
#include "objects/gadgets.h"
......@@ -41,7 +44,6 @@
#include "TextAreaP.h"
#include "ScrollLisP.h"
#include "ScrollbarP.h"
#include "Text.h"
#ifdef MemCheck_MEMCHECK
#include "MemCheck:MemCheck.h"
......@@ -69,6 +71,12 @@ int filter_wimp_events[] =
-1
};
#ifdef ROM
static _kernel_oserror *__ROM;
#else
extern int messages_file(void);
#endif
/* convert work area coords to screen coords */
void work_to_screen(wimp_Bbox *wa, wimp_GetWindowState *state)
......@@ -137,6 +145,10 @@ _kernel_oserror *TextGadgets_init(const char *cmd_tail, int podule_base, void *p
IGNORE(podule_base);
IGNORE(pw);
#ifdef ROM
__ROM = _swix(0xa2c43, _IN(0), pw);
#endif
#ifdef MemCheck_MEMCHECK
MemCheck_InitNoDebug();
MemCheck_InterceptSCLStringFunctions();
......@@ -147,12 +159,36 @@ _kernel_oserror *TextGadgets_init(const char *cmd_tail, int podule_base, void *p
if ((e = rmensure ("Window","Toolbox.Window","1.32")) != NULL)
return e;
#ifndef ROM
/* Add the messages to ResourceFS */
if ((e = objmodule_register_resources(messages_file())) != NULL)
{
return e;
}
#endif
/* Point at, and open, the messages. Yes, that is a 10 letter truncated name */
objmodule_ensure_path("TextGadgets$Path", "Resources:$.Resources.TextGadget.");
if ((e = messages_file_open("TextGadgets:Messages")) != NULL)
goto faildereg;
register_gadgets();
if ((e = scrolllist_init()) != NULL)
return e;
goto failclose;
if ((e = textarea_init()) != NULL)
goto failclose;
return textarea_init();
return NULL;
failclose:
messages_file_close();
faildereg:
#ifndef ROM
objmodule_deregister_resources(messages_file());
#endif
return e;
}
void TextGadgets_services(int service_number, _kernel_swi_regs *r, void *pw)
......@@ -169,13 +205,16 @@ void TextGadgets_services(int service_number, _kernel_swi_regs *r, void *pw)
case Service_WindowModuleStarting:
register_gadgets();
break;
case Service_RedrawingWindow:
redrawing_window = r->r[0];
break;
// case Service_ModeChange: // If either service call, cache 'em
// case Service_WimpPalette:
// cache_tool_names();
// break;
#ifndef ROM
case Service_ResourceFSStarting:
(*(void (*)(int, void *, void *, void *))r->r[2])(messages_file(), 0, 0, (void *)r->r[3]);
break;
#endif
default:
break;
}
......@@ -192,7 +231,7 @@ _kernel_oserror *TextGadgets_final(int fatal, int podule, void *pw)
IGNORE(pw);
if(textarea_active() || scrolllist_active() || scrollbar_active())
return (_kernel_oserror *)&e_active;
return make_error(TextGadgets_TasksActive, 0);
deregister_gadget_type(0, TextArea_Type, TextGadgets_TextArea);
deregister_gadget_type(0, ScrollList_Type, TextGadgets_ScrollList);
......@@ -202,10 +241,20 @@ _kernel_oserror *TextGadgets_final(int fatal, int podule, void *pw)
scrollbar_die();
textarea_die();
/* Close the messages (and deregister if not in ROM) */
messages_file_close();
#ifndef ROM
objmodule_deregister_resources(messages_file());
#endif
#ifdef MemCheck_MEMCHECK
MemCheck_OutputBlocksInfo();
#endif
#ifdef ROM
if(!__ROM) _swix(0xa2c41, 0);
#endif
return NULL;
}
......
......@@ -23,12 +23,7 @@
#include "twimp.h"
#include "riscos_uti.h"
MessagesFD messages;
static _kernel_oserror err;
/* return contents of address, that may not be word aligned */
static char obj__name[16];
char *object_name(ObjectID id)
......@@ -46,23 +41,3 @@ int is_object(ObjectID id,char *name)
return strcmp(obj__name, name);
}
char * lookup_token(const char *tag)
{
_kernel_swi_regs regs;
regs.r[0] = (int) &messages;
regs.r[1] = (int) tag;
regs.r[2] = 0;
if (_kernel_swi(MessageTrans_Lookup,&regs,&regs)) return 0;
else return (char *) regs.r[2];
}
/* just puts up an error box - used when mallocs fail */
void warn_about_memory(void)
{
strcpy(err.errmess,lookup_token("NoMem"));
wimp_report_error(&err, 0, NULL, NULL, NULL, NULL);
}
......@@ -50,6 +50,5 @@ swi-decoding-table: TextGadgets,TextArea,TextField,ScrollList,Scrollbar,RedrawAl
; Services: 0x82881 Service_WindowModuleStarting
; 0x44EC6 Service_RedrawingWindow
; 0x46 ModeChange
; 0x5d WimpPalette
service-call-handler: TextGadgets_services 0x82881 0x44EC6 0x46 0x5d
; 0x60 Service_ResourceFSStarting
service-call-handler: TextGadgets_services 0x82881 0x44EC6 0x60
/* Copyright 1997 Acorn Computers Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _TEXT_H
#define _TEXT_H
/* The constant error strings */
extern unsigned int e_nosuchblk;
extern unsigned int e_reinitmem;
extern unsigned int e_notinit;
extern unsigned int e_outofintmem;
extern unsigned int e_outofbarmem;
extern unsigned int e_badsbar;
extern unsigned int e_badindex;
extern unsigned int e_outoflistmem;
extern unsigned int e_badslist;
extern unsigned int e_badcol;
extern unsigned int e_outofareamem;
extern unsigned int e_badarea;
extern unsigned int e_badcol;
extern unsigned int e_active;
extern unsigned int e_outofmem;
extern void text_system_write0(const char *text, int x, int y);
extern void text_system_writeN(const char *text, int x, int y,
unsigned int line_len);
#endif
......@@ -43,7 +43,5 @@ extern _kernel_oserror *redraw_gadget(int window_handle, GadgetHeader *hdr);
#ifndef Service_RedrawingWindow
#define Service_RedrawingWindow 0x44ec6
#endif
#define Service_ModeChange 0x46
#define Service_WimpPalette 0x5d
#endif
; Copyright 1997 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
; Strings that should be internationalised at some point
; History: PW: 09-Aug-1996: Created
; RPS: 28-Feb-2010: Dead code trimmed, messages entered
AREA |C$$code|, CODE, READONLY
Program_Error EQU &1B000000
TextGadgets_ErrorBase EQU (Program_Error | 0x0081A300)
^ TextGadgets_ErrorBase
TextGadgets_TasksActive # 1 ; Gadgets has tasks active
TextGadgets_DuffColour # 1 ; Invalid desktop colour
TextGadgets_AllocFailed # 1 ; Out of memory
TextGadgets_BarAllocFailed # 1 ; Out of memory for scrollbar
TextGadgets_ListAllocFailed # 1 ; Out of memory for scrolllist
TextGadgets_AreaAllocFailed # 1 ; Out of memory for textarea
TextGadgets_FontScanStrange # 1 ; Font_ScanString strange
TextGadgets_IntMallocFail # 1 ; Int err - out of memory
TextGadgets_IntNoSuchBlock # 1 ; Int err - no such block
TextGadgets_IntReinitMem # 1 ; Int err - attempt to reinit block
TextGadgets_IntNeverInit # 1 ; Int err - memory not init'd
TextGadgets_UKScrollbar # 1 ; No such scrollbar
TextGadgets_UKScrollList # 1 ; No such scrollbar
TextGadgets_UKTextArea # 1 ; No such text area
TextGadgets_BadIndex # 1 ; Bad index
MACRO
GadgetsError $number,$string
DCD $number
DCB "$string"
DCB 0
ALIGN
MEND
e_nosuchblk
EXPORT e_nosuchblk
GadgetsError TextGadgets_IntNoSuchBlock, "Block does not exist"
e_reinitmem
EXPORT e_reinitmem
GadgetsError TextGadgets_IntReinitMem, "Attempt to re-initialise memory"
e_notinit
EXPORT e_notinit
GadgetsError TextGadgets_IntNeverInit, "Memory has not been initialised"
e_outofintmem
EXPORT e_outofintmem
GadgetsError TextGadgets_IntMallocFail, "Out of memory"
e_outofbarmem
EXPORT e_outofbarmem
GadgetsError TextGadgets_BarAllocFailed, "Out of memory"
e_badsbar
EXPORT e_badsbar
GadgetsError TextGadgets_UKScrollbar, "No such scrollbar"
e_badindex
EXPORT e_badindex
GadgetsError TextGadgets_BadIndex, "Bad index"
e_outoflistmem
EXPORT e_outoflistmem
GadgetsError TextGadgets_ListAllocFailed, "Out of memory"
e_badslist
EXPORT e_badslist
GadgetsError TextGadgets_UKScrollList, "No such scrolling list"
e_badcol
EXPORT e_badcol
GadgetsError TextGadgets_DuffColour, "Invalid desktop colour"
e_outofareamem
EXPORT e_outofareamem
GadgetsError TextGadgets_AreaAllocFailed, "Out of memory"
e_badarea
EXPORT e_badarea
GadgetsError TextGadgets_UKTextArea, "No such text area"
e_active
EXPORT e_active
GadgetsError TextGadgets_TasksActive , "Gadget tasks active"
e_outofmem
EXPORT e_outofmem
GadgetsError TextGadgets_AllocFailed, "Out of memory"
END
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment