summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Makefile5
-rw-r--r--test/preferences.cxx284
-rw-r--r--test/preferences.fl306
-rw-r--r--test/preferences.h42
-rw-r--r--visualc/fltk.dsw6
-rw-r--r--visualc/preferences.dsp31
6 files changed, 346 insertions, 328 deletions
diff --git a/test/Makefile b/test/Makefile
index 14cc56193..44d305271 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile,v 1.19.2.7.2.34 2002/04/29 21:04:12 easysw Exp $"
+# "$Id: Makefile,v 1.19.2.7.2.35 2002/05/01 15:55:06 matthiaswm Exp $"
#
# Test/example program makefile for the Fast Light Tool Kit (FLTK).
#
@@ -305,6 +305,7 @@ pixmap_browser$(EXEEXT): pixmap_browser.o
$(POSTBUILD) $@ ../FL/mac.r
preferences$(EXEEXT): preferences.o
+preferences.cxx: preferences.fl
radio$(EXEEXT): radio.o
radio.cxx: radio.fl
@@ -380,5 +381,5 @@ shape$(EXEEXT): shape.o
#
-# End of "$Id: Makefile,v 1.19.2.7.2.34 2002/04/29 21:04:12 easysw Exp $".
+# End of "$Id: Makefile,v 1.19.2.7.2.35 2002/05/01 15:55:06 matthiaswm Exp $".
#
diff --git a/test/preferences.cxx b/test/preferences.cxx
deleted file mode 100644
index 63cb11a6e..000000000
--- a/test/preferences.cxx
+++ /dev/null
@@ -1,284 +0,0 @@
-// generated by Fast Light User Interface Designer (fluid) version 1.0100
-
-
-#include "preferences.h"
-#include <stdlib.h>
-#include <FL/filename.H>
-void readPrefs();
-void writePrefs();
-
-static void closeWindowCB( Fl_Widget*, void* ) {
- delete myWindow;
-}
-
-static void saveAndCloseWindowCB( Fl_Widget*, void* ) {
- writePrefs();
- delete myWindow;
-}
-
-Fl_Window *myWindow=(Fl_Window *)0;
-
-Fl_Input *wAlarm=(Fl_Input *)0;
-
-Fl_Choice *wAmPm=(Fl_Choice *)0;
-
-Fl_Menu_Item menu_wAmPm[] = {
- {"a.m.", 0, 0, 0, 0, 0, 0, 14, 0},
- {"p.m.", 0, 0, 0, 0, 0, 0, 14, 0},
- {0}
-};
-
-Fl_Choice *wWear=(Fl_Choice *)0;
-
-Fl_Menu_Item menu_wWear[] = {
- {"shoes", 0, 0, 0, 0, 0, 0, 14, 0},
- {"sandals", 0, 0, 0, 0, 0, 0, 14, 0},
- {"flip flops", 0, 0, 0, 0, 0, 0, 14, 0},
- {"bare foot", 0, 0, 0, 0, 0, 0, 14, 0},
- {0}
-};
-
-Fl_Round_Button *wLeft=(Fl_Round_Button *)0;
-
-Fl_Round_Button *wRight=(Fl_Round_Button *)0;
-
-Fl_Check_Button *wShower=(Fl_Check_Button *)0;
-
-Fl_Check_Button *wShave=(Fl_Check_Button *)0;
-
-Fl_Check_Button *wBrush=(Fl_Check_Button *)0;
-
-Fl_Choice *wDrink=(Fl_Choice *)0;
-
-Fl_Menu_Item menu_wDrink[] = {
- {"coffee", 0, 0, 0, 0, 0, 0, 14, 0},
- {"tea", 0, 0, 0, 0, 0, 0, 14, 0},
- {"juice", 0, 0, 0, 0, 0, 0, 14, 0},
- {0}
-};
-
-Fl_Check_Button *wMilk=(Fl_Check_Button *)0;
-
-Fl_Choice *wBread=(Fl_Choice *)0;
-
-Fl_Menu_Item menu_wBread[] = {
- {"wheat", 0, 0, 0, 0, 0, 0, 14, 0},
- {"white", 0, 0, 0, 0, 0, 0, 14, 0},
- {"rye", 0, 0, 0, 0, 0, 0, 14, 0},
- {"sour doh", 0, 0, 0, 0, 0, 0, 14, 0},
- {0}
-};
-
-Fl_Check_Button *wButter=(Fl_Check_Button *)0;
-
-Fl_Input *wEggs=(Fl_Input *)0;
-
-Fl_Value_Slider *wMinutes=(Fl_Value_Slider *)0;
-
-Fl_Input *wPaper=(Fl_Input *)0;
-
-int main(int argc, char **argv) {
- Fl_Window* w;
- { Fl_Window* o = myWindow = new Fl_Window(298, 311, "My Preferences");
- w = o;
- o->callback((Fl_Callback*)closeWindowCB);
- { Fl_Button* o = new Fl_Button(210, 275, 75, 25, "Cancel");
- o->callback((Fl_Callback*)closeWindowCB);
- }
- { Fl_Button* o = new Fl_Button(125, 275, 75, 25, "OK");
- o->callback((Fl_Callback*)saveAndCloseWindowCB);
- }
- { Fl_Group* o = new Fl_Group(20, 30, 115, 225, "Get Up:");
- o->box(FL_ENGRAVED_FRAME);
- o->align(FL_ALIGN_TOP_LEFT);
- { Fl_Input* o = wAlarm = new Fl_Input(25, 55, 45, 20, "Alarm at:");
- o->align(FL_ALIGN_TOP_LEFT);
- }
- { Fl_Choice* o = wAmPm = new Fl_Choice(75, 55, 55, 20);
- o->down_box(FL_BORDER_BOX);
- o->menu(menu_wAmPm);
- }
- { Fl_Choice* o = wWear = new Fl_Choice(25, 100, 105, 20, "Wear:");
- o->down_box(FL_BORDER_BOX);
- o->align(FL_ALIGN_TOP_LEFT);
- o->menu(menu_wWear);
- }
- { Fl_Round_Button* o = wLeft = new Fl_Round_Button(35, 120, 95, 25, "left side");
- o->down_box(FL_ROUND_DOWN_BOX);
- }
- { Fl_Round_Button* o = wRight = new Fl_Round_Button(35, 140, 95, 25, "right side");
- o->down_box(FL_ROUND_DOWN_BOX);
- }
- new Fl_Box(38, 160, 95, 20, "of the bed");
- { Fl_Check_Button* o = wShower = new Fl_Check_Button(25, 180, 105, 25, "shower");
- o->down_box(FL_DOWN_BOX);
- }
- { Fl_Check_Button* o = wShave = new Fl_Check_Button(25, 200, 105, 25, "shave");
- o->down_box(FL_DOWN_BOX);
- }
- { Fl_Check_Button* o = wBrush = new Fl_Check_Button(25, 220, 105, 25, "brush teeth");
- o->down_box(FL_DOWN_BOX);
- }
- o->end();
- }
- { Fl_Group* o = new Fl_Group(160, 30, 115, 225, "Breakfast::");
- o->box(FL_ENGRAVED_FRAME);
- o->align(FL_ALIGN_TOP_LEFT);
- { Fl_Choice* o = wDrink = new Fl_Choice(165, 50, 105, 20, "Drink:");
- o->down_box(FL_BORDER_BOX);
- o->align(FL_ALIGN_TOP_LEFT);
- o->menu(menu_wDrink);
- }
- { Fl_Check_Button* o = wMilk = new Fl_Check_Button(170, 70, 100, 25, "with milk");
- o->down_box(FL_DOWN_BOX);
- }
- { Fl_Choice* o = wBread = new Fl_Choice(165, 110, 105, 20, "Bread:");
- o->down_box(FL_BORDER_BOX);
- o->align(FL_ALIGN_TOP_LEFT);
- o->menu(menu_wBread);
- }
- { Fl_Check_Button* o = wButter = new Fl_Check_Button(170, 130, 100, 25, "with butter");
- o->down_box(FL_DOWN_BOX);
- }
- { Fl_Input* o = wEggs = new Fl_Input(165, 163, 30, 20, "eggs");
- o->type(2);
- o->align(FL_ALIGN_RIGHT);
- }
- { Fl_Value_Slider* o = wMinutes = new Fl_Value_Slider(175, 185, 70, 20, "min.");
- o->type(1);
- o->minimum(2);
- o->maximum(6);
- o->value(3.1);
- o->align(FL_ALIGN_RIGHT);
- }
- { Fl_Input* o = wPaper = new Fl_Input(165, 225, 105, 20, "Newspaper:");
- o->align(FL_ALIGN_TOP_LEFT);
- }
- o->end();
- }
- o->end();
- }
- readPrefs();
- w->show(argc, argv);
- return Fl::run();
-}
-
-void readPrefs() {
- char boolValue;
-int intValue;
-char buffer[80];
-double doubleValue;
-
-Fl_Preferences app( Fl_Preferences::USER, "fltk.org", "test/preferences" );
-
- char path[ FL_PATH_MAX ];
- app.getUserdataPath( path, sizeof(path) );
-
- Fl_Preferences bed( app, "Bed" );
- bed.get( "alarm", buffer, "8:00", 80 );
- wAlarm->value( buffer );
-
- bed.get( "ampm", intValue, 0 );
- wAmPm->value( intValue );
-
- bed.get( "wear", intValue, 1 );
- wWear->value( intValue );
-
- int side;
- bed.get( "side", side, 2 );
- if ( side == 1 ) wLeft->value( 1 );
- if ( side == 2 ) wRight->value( 1 );
-
- int todo;
- bed.get( "todoFlags", todo, 0x05 );
- if ( todo & 0x01 ) wShower->value( 1 );
- if ( todo & 0x02 ) wShave->value( 1 );
- if ( todo & 0x04 ) wBrush->value( 1 );
-
- Fl_Preferences eat( app, "Breakfast" );
-
- eat.get( "drink", intValue, 1 );
- wDrink->value( intValue );
-
- eat.get( "wMilk", boolValue, 0 );
- wMilk->value( boolValue );
-
- eat.get( "bread", intValue, 0 );
- wBread->value( intValue );
-
- eat.get( "wButter", boolValue, 1 );
- wButter->value( boolValue );
-
- eat.get( "nEggs", intValue, 2 );
- sprintf( buffer, "%d", intValue );
- wEggs->value( buffer );
-
- eat.get( "minutes", doubleValue, 3.2 );
- wMinutes->value( doubleValue );
-
- char *flexBuffer;
- eat.get( "newspaper", flexBuffer, "NY Tymes" );
- wPaper->value( flexBuffer );
- if ( flexBuffer ) free( flexBuffer );
-
- eat.get( "foo", buffer, "bar", 80 );
-
- /** sample code only:
- Fl_Preferences prev( app, "PreviousStarts" );
- {
- int i, n;
- prev.get( "n", n, 0 );
- for ( i=0; i<n; i++ )
- prev.get( Fl_Preferences::Name( i ), flexBuffer, "" );
- }
-
- unsigned int hex;
- eat.get( "binFoo", (void*)&hex, 0, 0, sizeof( unsigned int ) );
- void *data;
- eat.get( "binFoo2", data, 0, 0 );
- **/
-}
-
-void writePrefs() {
- Fl_Preferences app( Fl_Preferences::USER, "fltk.org", "test/preferences" );
-
- Fl_Preferences bed( app, "Bed" );
-
- bed.set( "alarm", wAlarm->value() );
- bed.set( "ampm", wAmPm->value() );
-
- bed.set( "wear", wWear->value() );
-
- int side = 0;
- if ( wLeft->value() ) side = 1;
- if ( wRight->value() ) side = 2;
- bed.set( "side", side );
-
- int todo = 0;
- if ( wShower->value() ) todo |= 0x01;
- if ( wShave->value() ) todo |= 0x02;
- if ( wBrush->value() ) todo |= 0x04;
- bed.set( "todoFlags", todo );
-
- Fl_Preferences eat( app, "Breakfast" );
-
- eat.set( "drink", wDrink->value() );
- eat.set( "wMilk", wMilk->value() );
- eat.set( "bread", wBread->value() );
- eat.set( "wButter", wButter->value() );
-
- eat.set( "nEggs", wEggs->value() );
- eat.set( "minutes", wMinutes->value() );
-
- eat.set( "newspaper", wPaper->value() );
-
- eat.set( "foo", "bar\nfly\rBackslash: \\ and bell: \007 and delete: \177\n" );
-
- eat.set( Fl_Preferences::Name( 3 ), "Test3" );
-
- /** sample code only:
- unsigned int hex = 0x2387efcd;
- eat.set( "binFoo", (void*)&hex, sizeof( unsigned int ) );
- eat.set( "binFoo2", (void*)&writePrefs, 1024 );
- **/
-}
diff --git a/test/preferences.fl b/test/preferences.fl
new file mode 100644
index 000000000..3fc993eea
--- /dev/null
+++ b/test/preferences.fl
@@ -0,0 +1,306 @@
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0100
+header_name {.h}
+code_name {.cxx}
+gridx 5
+gridy 5
+snap 3
+decl {\#include <Fl/Fl_Preferences.H>} {public
+}
+
+decl {\#include <stdio.h>} {public
+}
+
+decl {\#include <stdlib.h>} {}
+
+decl {\#include <FL/filename.H>} {selected
+}
+
+decl {void readPrefs();} {public
+}
+
+decl {void writePrefs();} {public
+}
+
+Function {closeWindowCB( Fl_Widget*, void* )} {open private return_type void
+} {
+ code {delete myWindow;} {}
+}
+
+Function {saveAndCloseWindowCB( Fl_Widget*, void* )} {open private return_type void
+} {
+ code {writePrefs();
+ delete myWindow;} {}
+}
+
+Function {} {open return_type int
+} {
+ Fl_Window myWindow {
+ label {My Preferences}
+ callback closeWindowCB open
+ xywh {394 64 298 311} visible
+ } {
+ Fl_Button {} {
+ label Cancel
+ callback closeWindowCB
+ xywh {210 275 75 25}
+ }
+ Fl_Button {} {
+ label OK
+ callback saveAndCloseWindowCB
+ xywh {125 275 75 25}
+ }
+ Fl_Group {} {
+ label {Get Up:} open
+ xywh {20 30 115 225} box ENGRAVED_FRAME align 5
+ } {
+ Fl_Input wAlarm {
+ label {Alarm at:}
+ xywh {25 55 45 20} align 5
+ }
+ Fl_Choice wAmPm {open
+ xywh {75 55 55 20} down_box BORDER_BOX
+ } {
+ menuitem {} {
+ label {a.m.}
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label {p.m.}
+ xywh {0 0 100 20}
+ }
+ }
+ Fl_Choice wWear {
+ label {Wear:} open
+ xywh {25 100 105 20} down_box BORDER_BOX align 5
+ } {
+ menuitem {} {
+ label shoes
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label sandals
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label {flip flops}
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label {bare foot}
+ xywh {0 0 100 20}
+ }
+ }
+ Fl_Round_Button wLeft {
+ label {left side}
+ xywh {35 120 95 25} down_box ROUND_DOWN_BOX
+ }
+ Fl_Round_Button wRight {
+ label {right side}
+ xywh {35 140 95 25} down_box ROUND_DOWN_BOX
+ }
+ Fl_Box {} {
+ label {of the bed}
+ xywh {38 160 95 20}
+ }
+ Fl_Check_Button wShower {
+ label shower
+ xywh {25 180 105 25} down_box DOWN_BOX
+ }
+ Fl_Check_Button wShave {
+ label shave
+ xywh {25 200 105 25} down_box DOWN_BOX
+ }
+ Fl_Check_Button wBrush {
+ label {brush teeth}
+ xywh {25 220 105 25} down_box DOWN_BOX
+ }
+ }
+ Fl_Group {} {
+ label {Breakfast::} open
+ xywh {160 30 115 225} box ENGRAVED_FRAME align 5
+ } {
+ Fl_Choice wDrink {
+ label {Drink:} open
+ xywh {165 50 105 20} down_box BORDER_BOX align 5
+ } {
+ menuitem {} {
+ label coffee
+ xywh {10 10 100 20}
+ }
+ menuitem {} {
+ label tea
+ xywh {10 10 100 20}
+ }
+ menuitem {} {
+ label juice
+ xywh {10 10 100 20}
+ }
+ }
+ Fl_Check_Button wMilk {
+ label {with milk}
+ xywh {170 70 100 25} down_box DOWN_BOX
+ }
+ Fl_Choice wBread {
+ label {Bread:} open
+ xywh {165 110 105 20} down_box BORDER_BOX align 5
+ } {
+ menuitem {} {
+ label wheat
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label white
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label rye
+ xywh {0 0 100 20}
+ }
+ menuitem {} {
+ label {sour doh}
+ xywh {0 0 100 20}
+ }
+ }
+ Fl_Check_Button wButter {
+ label {with butter}
+ xywh {170 130 100 25} down_box DOWN_BOX
+ }
+ Fl_Input wEggs {
+ label eggs
+ xywh {165 163 30 20} type Int align 8
+ }
+ Fl_Value_Slider wMinutes {
+ label {min.}
+ xywh {175 185 70 20} type Horizontal align 8 minimum 2 maximum 6 value 3.1
+ }
+ Fl_Input wPaper {
+ label {Newspaper:}
+ xywh {165 225 105 20} align 5
+ }
+ }
+ }
+ code {readPrefs();} {}
+}
+
+Function {readPrefs()} {open return_type void
+} {
+ code {char boolValue;
+int intValue;
+char buffer[80];
+double doubleValue;
+
+Fl_Preferences app( Fl_Preferences::USER, "fltk.org", "test/preferences" );
+
+ char path[ FL_PATH_MAX ];
+ app.getUserdataPath( path, sizeof(path) );
+
+ Fl_Preferences bed( app, "Bed" );
+ bed.get( "alarm", buffer, "8:00", 80 );
+ wAlarm->value( buffer );
+
+ bed.get( "ampm", intValue, 0 );
+ wAmPm->value( intValue );
+
+ bed.get( "wear", intValue, 1 );
+ wWear->value( intValue );
+
+ int side;
+ bed.get( "side", side, 2 );
+ if ( side == 1 ) wLeft->value( 1 );
+ if ( side == 2 ) wRight->value( 1 );
+
+ int todo;
+ bed.get( "todoFlags", todo, 0x05 );
+ if ( todo & 0x01 ) wShower->value( 1 );
+ if ( todo & 0x02 ) wShave->value( 1 );
+ if ( todo & 0x04 ) wBrush->value( 1 );
+
+ Fl_Preferences eat( app, "Breakfast" );
+
+ eat.get( "drink", intValue, 1 );
+ wDrink->value( intValue );
+
+ eat.get( "wMilk", boolValue, 0 );
+ wMilk->value( boolValue );
+
+ eat.get( "bread", intValue, 0 );
+ wBread->value( intValue );
+
+ eat.get( "wButter", boolValue, 1 );
+ wButter->value( boolValue );
+
+ eat.get( "nEggs", intValue, 2 );
+ sprintf( buffer, "%d", intValue );
+ wEggs->value( buffer );
+
+ eat.get( "minutes", doubleValue, 3.2 );
+ wMinutes->value( doubleValue );
+
+ char *flexBuffer;
+ eat.get( "newspaper", flexBuffer, "NY Tymes" );
+ wPaper->value( flexBuffer );
+ if ( flexBuffer ) free( flexBuffer );
+
+ eat.get( "foo", buffer, "bar", 80 );
+
+ /** sample code only:
+ Fl_Preferences prev( app, "PreviousStarts" );
+ {
+ int i, n;
+ prev.get( "n", n, 0 );
+ for ( i=0; i<n; i++ )
+ prev.get( Fl_Preferences::Name( i ), flexBuffer, "" );
+ }
+
+ unsigned int hex;
+ eat.get( "binFoo", (void*)&hex, 0, 0, sizeof( unsigned int ) );
+ void *data;
+ eat.get( "binFoo2", data, 0, 0 );
+ **/} {}
+}
+
+Function {writePrefs()} {open return_type void
+} {
+ code {Fl_Preferences app( Fl_Preferences::USER, "fltk.org", "test/preferences" );
+
+ Fl_Preferences bed( app, "Bed" );
+
+ bed.set( "alarm", wAlarm->value() );
+ bed.set( "ampm", wAmPm->value() );
+
+ bed.set( "wear", wWear->value() );
+
+ int side = 0;
+ if ( wLeft->value() ) side = 1;
+ if ( wRight->value() ) side = 2;
+ bed.set( "side", side );
+
+ int todo = 0;
+ if ( wShower->value() ) todo |= 0x01;
+ if ( wShave->value() ) todo |= 0x02;
+ if ( wBrush->value() ) todo |= 0x04;
+ bed.set( "todoFlags", todo );
+
+ Fl_Preferences eat( app, "Breakfast" );
+
+ eat.set( "drink", wDrink->value() );
+ eat.set( "wMilk", wMilk->value() );
+ eat.set( "bread", wBread->value() );
+ eat.set( "wButter", wButter->value() );
+
+ eat.set( "nEggs", wEggs->value() );
+ eat.set( "minutes", wMinutes->value() );
+
+ eat.set( "newspaper", wPaper->value() );
+
+ eat.set( "foo", "bar\\nfly\\rBackslash: \\\\ and bell: \\007 and delete: \\177\\n" );
+
+ eat.set( Fl_Preferences::Name( 3 ), "Test3" );
+
+ /** sample code only:
+ unsigned int hex = 0x2387efcd;
+ eat.set( "binFoo", (void*)&hex, sizeof( unsigned int ) );
+ eat.set( "binFoo2", (void*)&writePrefs, 1024 );
+ **/} {}
+}
diff --git a/test/preferences.h b/test/preferences.h
deleted file mode 100644
index 54206e639..000000000
--- a/test/preferences.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// generated by Fast Light User Interface Designer (fluid) version 1.0100
-
-#ifndef preferences_h
-#define preferences_h
-#include <FL/Fl.H>
-#include <FL/Fl_Preferences.H>
-#include <stdio.h>
-#include <FL/Fl_Window.H>
-extern void closeWindowCB(Fl_Window*, void*);
-extern Fl_Window *myWindow;
-#include <FL/Fl_Button.H>
-extern void closeWindowCB(Fl_Button*, void*);
-extern void saveAndCloseWindowCB(Fl_Button*, void*);
-#include <FL/Fl_Group.H>
-#include <FL/Fl_Input.H>
-extern Fl_Input *wAlarm;
-#include <FL/Fl_Choice.H>
-extern Fl_Choice *wAmPm;
-extern Fl_Choice *wWear;
-#include <FL/Fl_Round_Button.H>
-extern Fl_Round_Button *wLeft;
-extern Fl_Round_Button *wRight;
-#include <FL/Fl_Box.H>
-#include <FL/Fl_Check_Button.H>
-extern Fl_Check_Button *wShower;
-extern Fl_Check_Button *wShave;
-extern Fl_Check_Button *wBrush;
-extern Fl_Choice *wDrink;
-extern Fl_Check_Button *wMilk;
-extern Fl_Choice *wBread;
-extern Fl_Check_Button *wButter;
-extern Fl_Input *wEggs;
-#include <FL/Fl_Value_Slider.H>
-extern Fl_Value_Slider *wMinutes;
-extern Fl_Input *wPaper;
-extern Fl_Menu_Item menu_wAmPm[];
-extern Fl_Menu_Item menu_wWear[];
-extern Fl_Menu_Item menu_wDrink[];
-extern Fl_Menu_Item menu_wBread[];
-void readPrefs();
-void writePrefs();
-#endif
diff --git a/visualc/fltk.dsw b/visualc/fltk.dsw
index 5e00d6203..967fc29e8 100644
--- a/visualc/fltk.dsw
+++ b/visualc/fltk.dsw
@@ -995,6 +995,12 @@ Package=<5>
Package=<4>
{{{
+ Begin Project Dependency
+ Project_Dep_Name fltk
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name fluid
+ End Project Dependency
}}}
###############################################################################
diff --git a/visualc/preferences.dsp b/visualc/preferences.dsp
index ed1e64142..1a041afc1 100644
--- a/visualc/preferences.dsp
+++ b/visualc/preferences.dsp
@@ -93,5 +93,36 @@ LINK32=link.exe
SOURCE=..\test\preferences.cxx
# End Source File
+# Begin Source File
+
+SOURCE=..\test\preferences.fl
+
+!IF "$(CFG)" == "preferences - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\preferences.fl
+
+"..\test\preferences.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cd ..\test
+ ..\fluid\fluid -c preferences.fl
+ cd ..\visualc
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "preferences - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\preferences.fl
+
+"..\test\preferences.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cd ..\test
+ ..\fluid\fluidd -c preferences.fl
+ cd ..\visualc
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
# End Target
# End Project