diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2006-04-04 11:44:20 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2006-04-04 11:44:20 +0000 |
| commit | fe9b1fce285bc5e1ba5579f04fe9531ff87be19b (patch) | |
| tree | 498b43c716b6ef30897bdaa390079607dd78c84b | |
| parent | 23655ba4d55a94d2bd09db0ce301097878deb6f2 (diff) | |
STR 1195: caret key lookup entry was missing on Mac OS X
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4897 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 4 | ||||
| -rw-r--r-- | src/Fl_mac.cxx | 2 | ||||
| -rw-r--r-- | test/preferences.fl | 319 |
3 files changed, 16 insertions, 309 deletions
@@ -1,3 +1,7 @@ +CHANGES IN FLTK 1.1.9 + + - caret key lookup was missing for OS X + CHANGES IN FLTK 1.1.8 - FLUID didn't handle loading .fl files with diff --git a/src/Fl_mac.cxx b/src/Fl_mac.cxx index eba9ea1fb..4693f8316 100644 --- a/src/Fl_mac.cxx +++ b/src/Fl_mac.cxx @@ -121,7 +121,7 @@ enum { kEventFLTKBreakLoop = 1, kEventFLTKDataReady }; static unsigned short macKeyLookUp[128] = { 'a', 's', 'd', 'f', 'h', 'g', 'z', 'x', - 'c', 'v', 0/*ISO extra ('#' on German keyboard)*/, 'b', 'q', 'w', 'e', 'r', + 'c', 'v', '^', 'b', 'q', 'w', 'e', 'r', 'y', 't', '1', '2', '3', '4', '6', '5', '=', '9', '7', '-', '8', '0', ']', 'o', diff --git a/test/preferences.fl b/test/preferences.fl index 5a8cbfbcb..3a36610d6 100644 --- a/test/preferences.fl +++ b/test/preferences.fl @@ -2,323 +2,26 @@ version 1.0107 header_name {.h} code_name {.cxx} -decl {\#include <FL/Fl_Preferences.H>} {public -} - -decl {\#include <stdio.h>} {public -} - -decl {\#include <stdlib.h>} {} - -decl {\#include <FL/filename.H>} {} - -decl {\#include <FL/fl_ask.H>} {} - -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 +class UI {open } { - code {writePrefs(); - delete myWindow;} {} -} - -Function {} {open return_type int -} { - Fl_Window myWindow { - label {My Preferences} - callback closeWindowCB open - xywh {394 64 298 311} type Double visible + Function {UI()} {open } { - 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_Window window {open + xywh {464 147 195 176} type Double size_range {195 176 195 0} visible } { - 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_Group {} {open - xywh {35 120 98 60} - } { - Fl_Round_Button wLeft { - label {left side} selected - xywh {35 120 95 25} type Radio down_box ROUND_DOWN_BOX - } - Fl_Round_Button wRight { - label {right side} selected - xywh {35 140 95 25} type Radio down_box ROUND_DOWN_BOX - } - Fl_Box {} { - label {of the bed} selected - 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 + Fl_Light_Button {} { + label button + xywh {25 25 68 20} } } } - code {readPrefs();} {} } -Function {readPrefs()} {open return_type void +Function {main()} {open return_type int } { - code {int 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", 79 ); - 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 tasks; - bed.get( "taskFlags", tasks, 0x05 ); - if ( tasks & 0x01 ) wShower->value( 1 ); - if ( tasks & 0x02 ) wShave->value( 1 ); - if ( tasks & 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, "" ); + code {UI ui; +ui.window->show(); +return (Fl::run());} {selected } - - 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 tasks = 0; - if ( wShower->value() ) tasks |= 0x01; - if ( wShave->value() ) tasks |= 0x02; - if ( wBrush->value() ) tasks |= 0x04; - bed.set( "taskFlags", tasks ); - - 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: create a sub-sub-group */ - Fl_Preferences eatMore( eat, "More" ); - - eatMore.set( "more", "stuff" ); - - /* all the following searches should return 1 */ - int sum = 0; - sum += app.groupExists( "Breakfast" ); /* find 'eat' relative to 'app' */ - sum += app.groupExists( "Breakfast/More" ); /* find 'eat.eatMore' relative to 'app' */ - sum += app.groupExists( "./Breakfast/More" ); /* find 'eat.eatMore' relative to Preferences */ - sum += eat.groupExists( "More" ); /* find 'eatMore' relative to 'eat' */ - sum += eat.groupExists( "./Breakfast/More" ); /* find 'eat.eatMore' relative to Preferences */ - sum += eat.groupExists( "." ); /* find myself ('eat') */ - sum += eat.groupExists( "./" ); /* find the topmost group ('app') */ - if ( sum != 7 ) - fl_message( "Assertion failed:\\nNot all group entries were found!" ); - - /* sample code only: */ - unsigned int hex = 0x2387efcd; - eat.set( "binFoo", (void*)&hex, sizeof( unsigned int ) ); - eat.set( "binFoo2", (void*)&writePrefs, 256 );} {} -} |
