Added preferences.fl, removed preferences.cxx and .h

Updated VisualC project to handle .fl files and fluid dependencies
Updated test/Makefile (someone please test it...)
Removed all CRs :-)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2002-05-01 15:55:07 +00:00
parent a368380f80
commit f060b88fe6
6 changed files with 346 additions and 328 deletions

View File

@ -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 $".
#

View File

@ -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 );
**/
}

306
test/preferences.fl Normal file
View File

@ -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 );
**/} {}
}

View File

@ -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

View File

@ -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
}}}
###############################################################################

View File

@ -92,6 +92,37 @@ LINK32=link.exe
# Begin Source File
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