Patch from Clemens Hintze to allow declaratons of "typedef" to work.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
e7f42fa15f
commit
b101ac281d
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Function_Type.cxx,v 1.15.2.9 1999/08/17 05:33:12 bill Exp $"
|
// "$Id: Fl_Function_Type.cxx,v 1.15.2.10 1999/12/17 18:34:55 bill Exp $"
|
||||||
//
|
//
|
||||||
// C function type code for the Fast Light Tool Kit (FLTK).
|
// C function type code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -449,10 +449,11 @@ Fl_Decl_Type Fl_Decl_type;
|
|||||||
void Fl_Decl_Type::write_code1() {
|
void Fl_Decl_Type::write_code1() {
|
||||||
const char* c = name();
|
const char* c = name();
|
||||||
if (!c) return;
|
if (!c) return;
|
||||||
// handle putting #include or extern into decl:
|
// handle putting #include or extern or typedef into decl:
|
||||||
if (!isalpha(*c) && *c != '~'
|
if (!isalpha(*c) && *c != '~'
|
||||||
|| !strncmp(c,"extern",6) && isspace(c[6])
|
|| !strncmp(c,"extern",6) && isspace(c[6])
|
||||||
|| !strncmp(c,"class",5) && isspace(c[5])
|
|| !strncmp(c,"class",5) && isspace(c[5])
|
||||||
|
|| !strncmp(c,"typedef",7) && isspace(c[7])
|
||||||
// || !strncmp(c,"struct",6) && isspace(c[6])
|
// || !strncmp(c,"struct",6) && isspace(c[6])
|
||||||
) {
|
) {
|
||||||
if (public_)
|
if (public_)
|
||||||
@ -660,5 +661,5 @@ void Fl_Class_Type::write_code2() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.9 1999/08/17 05:33:12 bill Exp $".
|
// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.10 1999/12/17 18:34:55 bill Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Widget_Type.cxx,v 1.15.2.7 1999/09/08 06:05:00 bill Exp $"
|
// "$Id: Fl_Widget_Type.cxx,v 1.15.2.8 1999/12/17 18:34:56 bill Exp $"
|
||||||
//
|
//
|
||||||
// Widget type code for the Fast Light Tool Kit (FLTK).
|
// Widget type code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -1219,6 +1219,7 @@ int isdeclare(const char *c) {
|
|||||||
while (isspace(*c)) c++;
|
while (isspace(*c)) c++;
|
||||||
if (*c == '#') return 1;
|
if (*c == '#') return 1;
|
||||||
if (!strncmp(c,"extern",6)) return 1;
|
if (!strncmp(c,"extern",6)) return 1;
|
||||||
|
if (!strncmp(c,"typedef",7)) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1745,5 +1746,5 @@ int Fl_Widget_Type::read_fdesign(const char* name, const char* value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Widget_Type.cxx,v 1.15.2.7 1999/09/08 06:05:00 bill Exp $".
|
// End of "$Id: Fl_Widget_Type.cxx,v 1.15.2.8 1999/12/17 18:34:56 bill Exp $".
|
||||||
//
|
//
|
||||||
|
@ -181,7 +181,7 @@ Fl_Window* make_decl_panel() {
|
|||||||
}
|
}
|
||||||
{ Fl_Input* o = decl_input = new Fl_Input(10, 50, 270, 25, "can be any declartion, like \"int x;\",\nan external symbol like \"extern int\
|
{ Fl_Input* o = decl_input = new Fl_Input(10, 50, 270, 25, "can be any declartion, like \"int x;\",\nan external symbol like \"extern int\
|
||||||
foo();\",\na #directive like \"#include <foo.h>\",\nor a comment like \"//foo\
|
foo();\",\na #directive like \"#include <foo.h>\",\nor a comment like \"//foo\
|
||||||
\" or \"/*foo*/\"");
|
\" or \"/*foo*/\",\nor typedef like \"typedef char byte;\"");
|
||||||
o->labelsize(12);
|
o->labelsize(12);
|
||||||
o->align(FL_ALIGN_BOTTOM_LEFT);
|
o->align(FL_ALIGN_BOTTOM_LEFT);
|
||||||
o->when(FL_WHEN_NEVER);
|
o->when(FL_WHEN_NEVER);
|
||||||
|
@ -9,14 +9,14 @@ Function {make_function_panel()} {open
|
|||||||
} {
|
} {
|
||||||
Fl_Window function_panel {
|
Fl_Window function_panel {
|
||||||
label {function/method} open
|
label {function/method} open
|
||||||
xywh {975 642 287 173} resizable modal visible
|
xywh {774 432 287 173} hide resizable modal
|
||||||
} {
|
} {
|
||||||
Fl_Light_Button f_public_button {
|
Fl_Light_Button f_public_button {
|
||||||
label public
|
label public
|
||||||
xywh {10 15 65 25} labelsize 10 when 0
|
xywh {10 15 65 25} labelsize 10 when 0
|
||||||
}
|
}
|
||||||
Fl_Light_Button f_c_button {
|
Fl_Light_Button f_c_button {
|
||||||
label {C declaration} selected
|
label {C declaration}
|
||||||
xywh {90 15 90 25} labelsize 10
|
xywh {90 15 90 25} labelsize 10
|
||||||
}
|
}
|
||||||
Fl_Input f_name_input {
|
Fl_Input f_name_input {
|
||||||
@ -116,7 +116,7 @@ Function {make_decl_panel()} {open
|
|||||||
} {
|
} {
|
||||||
Fl_Window decl_panel {
|
Fl_Window decl_panel {
|
||||||
label declaration open
|
label declaration open
|
||||||
xywh {282 823 290 176} hide resizable
|
xywh {282 823 290 176} resizable visible
|
||||||
} {
|
} {
|
||||||
Fl_Light_Button decl_public_button {
|
Fl_Light_Button decl_public_button {
|
||||||
label public
|
label public
|
||||||
@ -126,7 +126,8 @@ Function {make_decl_panel()} {open
|
|||||||
label {can be any declartion, like "int x;",
|
label {can be any declartion, like "int x;",
|
||||||
an external symbol like "extern int foo();",
|
an external symbol like "extern int foo();",
|
||||||
a \#directive like "\#include <foo.h>",
|
a \#directive like "\#include <foo.h>",
|
||||||
or a comment like "//foo" or "/*foo*/"}
|
or a comment like "//foo" or "/*foo*/",
|
||||||
|
or typedef like "typedef char byte;"}
|
||||||
xywh {10 50 270 25} labelsize 12 align 6 when 0 resizable
|
xywh {10 50 270 25} labelsize 12 align 6 when 0 resizable
|
||||||
}
|
}
|
||||||
Fl_Return_Button decl_panel_ok {
|
Fl_Return_Button decl_panel_ok {
|
||||||
|
@ -16,22 +16,11 @@ extern Fl_Return_Button *f_panel_ok;
|
|||||||
#include <FL/Fl_Button.H>
|
#include <FL/Fl_Button.H>
|
||||||
extern Fl_Button *f_panel_cancel;
|
extern Fl_Button *f_panel_cancel;
|
||||||
Fl_Window* make_function_panel();
|
Fl_Window* make_function_panel();
|
||||||
extern Fl_Window *function_panel;
|
|
||||||
extern Fl_Light_Button *f_public_button;
|
|
||||||
extern Fl_Light_Button *f_c_button;
|
|
||||||
extern Fl_Input *f_name_input;
|
|
||||||
extern Fl_Input *f_return_type_input;
|
|
||||||
extern Fl_Return_Button *f_panel_ok;
|
|
||||||
extern Fl_Button *f_panel_cancel;
|
|
||||||
extern Fl_Window *code_panel;
|
extern Fl_Window *code_panel;
|
||||||
extern Fl_Input *code_input;
|
extern Fl_Input *code_input;
|
||||||
extern Fl_Return_Button *code_panel_ok;
|
extern Fl_Return_Button *code_panel_ok;
|
||||||
extern Fl_Button *code_panel_cancel;
|
extern Fl_Button *code_panel_cancel;
|
||||||
Fl_Window* make_code_panel();
|
Fl_Window* make_code_panel();
|
||||||
extern Fl_Window *code_panel;
|
|
||||||
extern Fl_Input *code_input;
|
|
||||||
extern Fl_Return_Button *code_panel_ok;
|
|
||||||
extern Fl_Button *code_panel_cancel;
|
|
||||||
extern Fl_Window *codeblock_panel;
|
extern Fl_Window *codeblock_panel;
|
||||||
extern Fl_Input *code_before_input;
|
extern Fl_Input *code_before_input;
|
||||||
#include <FL/Fl_Box.H>
|
#include <FL/Fl_Box.H>
|
||||||
@ -39,33 +28,18 @@ extern Fl_Input *code_after_input;
|
|||||||
extern Fl_Return_Button *codeblock_panel_ok;
|
extern Fl_Return_Button *codeblock_panel_ok;
|
||||||
extern Fl_Button *codeblock_panel_cancel;
|
extern Fl_Button *codeblock_panel_cancel;
|
||||||
Fl_Window* make_codeblock_panel();
|
Fl_Window* make_codeblock_panel();
|
||||||
extern Fl_Window *codeblock_panel;
|
|
||||||
extern Fl_Input *code_before_input;
|
|
||||||
extern Fl_Input *code_after_input;
|
|
||||||
extern Fl_Return_Button *codeblock_panel_ok;
|
|
||||||
extern Fl_Button *codeblock_panel_cancel;
|
|
||||||
extern Fl_Window *declblock_panel;
|
extern Fl_Window *declblock_panel;
|
||||||
extern Fl_Input *decl_before_input;
|
extern Fl_Input *decl_before_input;
|
||||||
extern Fl_Input *decl_after_input;
|
extern Fl_Input *decl_after_input;
|
||||||
extern Fl_Return_Button *declblock_panel_ok;
|
extern Fl_Return_Button *declblock_panel_ok;
|
||||||
extern Fl_Button *declblock_panel_cancel;
|
extern Fl_Button *declblock_panel_cancel;
|
||||||
Fl_Window* make_declblock_panel();
|
Fl_Window* make_declblock_panel();
|
||||||
extern Fl_Window *declblock_panel;
|
|
||||||
extern Fl_Input *decl_before_input;
|
|
||||||
extern Fl_Input *decl_after_input;
|
|
||||||
extern Fl_Return_Button *declblock_panel_ok;
|
|
||||||
extern Fl_Button *declblock_panel_cancel;
|
|
||||||
extern Fl_Window *decl_panel;
|
extern Fl_Window *decl_panel;
|
||||||
extern Fl_Light_Button *decl_public_button;
|
extern Fl_Light_Button *decl_public_button;
|
||||||
extern Fl_Input *decl_input;
|
extern Fl_Input *decl_input;
|
||||||
extern Fl_Return_Button *decl_panel_ok;
|
extern Fl_Return_Button *decl_panel_ok;
|
||||||
extern Fl_Button *decl_panel_cancel;
|
extern Fl_Button *decl_panel_cancel;
|
||||||
Fl_Window* make_decl_panel();
|
Fl_Window* make_decl_panel();
|
||||||
extern Fl_Window *decl_panel;
|
|
||||||
extern Fl_Light_Button *decl_public_button;
|
|
||||||
extern Fl_Input *decl_input;
|
|
||||||
extern Fl_Return_Button *decl_panel_ok;
|
|
||||||
extern Fl_Button *decl_panel_cancel;
|
|
||||||
extern Fl_Window *class_panel;
|
extern Fl_Window *class_panel;
|
||||||
extern Fl_Light_Button *c_public_button;
|
extern Fl_Light_Button *c_public_button;
|
||||||
extern Fl_Input *c_name_input;
|
extern Fl_Input *c_name_input;
|
||||||
@ -73,10 +47,4 @@ extern Fl_Input *c_subclass_input;
|
|||||||
extern Fl_Return_Button *c_panel_ok;
|
extern Fl_Return_Button *c_panel_ok;
|
||||||
extern Fl_Button *c_panel_cancel;
|
extern Fl_Button *c_panel_cancel;
|
||||||
Fl_Window* make_class_panel();
|
Fl_Window* make_class_panel();
|
||||||
extern Fl_Window *class_panel;
|
|
||||||
extern Fl_Light_Button *c_public_button;
|
|
||||||
extern Fl_Input *c_name_input;
|
|
||||||
extern Fl_Input *c_subclass_input;
|
|
||||||
extern Fl_Return_Button *c_panel_ok;
|
|
||||||
extern Fl_Button *c_panel_cancel;
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user