mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00
Issue #30: Add onClick, accesskey, and tabindex tags to Image Map plug-in
This commit is contained in:
parent
b53f7c10e4
commit
531da1560d
9 changed files with 379 additions and 201 deletions
|
@ -105,6 +105,12 @@ ONFOCUS return ONFOCUS;
|
|||
|
||||
ONBLUR return ONBLUR;
|
||||
|
||||
ONCLICK return ONCLICK;
|
||||
|
||||
ACCESSKEY return ACCESSKEY;
|
||||
|
||||
TABINDEX return TABINDEX;
|
||||
|
||||
ALT return ALT;
|
||||
|
||||
HREF return HREF;
|
||||
|
|
|
@ -54,8 +54,8 @@ static MapInfo_t *_map_info;
|
|||
|
||||
%token<val> IMG SRC WIDTH HEIGHT BORDER USEMAP
|
||||
%token<val> START_MAP END_MAP NAME AREA SHAPE COORDS ALT HREF NOHREF
|
||||
%token<val> TARGET ONMOUSEOVER ONMOUSEOUT ONFOCUS ONBLUR
|
||||
%token<val> AUTHOR DESCRIPTION BEGIN_COMMENT END_COMMENT
|
||||
%token<val> TARGET ONMOUSEOVER ONMOUSEOUT ONFOCUS ONBLUR ONCLICK
|
||||
%token<val> ACCESSKEY TABINDEX AUTHOR DESCRIPTION BEGIN_COMMENT END_COMMENT
|
||||
%token<value> FLOAT
|
||||
%token<id> STRING
|
||||
|
||||
|
@ -176,6 +176,9 @@ tag : shape_tag
|
|||
| onmouseout_tag
|
||||
| onfocus_tag
|
||||
| onblur_tag
|
||||
| onclick_tag
|
||||
| accesskey_tag
|
||||
| tabindex_tag
|
||||
;
|
||||
|
||||
shape_tag : SHAPE '=' STRING
|
||||
|
@ -321,6 +324,27 @@ onblur_tag : ONBLUR '=' STRING
|
|||
}
|
||||
;
|
||||
|
||||
onclick_tag : ONCLICK '=' STRING
|
||||
{
|
||||
object_set_click(current_object, unescape_text($3));
|
||||
g_free ($3);
|
||||
}
|
||||
;
|
||||
|
||||
accesskey_tag : ACCESSKEY '=' STRING
|
||||
{
|
||||
object_set_accesskey(current_object, unescape_text($3));
|
||||
g_free ($3);
|
||||
}
|
||||
;
|
||||
|
||||
tabindex_tag : TABINDEX '=' STRING
|
||||
{
|
||||
object_set_tabindex(current_object, unescape_text($3));
|
||||
g_free ($3);
|
||||
}
|
||||
;
|
||||
|
||||
end_map : '<' END_MAP '>'
|
||||
;
|
||||
|
||||
|
|
|
@ -382,8 +382,8 @@ static void yy_fatal_error (yyconst char msg[] );
|
|||
*yy_cp = '\0'; \
|
||||
(yy_c_buf_p) = yy_cp;
|
||||
|
||||
#define YY_NUM_RULES 32
|
||||
#define YY_END_OF_BUFFER 33
|
||||
#define YY_NUM_RULES 35
|
||||
#define YY_END_OF_BUFFER 36
|
||||
/* This struct is not used in this scanner,
|
||||
but its presence is necessary. */
|
||||
struct yy_trans_info
|
||||
|
@ -1036,63 +1036,78 @@ return ONBLUR;
|
|||
case 23:
|
||||
YY_RULE_SETUP
|
||||
#line 108 "imap_csim.l"
|
||||
return ALT;
|
||||
return ONCLICK;
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
#line 110 "imap_csim.l"
|
||||
return HREF;
|
||||
return ACCESSKEY;
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
#line 112 "imap_csim.l"
|
||||
return NOHREF;
|
||||
return TABINDEX;
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
#line 114 "imap_csim.l"
|
||||
return ALT;
|
||||
YY_BREAK
|
||||
case 27:
|
||||
YY_RULE_SETUP
|
||||
#line 116 "imap_csim.l"
|
||||
return HREF;
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
#line 118 "imap_csim.l"
|
||||
return NOHREF;
|
||||
YY_BREAK
|
||||
case 29:
|
||||
YY_RULE_SETUP
|
||||
#line 120 "imap_csim.l"
|
||||
{
|
||||
BEGIN(quoted_string);
|
||||
}
|
||||
YY_BREAK
|
||||
case 27:
|
||||
case 30:
|
||||
YY_RULE_SETUP
|
||||
#line 118 "imap_csim.l"
|
||||
#line 124 "imap_csim.l"
|
||||
{
|
||||
BEGIN(INITIAL);
|
||||
return STRING;
|
||||
}
|
||||
YY_BREAK
|
||||
case 28:
|
||||
case 31:
|
||||
/* rule 28 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 123 "imap_csim.l"
|
||||
#line 129 "imap_csim.l"
|
||||
{
|
||||
csim_lval.id = g_strndup (csim_text, csim_leng);
|
||||
}
|
||||
YY_BREAK
|
||||
case 29:
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
#line 127 "imap_csim.l"
|
||||
#line 133 "imap_csim.l"
|
||||
{
|
||||
csim_lval.value = g_ascii_strtod (csim_text, NULL);
|
||||
return FLOAT;
|
||||
}
|
||||
YY_BREAK
|
||||
case 30:
|
||||
/* rule 30 can match eol */
|
||||
case 33:
|
||||
/* rule 33 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 132 "imap_csim.l"
|
||||
#line 138 "imap_csim.l"
|
||||
; /* Eat white space */
|
||||
YY_BREAK
|
||||
case 31:
|
||||
case 34:
|
||||
YY_RULE_SETUP
|
||||
#line 134 "imap_csim.l"
|
||||
#line 140 "imap_csim.l"
|
||||
return *csim_text;
|
||||
YY_BREAK
|
||||
case 32:
|
||||
case 35:
|
||||
YY_RULE_SETUP
|
||||
#line 136 "imap_csim.l"
|
||||
#line 142 "imap_csim.l"
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
#line 1099 "<stdout>"
|
||||
|
|
|
@ -175,12 +175,15 @@ extern int csim_debug;
|
|||
ONMOUSEOUT = 275,
|
||||
ONFOCUS = 276,
|
||||
ONBLUR = 277,
|
||||
AUTHOR = 278,
|
||||
DESCRIPTION = 279,
|
||||
BEGIN_COMMENT = 280,
|
||||
END_COMMENT = 281,
|
||||
FLOAT = 282,
|
||||
STRING = 283
|
||||
ONCLICK = 278,
|
||||
ACCESSKEY = 279,
|
||||
TABINDEX = 280,
|
||||
AUTHOR = 281,
|
||||
DESCRIPTION = 282,
|
||||
BEGIN_COMMENT = 283,
|
||||
END_COMMENT = 284,
|
||||
FLOAT = 285,
|
||||
STRING = 286
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
|
@ -204,12 +207,15 @@ extern int csim_debug;
|
|||
#define ONMOUSEOUT 275
|
||||
#define ONFOCUS 276
|
||||
#define ONBLUR 277
|
||||
#define AUTHOR 278
|
||||
#define DESCRIPTION 279
|
||||
#define BEGIN_COMMENT 280
|
||||
#define END_COMMENT 281
|
||||
#define FLOAT 282
|
||||
#define STRING 283
|
||||
#define ONCLICK 278
|
||||
#define ACCESSKEY 279
|
||||
#define TABINDEX 280
|
||||
#define AUTHOR 281
|
||||
#define DESCRIPTION 282
|
||||
#define BEGIN_COMMENT 283
|
||||
#define END_COMMENT 284
|
||||
#define FLOAT 285
|
||||
#define STRING 286
|
||||
|
||||
|
||||
|
||||
|
@ -580,15 +586,16 @@ static const char *const yytname[] =
|
|||
"$end", "error", "$undefined", "IMG", "SRC", "WIDTH", "HEIGHT",
|
||||
"BORDER", "USEMAP", "START_MAP", "END_MAP", "NAME", "AREA", "SHAPE",
|
||||
"COORDS", "ALT", "HREF", "NOHREF", "TARGET", "ONMOUSEOVER", "ONMOUSEOUT",
|
||||
"ONFOCUS", "ONBLUR", "AUTHOR", "DESCRIPTION", "BEGIN_COMMENT",
|
||||
"END_COMMENT", "FLOAT", "STRING", "'<'", "'='", "'>'", "'/'", "$accept",
|
||||
"csim_file", "image", "image_tags", "image_tag", "image_width",
|
||||
"image_height", "integer_value", "start_map", "comment_lines",
|
||||
"comment_line", "real_comment", "author_line", "description_line",
|
||||
"ONFOCUS", "ONBLUR", "ONCLICK", "ACCESSKEY", "TABINDEX", "AUTHOR",
|
||||
"DESCRIPTION", "BEGIN_COMMENT", "END_COMMENT", "FLOAT", "STRING",
|
||||
"'<'", "'='", "'>'", "'/'", "$accept", "csim_file", "image", "image_tags",
|
||||
"image_tag", "image_width", "image_height", "integer_value", "start_map",
|
||||
"comment_lines", "comment_line", "real_comment", "author_line", "description_line",
|
||||
"area_list", "area", "xhtml_close", "tag_list", "tag", "shape_tag",
|
||||
"coords_tag", "href_tag", "nohref_tag", "optional_value", "alt_tag",
|
||||
"target_tag", "onmouseover_tag", "onmouseout_tag", "onfocus_tag",
|
||||
"onblur_tag", "end_map", YY_NULL
|
||||
"onblur_tag", "onclick_tag", "accesskey_tag", "tabindex_tag", "end_map",
|
||||
YY_NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -599,8 +606,8 @@ static const yytype_uint16 yytoknum[] =
|
|||
{
|
||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
||||
275, 276, 277, 278, 279, 280, 281, 282, 283, 60,
|
||||
61, 62, 47
|
||||
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
|
||||
285, 286, 60, 61, 62, 47
|
||||
};
|
||||
# endif
|
||||
|
||||
|
@ -1824,6 +1831,30 @@ yyreduce:
|
|||
g_free ((yyvsp[(3) - (3)].id));
|
||||
}
|
||||
break;
|
||||
case 53:
|
||||
/* Line 1787 of yacc.c */
|
||||
#line 325 "imap_csim.y"
|
||||
{
|
||||
object_set_click(current_object, unescape_text((yyvsp[(3) - (3)].id)));
|
||||
g_free ((yyvsp[(3) - (3)].id));
|
||||
}
|
||||
break;
|
||||
case 54:
|
||||
/* Line 1787 of yacc.c */
|
||||
#line 332 "imap_csim.y"
|
||||
{
|
||||
object_set_accesskey(current_object, unescape_text((yyvsp[(3) - (3)].id)));
|
||||
g_free ((yyvsp[(3) - (3)].id));
|
||||
}
|
||||
break;
|
||||
case 55:
|
||||
/* Line 1787 of yacc.c */
|
||||
#line 339 "imap_csim.y"
|
||||
{
|
||||
object_set_tabindex(current_object, unescape_text((yyvsp[(3) - (3)].id)));
|
||||
g_free ((yyvsp[(3) - (3)].id));
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
/* Line 1787 of yacc.c */
|
||||
|
|
|
@ -66,12 +66,15 @@ extern int csim_debug;
|
|||
ONMOUSEOUT = 275,
|
||||
ONFOCUS = 276,
|
||||
ONBLUR = 277,
|
||||
AUTHOR = 278,
|
||||
DESCRIPTION = 279,
|
||||
BEGIN_COMMENT = 280,
|
||||
END_COMMENT = 281,
|
||||
FLOAT = 282,
|
||||
STRING = 283
|
||||
ONCLICK = 278,
|
||||
ACCESSKEY = 279,
|
||||
TABINDEX = 280,
|
||||
AUTHOR = 281,
|
||||
DESCRIPTION = 282,
|
||||
BEGIN_COMMENT = 283,
|
||||
END_COMMENT = 284,
|
||||
FLOAT = 285,
|
||||
STRING = 286
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
|
@ -95,12 +98,15 @@ extern int csim_debug;
|
|||
#define ONMOUSEOUT 275
|
||||
#define ONFOCUS 276
|
||||
#define ONBLUR 277
|
||||
#define AUTHOR 278
|
||||
#define DESCRIPTION 279
|
||||
#define BEGIN_COMMENT 280
|
||||
#define END_COMMENT 281
|
||||
#define FLOAT 282
|
||||
#define STRING 283
|
||||
#define ONCLICK 278
|
||||
#define ACCESSKEY 279
|
||||
#define TABINDEX 280
|
||||
#define AUTHOR 281
|
||||
#define DESCRIPTION 282
|
||||
#define BEGIN_COMMENT 283
|
||||
#define END_COMMENT 284
|
||||
#define FLOAT 285
|
||||
#define STRING 286
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -201,11 +201,14 @@ append_page (GtkWidget *notebook, GtkWidget *page, const gchar *icon_name,
|
|||
}
|
||||
|
||||
static void
|
||||
create_link_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
||||
create_link_tab (AreaInfoDialog_t *dialog,
|
||||
GtkWidget *notebook)
|
||||
{
|
||||
BrowseWidget_t *browse;
|
||||
GtkWidget *grid, *label;
|
||||
GtkWidget *subgrid, *frame;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *label;
|
||||
GtkWidget *subgrid;
|
||||
GtkWidget *frame;
|
||||
GSList *group;
|
||||
|
||||
grid = gtk_grid_new ();
|
||||
|
@ -228,7 +231,7 @@ create_link_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
|||
group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(dialog->web_site));
|
||||
|
||||
dialog->ftp_site = create_radio_button_in_grid (subgrid, group, 0, 1,
|
||||
_("_Ftp Site"));
|
||||
_("_FTP Site"));
|
||||
g_signal_connect(dialog->ftp_site, "toggled",
|
||||
G_CALLBACK (select_ftp_cb), (gpointer) dialog);
|
||||
group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(dialog->ftp_site));
|
||||
|
@ -293,6 +296,12 @@ create_link_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
|||
label = create_label_in_grid (grid, 9, 0, _("ALT te_xt: (optional)"));
|
||||
dialog->comment = create_entry_in_grid (grid, label, 10, 0);
|
||||
|
||||
label = create_label_in_grid (grid, 12, 0, _("Access _Key: (optional)"));
|
||||
dialog->accesskey = create_entry_in_grid (grid, label, 13, 0);
|
||||
|
||||
label = create_label_in_grid (grid, 15, 0, _("Ta_b Index: (optional)"));
|
||||
dialog->tabindex = create_entry_in_grid (grid, label, 16, 0);
|
||||
|
||||
append_page (notebook, grid, GIMP_ICON_WEB, _("_Link"));
|
||||
}
|
||||
|
||||
|
@ -344,7 +353,8 @@ create_info_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
|||
}
|
||||
|
||||
static void
|
||||
create_java_script_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
||||
create_java_script_tab (AreaInfoDialog_t *dialog,
|
||||
GtkWidget *notebook)
|
||||
{
|
||||
GtkWidget *vbox, *grid, *label;
|
||||
|
||||
|
@ -369,6 +379,9 @@ create_java_script_tab(AreaInfoDialog_t *dialog, GtkWidget *notebook)
|
|||
label = create_label_in_grid (grid, 9, 0, "on_Blur (HTML 4.0):");
|
||||
dialog->blur = create_entry_in_grid (grid, label, 10, 0);
|
||||
|
||||
label = create_label_in_grid (grid, 12, 0, "onC_lick:");
|
||||
dialog->click = create_entry_in_grid (grid, label, 13, 0);
|
||||
|
||||
append_page (notebook, vbox, IMAP_JAVA, _("_JavaScript"));
|
||||
}
|
||||
|
||||
|
@ -396,11 +409,17 @@ edit_area_apply_cb(gpointer data)
|
|||
object_set_url (obj, gtk_entry_get_text (GTK_ENTRY(param->url)));
|
||||
object_set_target (obj, gtk_entry_get_text (GTK_ENTRY(param->target)));
|
||||
object_set_comment (obj, gtk_entry_get_text (GTK_ENTRY(param->comment)));
|
||||
object_set_accesskey (obj, gtk_entry_get_text (GTK_ENTRY(param->accesskey)));
|
||||
object_set_tabindex (obj, gtk_entry_get_text (GTK_ENTRY(param->tabindex)));
|
||||
|
||||
object_set_mouse_over (obj,
|
||||
gtk_entry_get_text (GTK_ENTRY (param->mouse_over)));
|
||||
object_set_mouse_out(obj, gtk_entry_get_text(GTK_ENTRY(param->mouse_out)));
|
||||
object_set_mouse_out (obj,
|
||||
gtk_entry_get_text (GTK_ENTRY (param->mouse_out)));
|
||||
object_set_focus (obj, gtk_entry_get_text (GTK_ENTRY (param->focus)));
|
||||
object_set_blur (obj, gtk_entry_get_text (GTK_ENTRY (param->blur)));
|
||||
object_set_click (obj, gtk_entry_get_text (GTK_ENTRY (param->click)));
|
||||
|
||||
object_update (obj, param->infotab);
|
||||
update_shape (obj);
|
||||
|
||||
|
@ -501,10 +520,14 @@ edit_area_info_dialog_show(AreaInfoDialog_t *dialog, Object_t *obj,
|
|||
gtk_entry_set_text (GTK_ENTRY (dialog->url), obj->url);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->target), obj->target);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->comment), obj->comment);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->accesskey), obj->accesskey);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->tabindex), obj->tabindex);
|
||||
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->mouse_over), obj->mouse_over);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->mouse_out), obj->mouse_out);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->focus), obj->focus);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->blur), obj->blur);
|
||||
gtk_entry_set_text (GTK_ENTRY (dialog->click), obj->click);
|
||||
gtk_widget_grab_focus (dialog->url);
|
||||
|
||||
dialog->geometry_cb_id =
|
||||
|
|
|
@ -53,6 +53,9 @@ struct AreaInfoDialog_t {
|
|||
GtkWidget *mouse_out;
|
||||
GtkWidget *focus;
|
||||
GtkWidget *blur;
|
||||
GtkWidget *click;
|
||||
GtkWidget *accesskey;
|
||||
GtkWidget *tabindex;
|
||||
GtkWidget *browse;
|
||||
gpointer infotab;
|
||||
gpointer geometry_cb_id;
|
||||
|
|
|
@ -170,10 +170,14 @@ object_init(Object_t *obj, ObjectClass_t *class)
|
|||
obj->url = g_strdup ("");
|
||||
obj->target = g_strdup ("");
|
||||
obj->comment = g_strdup ("");
|
||||
obj->accesskey = g_strdup ("");
|
||||
obj->tabindex = g_strdup ("");
|
||||
obj->mouse_over = g_strdup ("");
|
||||
obj->mouse_out = g_strdup ("");
|
||||
obj->focus = g_strdup ("");
|
||||
obj->blur = g_strdup ("");
|
||||
obj->click = g_strdup ("");
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
@ -182,13 +186,17 @@ object_destruct(Object_t *obj)
|
|||
{
|
||||
if (obj->class->destruct)
|
||||
obj->class->destruct(obj);
|
||||
|
||||
g_free (obj->url);
|
||||
g_free (obj->target);
|
||||
g_free (obj->comment);
|
||||
g_free (obj->accesskey);
|
||||
g_free (obj->tabindex);
|
||||
g_free (obj->mouse_over);
|
||||
g_free (obj->mouse_out);
|
||||
g_free (obj->focus);
|
||||
g_free (obj->blur);
|
||||
g_free (obj->click);
|
||||
g_free (obj);
|
||||
}
|
||||
|
||||
|
@ -210,6 +218,7 @@ Object_t*
|
|||
object_clone (Object_t *obj)
|
||||
{
|
||||
Object_t *clone = obj->class->clone (obj);
|
||||
|
||||
clone->class = obj->class;
|
||||
clone->refcount = 1;
|
||||
clone->selected = obj->selected;
|
||||
|
@ -217,10 +226,14 @@ object_clone(Object_t *obj)
|
|||
clone->url = g_strdup (obj->url);
|
||||
clone->target = g_strdup (obj->target);
|
||||
clone->comment = g_strdup (obj->comment);
|
||||
clone->accesskey = g_strdup (obj->accesskey);
|
||||
clone->tabindex = g_strdup (obj->tabindex);
|
||||
clone->mouse_over = g_strdup (obj->mouse_over);
|
||||
clone->mouse_out = g_strdup (obj->mouse_out);
|
||||
clone->focus = g_strdup (obj->focus);
|
||||
clone->blur = g_strdup (obj->blur);
|
||||
clone->click = g_strdup (obj->click);
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
|
@ -230,13 +243,18 @@ object_copy(Object_t *src, Object_t *des)
|
|||
des->class = src->class;
|
||||
des->selected = src->selected;
|
||||
des->locked = FALSE;
|
||||
|
||||
g_strreplace (&des->url, src->url);
|
||||
g_strreplace (&des->target, src->target);
|
||||
g_strreplace (&des->comment, src->comment);
|
||||
g_strreplace (&des->accesskey, src->accesskey);
|
||||
g_strreplace (&des->tabindex, src->tabindex);
|
||||
g_strreplace (&des->mouse_over, src->mouse_over);
|
||||
g_strreplace (&des->mouse_out, src->mouse_out);
|
||||
g_strreplace (&des->focus, src->focus);
|
||||
g_strreplace (&des->blur, src->blur);
|
||||
g_strreplace (&des->click, src->click);
|
||||
|
||||
return des;
|
||||
}
|
||||
|
||||
|
@ -372,6 +390,20 @@ object_set_comment(Object_t *obj, const gchar *comment)
|
|||
g_strreplace (&obj->comment, comment);
|
||||
}
|
||||
|
||||
void
|
||||
object_set_accesskey (Object_t *obj,
|
||||
const gchar *accesskey)
|
||||
{
|
||||
g_strreplace (&obj->accesskey, accesskey);
|
||||
}
|
||||
|
||||
void
|
||||
object_set_tabindex (Object_t *obj,
|
||||
const gchar *tabindex)
|
||||
{
|
||||
g_strreplace (&obj->tabindex, tabindex);
|
||||
}
|
||||
|
||||
void
|
||||
object_set_mouse_over(Object_t *obj, const gchar *mouse_over)
|
||||
{
|
||||
|
@ -391,11 +423,19 @@ object_set_focus(Object_t *obj, const gchar *focus)
|
|||
}
|
||||
|
||||
void
|
||||
object_set_blur(Object_t *obj, const gchar *blur)
|
||||
object_set_blur (Object_t *obj,
|
||||
const gchar *blur)
|
||||
{
|
||||
g_strreplace (&obj->blur, blur);
|
||||
}
|
||||
|
||||
void
|
||||
object_set_click (Object_t *obj,
|
||||
const gchar *click)
|
||||
{
|
||||
g_strreplace (&obj->click, click);
|
||||
}
|
||||
|
||||
gint
|
||||
object_get_position_in_list(Object_t *obj)
|
||||
{
|
||||
|
@ -994,10 +1034,13 @@ write_xml_attrib(const gchar *attrib, const gchar *value,
|
|||
}
|
||||
|
||||
void
|
||||
object_list_write_csim(ObjectList_t *list, gpointer param, OutputFunc_t output)
|
||||
object_list_write_csim (ObjectList_t *list,
|
||||
gpointer param,
|
||||
OutputFunc_t output)
|
||||
{
|
||||
GList *p;
|
||||
for (p = list->list; p; p = p->next) {
|
||||
for (p = list->list; p; p = p->next)
|
||||
{
|
||||
Object_t *obj = (Object_t*) p->data;
|
||||
|
||||
output (param, "<area shape=");
|
||||
|
@ -1005,10 +1048,14 @@ object_list_write_csim(ObjectList_t *list, gpointer param, OutputFunc_t output)
|
|||
|
||||
write_xml_attrib ("alt", obj->comment, "", param, output);
|
||||
write_xml_attrib ("target", obj->target, "", param, output);
|
||||
write_xml_attrib ("accesskey", obj->accesskey, "", param, output);
|
||||
write_xml_attrib ("tabindex", obj->tabindex, "", param, output);
|
||||
|
||||
write_xml_attrib ("onmouseover", obj->mouse_over, "", param, output);
|
||||
write_xml_attrib ("onmouseout", obj->mouse_out, "", param, output);
|
||||
write_xml_attrib ("onfocus", obj->focus, "", param, output);
|
||||
write_xml_attrib ("onblur", obj->blur, "", param, output);
|
||||
write_xml_attrib ("onclick", obj->click, "", param, output);
|
||||
write_xml_attrib ("href", obj->url, " nohref=\"nohref\"", param, output);
|
||||
output (param," />\n");
|
||||
}
|
||||
|
|
|
@ -38,11 +38,14 @@ struct Object_t {
|
|||
gboolean locked;
|
||||
gchar *url;
|
||||
gchar *target;
|
||||
gchar *accesskey;
|
||||
gchar *tabindex;
|
||||
gchar *comment;
|
||||
gchar *mouse_over;
|
||||
gchar *mouse_out;
|
||||
gchar *focus;
|
||||
gchar *blur;
|
||||
gchar *click;
|
||||
};
|
||||
|
||||
typedef void (*MoveSashFunc_t)(Object_t*, gint, gint);
|
||||
|
@ -87,22 +90,42 @@ void object_unref(Object_t *obj);
|
|||
Object_t* object_init(Object_t *obj, ObjectClass_t *class);
|
||||
Object_t* object_clone(Object_t *obj);
|
||||
Object_t* object_assign(Object_t *src, Object_t *des);
|
||||
void object_draw(Object_t *obj, cairo_t *cr);
|
||||
void object_edit(Object_t *obj, gboolean add);
|
||||
|
||||
void object_draw (Object_t *obj,
|
||||
cairo_t *cr);
|
||||
void object_edit (Object_t *obj,
|
||||
gboolean add);
|
||||
void object_select (Object_t *obj);
|
||||
void object_unselect (Object_t *obj);
|
||||
void object_move(Object_t *obj, gint dx, gint dy);
|
||||
void object_move_sash(Object_t *obj, gint dx, gint dy);
|
||||
void object_move (Object_t *obj,
|
||||
gint dx,
|
||||
gint dy);
|
||||
void object_move_sash (Object_t *obj,
|
||||
gint dx,
|
||||
gint dy);
|
||||
void object_remove (Object_t *obj);
|
||||
void object_lock (Object_t *obj);
|
||||
void object_unlock (Object_t *obj);
|
||||
void object_set_url(Object_t *obj, const gchar *url);
|
||||
void object_set_target(Object_t *obj, const gchar *target);
|
||||
void object_set_comment(Object_t *obj, const gchar *comment);
|
||||
void object_set_mouse_over(Object_t *obj, const gchar *mouse_over);
|
||||
void object_set_mouse_out(Object_t *obj, const gchar *mouse_out);
|
||||
void object_set_focus(Object_t *obj, const gchar *focus);
|
||||
void object_set_blur(Object_t *obj, const gchar *blur);
|
||||
void object_set_url (Object_t *obj,
|
||||
const gchar *url);
|
||||
void object_set_target (Object_t *obj,
|
||||
const gchar *target);
|
||||
void object_set_comment (Object_t *obj,
|
||||
const gchar *comment);
|
||||
void object_set_accesskey (Object_t *obj,
|
||||
const gchar *accesskey);
|
||||
void object_set_tabindex (Object_t *obj,
|
||||
const gchar *tabindex);
|
||||
void object_set_mouse_over (Object_t *obj,
|
||||
const gchar *mouse_over);
|
||||
void object_set_mouse_out (Object_t *obj,
|
||||
const gchar *mouse_out);
|
||||
void object_set_focus (Object_t *obj,
|
||||
const gchar *focus);
|
||||
void object_set_blur (Object_t *obj,
|
||||
const gchar *blur);
|
||||
void object_set_click (Object_t *obj,
|
||||
const gchar *click);
|
||||
gint object_get_position_in_list (Object_t *obj);
|
||||
|
||||
void object_emit_changed_signal(Object_t *obj);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue