diff options
author | Ole Loots <ole@monochrom.net> | 2013-01-17 01:18:27 +0100 |
---|---|---|
committer | Ole Loots <ole@monochrom.net> | 2013-01-17 01:18:27 +0100 |
commit | 13f22099ce9877a90caf376d626771beea7395c3 (patch) | |
tree | fdd46cc87641f235f33dd003a2acbefc751e6428 /atari/gemtk | |
parent | 4f0ae4e12868ddf26e7018e0a3dec4badaa1b1b6 (diff) | |
download | netsurf-13f22099ce9877a90caf376d626771beea7395c3.tar.gz netsurf-13f22099ce9877a90caf376d626771beea7395c3.tar.bz2 |
Search is functional.
Diffstat (limited to 'atari/gemtk')
-rw-r--r-- | atari/gemtk/gemtk.h | 1 | ||||
-rw-r--r-- | atari/gemtk/guiwin.c | 4 | ||||
-rw-r--r-- | atari/gemtk/objc.c | 42 |
3 files changed, 46 insertions, 1 deletions
diff --git a/atari/gemtk/gemtk.h b/atari/gemtk/gemtk.h index 8361a1488..e31fc8ea1 100644 --- a/atari/gemtk/gemtk.h +++ b/atari/gemtk/gemtk.h @@ -243,6 +243,7 @@ void guiwin_clear(GUIWIN *win); /* -------------------------------------------------------------------------- */ /* AES OBJECT TREE TOOLS */ /* -------------------------------------------------------------------------- */ +char gemtk_obj_set_str_safe(OBJECT * tree, short idx, char *txt); char *get_text(OBJECT * tree, short idx); GRECT * obj_screen_rect(OBJECT * tree, short obj); bool obj_is_inside(OBJECT * tree, short obj, GRECT *area); diff --git a/atari/gemtk/guiwin.c b/atari/gemtk/guiwin.c index 93bc1bfdd..9f756a6be 100644 --- a/atari/gemtk/guiwin.c +++ b/atari/gemtk/guiwin.c @@ -356,7 +356,7 @@ static short preproc_mu_button(GUIWIN * gw, EVMULT_OUT *ev_out, short msg[8]) uint16_t type = (gw->toolbar[obj_idx].ob_type & 0xFF); uint16_t nextobj; - DEBUG_PRINT(("type: %d\n", type)); + DEBUG_PRINT(("toolbar item type: %d\n", type)); // report mouse click to the tree: retval = form_wbutton(gw->toolbar, gw->toolbar_focus_obj, ev_out->emo_mclicks, &nextobj, @@ -383,6 +383,8 @@ static short preproc_mu_button(GUIWIN * gw, EVMULT_OUT *ev_out, short msg[8]) ev_out->emo_events = oldevents; retval = 1; } else { + printf("not within"); + dbg_grect("tb", &tb_area); if (gw->toolbar_edit_obj != -1) { gw->toolbar_edit_obj = -1; } diff --git a/atari/gemtk/objc.c b/atari/gemtk/objc.c index 3bf8ebbe0..3221fdae6 100644 --- a/atari/gemtk/objc.c +++ b/atari/gemtk/objc.c @@ -21,6 +21,7 @@ *
*/ +#include <assert.h> #include "gemtk.h"
char *get_text(OBJECT * tree, short idx) @@ -49,6 +50,47 @@ char *get_text(OBJECT * tree, short idx) return (p); } +static void set_text(OBJECT *obj, short idx, char * text, int len)
+{
+ char spare[255];
+
+ if( len > 254 )
+ len = 254;
+ if( text != NULL ){
+ strncpy(spare, text, 254);
+ } else {
+ strcpy(spare, "");
+ } +
+ set_string(obj, idx, spare);
+} + +char gemtk_obj_set_str_safe(OBJECT * tree, short idx, char *txt) +{ + char spare[204]; + short type = 0; + short maxlen = 0; + TEDINFO *ted; + + + type = (tree[idx].ob_type & 0xFF); + if (type == G_FTEXT || type == G_FBOXTEXT) { + TEDINFO *ted = ((TEDINFO *)get_obspec(tree, idx)); + maxlen = ted->te_txtlen+1; + if (maxlen > 200) { + maxlen = 200; + } + else if (maxlen < 0) { + maxlen = 0; + } + } else { + assert((type == G_FTEXT) || (type == G_FBOXTEXT)); + } + + snprintf(spare, maxlen, "%s", txt); + set_string(tree, idx, spare); +} + OBJECT *get_tree(int idx) {
|