On Mon, 4 Mar 2002, Dave Phillips wrote:

> Maurizio Umberto Puxeddu wrote:
>
> > The fix is easy. When gcc complains about using a class
> >
> > Fl_Foo
> >
> > without a complete definition in a SourceFile.cxx. Just add
> >
> > #include <FL/Fl_Foo.H>
> >
> > at the top of SourceFile. You'll had to do it just 2 or 3 times.
> >
> > Let me know if you need a patch.
>
> Thanks, Maurizio, that got me through one error all the way to another:
>
> [dlphilp@localhost csound-linux]$ make
> g++ -fPIC -O2   -funroll-loops -fPIC -O2   -funroll-loops -I./new-src
> -I./new-src/maldonado -I. -I/usr/X11R6/include -I/usr/local/include
> -DWINDOWS  -DHAVE_CONFIG_H -DRTAUDIO -DLINUX  -DTCLTK -DSFIRCAM -DSYS5
> -DPIPES -DMACROS -DGAB_RT -DMYFLT=float
> -DDBDIR=\"/usr/local/lib/csound/4.16.0.0a\"   -c
> new-src/maldonado/Fl_Value_Input_Spin.cpp -o
> new-src/maldonado/Fl_Value_Input_Spin.o
> new-src/maldonado/Fl_Value_Input_Spin.cpp: In method
> `Fl_Value_Input_Spin::Fl_Value_Input_Spin(int, int, int, int, const char
> * = 0)':
> new-src/maldonado/Fl_Value_Input_Spin.cpp:212: no matching function for
> call to `Fl_Input::parent (Fl_Value_Input_Spin *)'
> /usr/local/include/FL/Fl_Widget.H:104: candidates are: class Fl_Group *
> Fl_Widget::parent() const
> /usr/local/include/FL/Fl_Widget.H:105:                 void
> Fl_Widget::parent(Fl_Group *)
> make: *** [new-src/maldonado/Fl_Value_Input_Spin.o] Error 1
>
>
> Any suggestions about this one ?

Apply this patches to  Fl_Value_Input_Spin.cpp and
Fl_Value_Slider_Input.cpp. I think they are correct but I just compiled
them. So if it doesn't work, it may be my fault.

I assumed that it's about reparenting a widgets, which is done this way.
The resulting code is broken in design maybe it works.

--- Fl_Value_Input_Spin.cpp~    Sun Feb 17 23:35:01 2002
+++ Fl_Value_Input_Spin.cpp     Thu Mar  7 21:25:47 2002
@@ -206,9 +206,10 @@
 : Fl_Valuator(x,y,w,h,l), input(x, y, w, h, 0) {

   soft_ = 0;
-  if (input.parent())  // defeat automatic-add
-    ((Fl_Group*)input.parent())->remove(input);
-  input.parent(this); // kludge!
+  //if (input.parent())  // defeat automatic-add
+  //  ((Fl_Group*)input.parent())->remove(input);
+  //input.parent(this); // kludge!
+  this->parent()->add(input);
   input.callback(input_cb, this);
   input.when(FL_WHEN_CHANGED);
   selection_color(input.selection_color());

--- Fl_Value_Slider_Input.cpp~  Thu May 17 02:17:22 2001
+++ Fl_Value_Slider_Input.cpp   Thu Mar  7 21:26:57 2002
@@ -137,10 +137,11 @@
 Fl_Value_Slider_Input::Fl_Value_Slider_Input(int x, int y, int w, int h,
const char* l)
 : Fl_Value_Slider(x,y,w,h,l),input(x, y, w, h, 0) {
   soft_ = 0;
-  if (input.parent())  // defeat automatic-add
-   ((Fl_Group*)input.parent())->remove(input);
-  input.parent(this); // kludge!
-  input.callback(input_cb, this);
+  // if (input.parent())  // defeat automatic-add
+  // ((Fl_Group*)input.parent())->remove(input);
+  //input.parent(this); // kludge!
+  //input.callback(input_cb, this);
+  parent()->add(input);
 //  input.when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY);
   input.when(FL_WHEN_CHANGED );
   selection_color(input.selection_color());

Apply this patch to widgets.cpp (it's a quick and dirty patch, some label
type will be drawn as "NORMAL" but it will work):

--- widgets.cpp~        Wed Jan  2 17:29:41 2002
+++ widgets.cpp Thu Mar  7 21:31:23 2002
@@ -1211,10 +1211,10 @@
                case 3: type = FL_SHADOW_LABEL; break;
                case 4: type = FL_ENGRAVED_LABEL; break;
                case 5: type = FL_EMBOSSED_LABEL; break;
-               case 6: type = _FL_BITMAP_LABEL; break;
+                 /*            case 6: type = _FL_BITMAP_LABEL; break;
                case 7: type = _FL_PIXMAP_LABEL; break;
                case 8: type = _FL_IMAGE_LABEL; break;
-               case 9: type = _FL_MULTI_LABEL; break;
+               case 9: type = _FL_MULTI_LABEL; break; */
                case 10: type = FL_FREE_LABELTYPE; break;
                default: type = FL_NORMAL_LABEL;
        }


Hope it helps. See you soon.
I'm online only from time to time these days. Sorry for not being
responsive. Best,

Maurizio Umberto Puxeddu.

_______________________________________________
[EMAIL PROTECTED] mailing list
http://www.mindrot.org/mailman/listinfo/csound-unix-dev

Reply via email to