mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
* rcparse.y (control): ICON controls take an id as the first
parameter, not an optional string. Also, call new convenience function that takes res_id's. * resrc.c (define_control): missing text means zero-length string, not zero ID. (define_icon_control): New. * windres.h: declare define_icon_control.
This commit is contained in:
parent
98ecb0a78b
commit
2104a50e3e
@ -1,3 +1,13 @@
|
||||
2000-06-13 DJ Delorie <dj@cygnus.com>
|
||||
|
||||
* rcparse.y (control): ICON controls take an id as the first
|
||||
parameter, not an optional string. Also, call new convenience
|
||||
function that takes res_id's.
|
||||
* resrc.c (define_control): missing text means zero-length string,
|
||||
not zero ID.
|
||||
(define_icon_control): New.
|
||||
* windres.h: declare define_icon_control.
|
||||
|
||||
2000-06-13 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
@ -636,39 +636,29 @@ control:
|
||||
rcparse_warning (_("IEDIT requires DIALOGEX"));
|
||||
res_string_to_id (&$$->class, "HEDIT");
|
||||
}
|
||||
| ICON optstringc numexpr cnumexpr cnumexpr opt_control_data
|
||||
{
|
||||
$$ = define_control ($2, $3, $4, $5, 0, 0, CTL_STATIC,
|
||||
SS_ICON | WS_CHILD | WS_VISIBLE, 0);
|
||||
if ($6 != NULL)
|
||||
{
|
||||
if (dialog.ex == NULL)
|
||||
rcparse_warning (_("control data requires DIALOGEX"));
|
||||
$$->data = $6;
|
||||
}
|
||||
}
|
||||
| ICON optstringc numexpr cnumexpr cnumexpr cnumexpr cnumexpr
|
||||
| ICON id cnumexpr cnumexpr cnumexpr opt_control_data
|
||||
{
|
||||
$$ = define_icon_control ($2, $3, $4, $5, 0, 0, 0, $6,
|
||||
dialog.ex);
|
||||
}
|
||||
| ICON id cnumexpr cnumexpr cnumexpr cnumexpr cnumexpr
|
||||
opt_control_data
|
||||
{
|
||||
$$ = define_icon_control ($2, $3, $4, $5, 0, 0, 0, $8,
|
||||
dialog.ex);
|
||||
}
|
||||
| ICON id cnumexpr cnumexpr cnumexpr cnumexpr cnumexpr
|
||||
icon_styleexpr optcnumexpr opt_control_data
|
||||
{
|
||||
$$ = define_control ($2, $3, $4, $5, $6, $7, CTL_STATIC,
|
||||
style, $9);
|
||||
if ($10 != NULL)
|
||||
{
|
||||
if (dialog.ex == NULL)
|
||||
rcparse_warning (_("control data requires DIALOGEX"));
|
||||
$$->data = $10;
|
||||
}
|
||||
}
|
||||
| ICON optstringc numexpr cnumexpr cnumexpr cnumexpr cnumexpr
|
||||
{
|
||||
$$ = define_icon_control ($2, $3, $4, $5, style, $9, 0, $10,
|
||||
dialog.ex);
|
||||
}
|
||||
| ICON id numexpr cnumexpr cnumexpr cnumexpr cnumexpr
|
||||
icon_styleexpr cnumexpr cnumexpr opt_control_data
|
||||
{
|
||||
$$ = define_control ($2, $3, $4, $5, $6, $7, CTL_STATIC,
|
||||
style, $9);
|
||||
if (dialog.ex == NULL)
|
||||
rcparse_warning (_("help ID requires DIALOGEX"));
|
||||
$$->help = $10;
|
||||
$$->data = $11;
|
||||
}
|
||||
{
|
||||
$$ = define_icon_control ($2, $3, $4, $5, style, $9, $10, $11,
|
||||
dialog.ex);
|
||||
}
|
||||
| IEDIT
|
||||
{
|
||||
default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
|
||||
|
@ -847,19 +847,42 @@ define_control (text, id, x, y, width, height, class, style, exstyle)
|
||||
n->height = height;
|
||||
n->class.named = 0;
|
||||
n->class.u.id = class;
|
||||
if (text != NULL)
|
||||
res_string_to_id (&n->text, text);
|
||||
else
|
||||
{
|
||||
n->text.named = 0;
|
||||
n->text.u.id = 0;
|
||||
}
|
||||
if (text == NULL)
|
||||
text = "";
|
||||
res_string_to_id (&n->text, text);
|
||||
n->data = NULL;
|
||||
n->help = 0;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
struct dialog_control *
|
||||
define_icon_control (iid, id, x, y, style, exstyle, help, data, ex)
|
||||
struct res_id iid;
|
||||
unsigned long id;
|
||||
unsigned long x;
|
||||
unsigned long y;
|
||||
unsigned long style;
|
||||
unsigned long exstyle;
|
||||
unsigned long help;
|
||||
struct rcdata_item *data;
|
||||
struct dialog_ex *ex;
|
||||
{
|
||||
struct dialog_control *n;
|
||||
if (style == 0)
|
||||
style = SS_ICON | WS_CHILD | WS_VISIBLE;
|
||||
n = define_control (0, id, x, y, 0, 0, CTL_STATIC, style, exstyle);
|
||||
n->text = iid;
|
||||
if (help && !ex)
|
||||
rcparse_warning (_("help ID requires DIALOGEX"));
|
||||
if (data && !ex)
|
||||
rcparse_warning (_("control data requires DIALOGEX"));
|
||||
n->help = help;
|
||||
n->data = data;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
/* Define a font resource. */
|
||||
|
||||
void
|
||||
|
@ -812,6 +812,10 @@ extern struct dialog_control *define_control
|
||||
PARAMS ((const char *, unsigned long, unsigned long, unsigned long,
|
||||
unsigned long, unsigned long, unsigned long, unsigned long,
|
||||
unsigned long));
|
||||
extern struct dialog_control *define_icon_control
|
||||
PARAMS ((struct res_id, unsigned long, unsigned long,
|
||||
unsigned long, unsigned long, unsigned long, unsigned long,
|
||||
struct rcdata_item *, struct dialog_ex *));
|
||||
extern void define_font
|
||||
PARAMS ((struct res_id, const struct res_res_info *, const char *));
|
||||
extern void define_icon
|
||||
|
Loading…
Reference in New Issue
Block a user