diff options
author | Bruno Coudoin <bcoudoin@src.gnome.org> | 2002-12-15 00:38:54 (GMT) |
---|---|---|
committer | Bruno Coudoin <bcoudoin@src.gnome.org> | 2002-12-15 00:38:54 (GMT) |
commit | ebee9548f9d433bbde7053aff879ad9c4a07b395 (patch) | |
tree | 42c348a5db662d0d61b99515577182413115821d | |
parent | 722cebfe70416ce652003a6ad54dbd81ba240b14 (diff) |
first release of the gnome 2 port
86 files changed, 2554 insertions, 3637 deletions
@@ -1,3 +1,113 @@ +2002-12-15 bruno <bruno.coudoin@free.fr> + + * acconfig.h: Major changes all around to support GNOME2 + * autogen.sh: + * boards/babymatch/board1_0.xml.in: + * boards/babymatch/board2_0.xml.in: + * boards/babymatch/board3_0.xml.in: + * boards/babymatch/board4_0.xml.in: + * boards/babymatch/board5_0.xml.in: + * boards/babymatch/board6_0.xml.in: + * boards/babyshapes/board1_0.xml.in: + * boards/babyshapes/board2_0.xml.in: + * boards/babyshapes/board3_0.xml.in: + * boards/babyshapes/board4_0.xml.in: + * boards/babyshapes/board5_0.xml.in: + * boards/babyshapes/board6_0.xml.in: + * boards/babyshapes/board7_0.xml.in: + * boards/doubleentry/board1_0.xml.in: + * boards/doubleentry/board2_0.xml.in: + * boards/doubleentry/board3_0.xml.in: + * boards/geography/board1_0.xml.in: + * boards/geography/board2_0.xml.in: + * boards/imagename/board1_0.xml.in: + * boards/imagename/board2_0.xml.in: + * boards/imagename/board3_0.xml.in: + * boards/imagename/board4_0.xml.in: + * boards/imagename/board5_0.xml.in: + * boards/imagename/board6_0.xml.in: + * boards/paintings/board1_0.xml.in: + * boards/paintings/board2_0.xml.in: + * boards/paintings/board3_0.xml.in: + * boards/paintings/board3_1.xml.in: + * boards/paintings/board4_0.xml.in: + * boards/paintings/board5_0.xml.in: + * boards/paintings/board6_0.xml.in: + * boards/wordsgame/README: + * boards/wordsgame/wordslevel2.fr: + * boards/wordsgame/wordslevelmax.fr: + * configure.in: + * src/Makefile.am: + * src/boards/Makefile.am: + * src/boards/advanced_colors.c: (pause_board), (start_board), + (end_board), (set_level), (is_our_board), (colors_next_level), + (colors_destroy_all_items), (colors_create_item), (game_won), + (process_ok), (item_event), (update_clock), (highlight_selected), + (init_xml), (add_xml_data), (parse_doc): + * src/boards/algebra_guesscount.c: + (algebra_guesscount_create_item): + * src/boards/chess.c: (display_white_turn), (display_info): + * src/boards/chess_position.c: (position_get_type), (class_init): + * src/boards/clockgame.c: (clockgame_create_item): + * src/boards/draw.c: (create_item): + * src/boards/enumerate.c: (enumerate_create_item): + * src/boards/imageid.c: (imageid_create_item), (add_xml_data): + * src/boards/leftright.c: (leftright_create_item): + * src/boards/maze.c: (maze_next_level): + * src/boards/menu.c: (create_info_area): + * src/boards/missingletter.c: (missing_letter_create_item), + (add_xml_data): + * src/boards/planegame.c: (planegame_create_item): + * src/boards/read_colors.c: (start_board), + (read_colors_next_level), (add_xml_data): + * src/boards/reading.c: (display_what_to_do), + (reading_create_item), (ask_ready), (ask_yes_no): + * src/boards/reversecount.c: (display_item_at): + * src/boards/shapegame.c: (find_closest_shape), (item_event), + (create_title), (add_xml_shape_to_data): + * src/boards/target.c: (start_board), (display_windspeed), + (target_create_item), (request_score): + * src/boards/wordsgame.c: (wordsgame_check_focus), (key_press), + (wordsgame_create_item), (get_random_word): + * src/gcompris/Makefile.am: + * src/gcompris/about.c: (gcompris_about_start), (item_event_ok): + * src/gcompris/callbacks.c: (on_quit1_activate), + (on_cut1_activate), (on_copy1_activate), (on_paste1_activate), + (on_about1_activate), (on_new1_activate), (on_open1_activate), + (on_save1_activate), (on_save_as1_activate), (on_quit2_activate), + (on_cut2_activate), (on_copy2_activate), (on_paste2_activate), + (on_clear2_activate), (on_properties1_activate), + (on_preferences1_activate), (on_about2_activate): + * src/gcompris/callbacks.h: + * src/gcompris/config.c: (gcompris_config_start), + (set_locale_flag): + * src/gcompris/gameutil.c: (gcompris_load_number_pixmap), + (gcompris_load_pixmap), (gcompris_add_xml_to_data), + (gcompris_read_xml_file), (convertUTF8Toisolat1): + * src/gcompris/gameutil.h: + * src/gcompris/gcompris-edit.c: + (gcompris_edit_display_description), (tree_selection_changed_cb), + (item_toggled), (add_columns), (create_model), (init_tree), + (add_menu), (read_xml_file), (main): + * src/gcompris/gcompris-edit.glade: + * src/gcompris/gcompris.c: (init_background), (setup_window), + (gcompris_set_locale), (gcompris_init): + * src/gcompris/gcompris.h: + * src/gcompris/help.c: (gcompris_help_start): + * src/gcompris/images_selector.c: (gcompris_images_selector_start), + (read_xml_file): + * src/gcompris/interface.c: (create_gcompris_edit), + (create_about1): + * src/gcompris/interface.h: + * src/gcompris/pluginenum.c: (init_plugins), (add_plugin): + * src/gcompris/soundutil.c: (thread_play_ogg), + (gcompris_play_sound): + * src/gcompris/support.c: (lookup_widget), (create_pixmap), + (create_pixbuf), (glade_set_atk_action_description): + * src/gcompris/support.h: + * src/gcompris/timer.c: (gcompris_timer_display), + (timer_increment): + 2002-11-28 bruno <bruno.coudoin@free.fr> * boards/reversecount/dice_area.jpg: created @@ -11,5 +11,5 @@ #undef PLUGINSUBS #undef PLUGIN_DIR #undef ALL_LINGUAS - - +#undef GNOME_ICONDIR +#undef GETTEXT_PACKAGE @@ -16,4 +16,4 @@ which gnome-autogen.sh || { echo "You need to install gnome-common from the GNOME CVS" exit 1 } -USE_GNOME2_MACROS=0 . gnome-autogen.sh +USE_GNOME2_MACROS=1 . gnome-autogen.sh diff --git a/boards/babymatch/board1_0.xml.in b/boards/babymatch/board1_0.xml.in index 5a7dce8..a3415c4 100644 --- a/boards/babymatch/board1_0.xml.in +++ b/boards/babymatch/board1_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babymatch/board2_0.xml.in b/boards/babymatch/board2_0.xml.in index ce2a78f..c7bc8fc 100644 --- a/boards/babymatch/board2_0.xml.in +++ b/boards/babymatch/board2_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babymatch/board3_0.xml.in b/boards/babymatch/board3_0.xml.in index ba08eae..effd8cf 100644 --- a/boards/babymatch/board3_0.xml.in +++ b/boards/babymatch/board3_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babymatch/board4_0.xml.in b/boards/babymatch/board4_0.xml.in index 52b93a4..1fc51d1 100644 --- a/boards/babymatch/board4_0.xml.in +++ b/boards/babymatch/board4_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babymatch/board5_0.xml.in b/boards/babymatch/board5_0.xml.in index 6ddb85e..f46b3f6 100644 --- a/boards/babymatch/board5_0.xml.in +++ b/boards/babymatch/board5_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babymatch/board6_0.xml.in b/boards/babymatch/board6_0.xml.in index 5e3a62f..6bac1f4 100644 --- a/boards/babymatch/board6_0.xml.in +++ b/boards/babymatch/board6_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babyshapes/board1_0.xml.in b/boards/babyshapes/board1_0.xml.in index 6e384e0..16678c5 100644 --- a/boards/babyshapes/board1_0.xml.in +++ b/boards/babyshapes/board1_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="C" pixmapfile="babyshapes/rectangle.png" targetfile="babyshapes/T_rectangle.png" x="594" y="200" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babyshapes/board2_0.xml.in b/boards/babyshapes/board2_0.xml.in index 483ffb4..5e5f788 100644 --- a/boards/babyshapes/board2_0.xml.in +++ b/boards/babyshapes/board2_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="C" pixmapfile="babyshapes/banana.png" targetfile="babyshapes/T_banana.png" x="594" y="200" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babyshapes/board3_0.xml.in b/boards/babyshapes/board3_0.xml.in index 08cc694..c0338a6 100644 --- a/boards/babyshapes/board3_0.xml.in +++ b/boards/babyshapes/board3_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="C" pixmapfile="babyshapes/colonne.png" targetfile="babyshapes/T_colonne.png" x="594" y="200" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babyshapes/board4_0.xml.in b/boards/babyshapes/board4_0.xml.in index e3e37d8..2484940 100644 --- a/boards/babyshapes/board4_0.xml.in +++ b/boards/babyshapes/board4_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="C" pixmapfile="babyshapes/toron.png" targetfile="babyshapes/T_toron.png" x="594" y="200" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/babyshapes/board5_0.xml.in b/boards/babyshapes/board5_0.xml.in index 5f4a8f9..db2f19c 100644 --- a/boards/babyshapes/board5_0.xml.in +++ b/boards/babyshapes/board5_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Title x="394" y="495" justification="GTK_JUSTIFY_CENTER"> <_name>Hello ! My name is Lock.</_name> diff --git a/boards/babyshapes/board6_0.xml.in b/boards/babyshapes/board6_0.xml.in index 04f76c6..4e2e566 100644 --- a/boards/babyshapes/board6_0.xml.in +++ b/boards/babyshapes/board6_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Title x="394" y="495" justification="GTK_JUSTIFY_CENTER"> <_name>Lock on grass.</_name> diff --git a/boards/babyshapes/board7_0.xml.in b/boards/babyshapes/board7_0.xml.in index a7282da..f159f43 100644 --- a/boards/babyshapes/board7_0.xml.in +++ b/boards/babyshapes/board7_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Title x="394" y="495" justification="GTK_JUSTIFY_CENTER"> <_name>Lock with colored shapes.</_name> diff --git a/boards/doubleentry/board1_0.xml.in b/boards/doubleentry/board1_0.xml.in index 29b5d3d..de5920c 100644 --- a/boards/doubleentry/board1_0.xml.in +++ b/boards/doubleentry/board1_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame shapebox_x="15" shapebox_y="20" shapebox_w="80" shapebox_h="440" shapebox_nb_shape_x="1" shapebox_nb_shape_y="6" > <Shape name="1" pixmapfile="gcompris/letters/1.png" x="231" y="90" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/> diff --git a/boards/doubleentry/board2_0.xml.in b/boards/doubleentry/board2_0.xml.in index c05348a..aa6611f 100644 --- a/boards/doubleentry/board2_0.xml.in +++ b/boards/doubleentry/board2_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="doubleentry/circle-r0-g2.png" x="231" y="90" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/> <Shape name="D" pixmapfile="doubleentry/circle-r2-g0.png" x="137" y="170" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/> diff --git a/boards/doubleentry/board3_0.xml.in b/boards/doubleentry/board3_0.xml.in index 48e7700..3202667 100644 --- a/boards/doubleentry/board3_0.xml.in +++ b/boards/doubleentry/board3_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/letters/1.png" x="231" y="90" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/> <Shape name="c" pixmapfile="gcompris/letters/C.png" x="137" y="325" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/> diff --git a/boards/geography/board1_0.xml.in b/boards/geography/board1_0.xml.in index 0bb6e1d..cfddcc1 100644 --- a/boards/geography/board1_0.xml.in +++ b/boards/geography/board1_0.xml.in @@ -1,7 +1,9 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> - <Title name="North America" x="600" y="495" justification="GTK_JUSTIFY_CENTER"/> + <Title x="600" y="495" justification="GTK_JUSTIFY_CENTER"> + <_name>North America</_name> + </Title> <Shape name="A" pixmapfile="geography/northamerica/bahamas.png" x="379" y="443" zoomx="1" zoomy="1" position="0" sound="geography/bahamas"/> <Shape name="B" pixmapfile="geography/northamerica/canada.png" x="329" y="182" zoomx="1" zoomy="1" position="0" sound="geography/canada"/> <Shape name="C" pixmapfile="geography/northamerica/cuba.png" x="371" y="472" zoomx="1" zoomy="1" position="0" sound="geography/cuba"/> diff --git a/boards/geography/board2_0.xml.in b/boards/geography/board2_0.xml.in index e1e3303..8544e8c 100644 --- a/boards/geography/board2_0.xml.in +++ b/boards/geography/board2_0.xml.in @@ -1,6 +1,8 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> - <Title name="South America" x="550" y="495" justification="GTK_JUSTIFY_CENTER"/> + <Title x="600" y="495" justification="GTK_JUSTIFY_CENTER"> + <_name>South America</_name> + </Title> <Shape name="A" pixmapfile="geography/southamerica/argentina.png" x="390" y="380" zoomx="1" zoomy="1" position="0" sound="geography/argentina"/> <Shape name="B" pixmapfile="geography/southamerica/bolivia.png" x="370" y="224" zoomx="1" zoomy="1" position="0" sound="geography/bolivia"/> <Shape name="C" pixmapfile="geography/southamerica/brazil.png" x="433" y="203" zoomx="1" zoomy="1" position="0" sound="geography/brazil"/> diff --git a/boards/imagename/board1_0.xml.in b/boards/imagename/board1_0.xml.in index 4847724..7c1a1ea 100644 --- a/boards/imagename/board1_0.xml.in +++ b/boards/imagename/board1_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/imagename/board2_0.xml.in b/boards/imagename/board2_0.xml.in index 44a431a..d135d89 100644 --- a/boards/imagename/board2_0.xml.in +++ b/boards/imagename/board2_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/imagename/board3_0.xml.in b/boards/imagename/board3_0.xml.in index ec69835..be3c156 100644 --- a/boards/imagename/board3_0.xml.in +++ b/boards/imagename/board3_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/imagename/board4_0.xml.in b/boards/imagename/board4_0.xml.in index 85a2a3e..a42b1dd 100644 --- a/boards/imagename/board4_0.xml.in +++ b/boards/imagename/board4_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/imagename/board5_0.xml.in b/boards/imagename/board5_0.xml.in index 4a26149..df252d2 100644 --- a/boards/imagename/board5_0.xml.in +++ b/boards/imagename/board5_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/imagename/board6_0.xml.in b/boards/imagename/board6_0.xml.in index 8e833ff..4b6e7d0 100644 --- a/boards/imagename/board6_0.xml.in +++ b/boards/imagename/board6_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/images/target_background.jpg b/boards/images/target_background.jpg Binary files differnew file mode 100644 index 0000000..9613afa --- /dev/null +++ b/boards/images/target_background.jpg diff --git a/boards/maze3D.xml.in b/boards/maze3D.xml.in index d276228..d5167fe 100644 --- a/boards/maze3D.xml.in +++ b/boards/maze3D.xml.in @@ -12,6 +12,7 @@ <_description>Find your way out of the 3D maze</_description> <_prerequisite>Can use the keyboard arrow to move an object.</_prerequisite> <_goal>Help Tux get out of this maze.</_goal> - <_manual>Use the keyboard arrows to move Tux up to the door.</_manual> + <_manual>Use the keyboard arrows to move Tux up to the door. +Use the 'space' key to switch between 2D and 3D mode</_manual> </Board> </GCompris> diff --git a/boards/paintings/board1_0.xml.in b/boards/paintings/board1_0.xml.in index 39c8c05..b5d0793 100644 --- a/boards/paintings/board1_0.xml.in +++ b/boards/paintings/board1_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="495" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board2_0.xml.in b/boards/paintings/board2_0.xml.in index 30876ac..cf6ada9 100644 --- a/boards/paintings/board2_0.xml.in +++ b/boards/paintings/board2_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board3_0.xml.in b/boards/paintings/board3_0.xml.in index 2326d6d..d2ca8bb 100644 --- a/boards/paintings/board3_0.xml.in +++ b/boards/paintings/board3_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="495" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board3_1.xml.in b/boards/paintings/board3_1.xml.in index 4da73f0..8c30cf1 100644 --- a/boards/paintings/board3_1.xml.in +++ b/boards/paintings/board3_1.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="495" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board4_0.xml.in b/boards/paintings/board4_0.xml.in index 091eeaf..0d39801 100644 --- a/boards/paintings/board4_0.xml.in +++ b/boards/paintings/board4_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="405" y="460" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board5_0.xml.in b/boards/paintings/board5_0.xml.in index 59e0a9b..6faa28d 100644 --- a/boards/paintings/board5_0.xml.in +++ b/boards/paintings/board5_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="395" y="490" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/paintings/board6_0.xml.in b/boards/paintings/board6_0.xml.in index c3d69f0..f908de4 100644 --- a/boards/paintings/board6_0.xml.in +++ b/boards/paintings/board6_0.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <ShapeGame> <Shape name="1" pixmapfile="gcompris/gcompris-shapelabel.jpg" type="SHAPE_BACKGROUND" x="395" y="495" zoomx="1" zoomy="1" position="0"/> diff --git a/boards/wordsgame/README b/boards/wordsgame/README index 519405b..da0e744 100644 --- a/boards/wordsgame/README +++ b/boards/wordsgame/README @@ -1,3 +1,9 @@ +Important: These file must be UTF-8 formated. + To do this, you can use OpenOffice using the save as coded content + and select UTF-8 Encoding. + You can also load your text back in OO using load as coded text content + and select UTF-8 Encoding. + To complete the translation, you must also provide a set of file in boards/wordsgame/wordslevelx.yy Where x is the level or max and yy your target locale. diff --git a/boards/wordsgame/wordslevel2.fr b/boards/wordsgame/wordslevel2.fr index cd3d84e..97dc07a 100644 --- a/boards/wordsgame/wordslevel2.fr +++ b/boards/wordsgame/wordslevel2.fr @@ -1,23 +1,23 @@ -attelé +attelé farine -fumée -mère -passé +fumée +mère +passé petite -posé -pré -père -ramassé -rivière +posé +pré +père +ramassé +rivière tissus -tué -valérie -vipère -vélo -étoffe -épine +tué +valérie +vipère +vélo +étoffe +épine maman -mené +mené olive patte petit @@ -35,6 +35,6 @@ blanche douce lourde coquette -brève +brève vive neuve diff --git a/boards/wordsgame/wordslevelmax.fr b/boards/wordsgame/wordslevelmax.fr index 6db95e6..5528e5f 100644 --- a/boards/wordsgame/wordslevelmax.fr +++ b/boards/wordsgame/wordslevelmax.fr @@ -1,69 +1,4 @@ -ami -avec -bobi -canot -et -ferme -file -loto -moto -mule -nappe -nid -pie -rame -rire -rive -rue -sabot -sole -son -suit -tapis -tasse -venu -ville -vit -vite -vole -vu -attelé -farine -fumée -mère -passé -petite -posé -pré -père -ramassé -rivière -tissus -tué -valérie -vipère -vélo -étoffe -épine -maman -mené -olive -patte -petit -pomme -daniel -assis -peindre -joindre -craindre -prendre -coudre -valoir -bienvenue -blanche -douce -lourde -coquette -brève -vive -neuve +vipère +vélo +étoffe +épine diff --git a/configure.in b/configure.in index 7eb1637..26451d7 100644 --- a/configure.in +++ b/configure.in @@ -1,12 +1,24 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(configure.in) -AM_INIT_AUTOMAKE(gcompris, 1.2.1) +AC_INIT(src/gcompris/gcompris.c) +AM_INIT_AUTOMAKE(gcompris, 2.0.0) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX -GNOME_INIT +GNOME_COMPILE_WARNINGS + +GNOME_PTHREAD_CHECK +AC_SUBST(PTHREAD_LIB) + +LIBGNOME_REQUIRED=1.96.0 +LIBGNOMEUI_REQUIRED=1.96.0 +GDK_PIXBUF_REQUIRED=2.0.6 +LIBGNOMECANVAS_REQUIRED=2.0.2 + +PKG_CHECK_MODULES(GCOMPRIS, libgnome-2.0 >= $LIBGNOME_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED libgnomecanvas-2.0 >= $LIBGNOMECANVAS_REQUIRED) +AC_SUBST(GCOMPRIS_CFLAGS) +AC_SUBST(GCOMPRIS_LIBS) dnl For embedded ogg player dnl FIXME XIPH prefix are the one needed on Mandrake ? @@ -17,12 +29,6 @@ dnl AM_PATH_OGG dnl AM_PATH_AO dnl AM_PATH_VORBIS -AC_SUBST(SHARE_CFLAGS) -AC_SUBST(SOCKET_LIBS) -AC_SUBST(SHARE_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_LIBS) - AC_PROG_CC AM_PROG_CC_STDC AC_HEADER_STDC @@ -30,11 +36,11 @@ AC_HEADER_STDC AC_PROG_INTLTOOL AM_DISABLE_STATIC +AC_LIBTOOL_DLOPEN AM_PROG_LIBTOOL -GNOME_X_CHECKS +dnl GNOME2 GNOME_X_CHECKS AM_PATH_GLIB -AM_PATH_GDK_PIXBUF AM_PATH_XML2 AM_ICONV @@ -45,14 +51,10 @@ dnl GCompris needs to know which locale are supported AC_SUBST(ALL_LINGUAS) AC_DEFINE_UNQUOTED(ALL_LINGUAS, "${ALL_LINGUAS}") -dnl AM_GLIB_GNU_GETTEXT +GETTEXT_PACKAGE=gcompris +AC_SUBST(GETTEXT_PACKAGE) AM_GLIB_GNU_GETTEXT - -dnl Add the gnome canvas pixbuf. It comes with GDK_PIXBUF but not added automatically -dnl FIXME : should use gnome-config gnomecanvaspixbuf --libs -dnl and gnome-config gnomecanvaspixbuf --cflags -GDK_PIXBUF_LIBS="$GDK_PIXBUF_LIBS -lgnomecanvaspixbuf" -AC_SUBST(GDK_PIXBUF_LIBS) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE") dnl Define myprefix depending on wether our user gives us one or not if test "x${prefix}" = "xNONE"; then @@ -83,13 +85,21 @@ dnl Plugin Directory AC_DEFINE_UNQUOTED(PLUGINSUBS, "") AC_DEFINE_UNQUOTED(PLUGIN_DIR, "${myprefix}/lib/gcompris") +AC_DEFINE_UNQUOTED(GNOME_ICONDIR, "${myprefix}/share/pixmaps") + plugindir=$libdir/gcompris AC_SUBST(plugindir) +dnl Test for gnuchess + +AC_PATH_PROG(GNUCHESS, gnuchess,no) +if test x$GNUCHESS = xno; then + AC_MSG_ERROR(Couldn't find gnuchess, please install the gnuchess package version 5 or above) +fi + AC_OUTPUT([ gcompris.spec Makefile src/Makefile -src/unicode/Makefile src/gcompris/Makefile src/boards/Makefile po/Makefile.in @@ -1,14 +1,14 @@ -# French translation of gcompris. +# gcompris fr.po. # Copyright (C) 2000-2002 Free Software Foundation, Inc. -# maintainer: Bruno Coudoin <bruno.coudoin@free.fr>, 2000-2002. -# Christophe Merlet (RedFox) <redfox@redfoxcenter.org>, 2002. +# maintainer: Bruno Coudoin <bruno.coudoin@free.fr>, 2000-2001. +# Christophe Merlet (RedFox) <redfox@eikonex.org>, 2002. # msgid "" msgstr "" -"Project-Id-Version: 1.2.1\n" -"POT-Creation-Date: 2002-12-14 15:01+0100\n" -"PO-Revision-Date: 2002-12-14 14:59+0100\n" -"Last-Translator: Bruno Coudoin <bruno.coudoin@free.fr>\n" +"Project-Id-Version: 0.9.7\n" +"POT-Creation-Date: 2002-12-14 23:54+0100\n" +"PO-Revision-Date: 2002-12-14 23:57+0100\n" +"Last-Translator: Bruno Coudoin <bruno.coudoin@anfora.fr>\n" "Language-Team: GNOME French Team <gnomefr@traduc.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" @@ -815,6 +815,14 @@ msgstr "Attrape et fais glisser les éléments pour reconstruire la carte" msgid "Place the lands" msgstr "Place les pays" +#: boards/geography/board1_0.xml.in.h:1 +msgid "North America" +msgstr "Amérique du Nord" + +#: boards/geography/board2_0.xml.in.h:1 +msgid "South America" +msgstr "Amérique du Sud" + #: boards/gletters.xml.in.h:1 boards/wordsgame.xml.in.h:3 msgid "Keyboard manipulation" msgstr "Manipulation du clavier" @@ -1647,11 +1655,11 @@ msgstr "Envoie des flèches sur la cible et compte ton score" msgid "Touch the target and count your points" msgstr "Touche la cible et compte tes points" -#: boards/wordsgame.xml.in.h:1 src/boards/wordsgame.c:85 +#: boards/wordsgame.xml.in.h:1 src/boards/wordsgame.c:86 msgid "Falling Words" msgstr "Les mots qui tombent" -#: boards/wordsgame.xml.in.h:2 src/boards/wordsgame.c:86 +#: boards/wordsgame.xml.in.h:2 src/boards/wordsgame.c:87 msgid "Fully type the falling words before they reach the ground" msgstr "Saisis au clavier les mots qui tombent avant qu'ils ne touchent le sol" @@ -1667,20 +1675,20 @@ msgstr "Jeu éducatif à partir de 3 ans" msgid "Editor for gcompris" msgstr "Editeur de gcompris" -#: src/boards/advanced_colors.c:529 src/boards/imageid.c:578 -#: src/boards/menu.c:538 src/boards/missingletter.c:599 -#: src/boards/read_colors.c:487 src/boards/shapegame.c:1564 -#: src/gcompris/gameutil.c:86 src/gcompris/gameutil.c:105 -#: src/gcompris/gameutil.c:398 src/gcompris/gameutil.c:399 -#: src/gcompris/gcompris-edit.c:361 src/gcompris/gcompris-edit.c:362 -#: src/gcompris/images_selector.c:353 src/gcompris/soundutil.c:269 +#: src/boards/advanced_colors.c:526 src/boards/imageid.c:573 +#: src/boards/menu.c:533 src/boards/missingletter.c:595 +#: src/boards/read_colors.c:485 src/boards/shapegame.c:1561 +#: src/gcompris/gameutil.c:85 src/gcompris/gameutil.c:104 +#: src/gcompris/gameutil.c:391 src/gcompris/gameutil.c:392 +#: src/gcompris/gcompris-edit.c:414 src/gcompris/gcompris-edit.c:415 +#: src/gcompris/images_selector.c:347 src/gcompris/soundutil.c:269 #, c-format msgid "Couldn't find file %s !" msgstr "Ne peux pas trouver le fichier %s !" -#: src/boards/advanced_colors.c:532 src/boards/imageid.c:581 -#: src/boards/missingletter.c:602 src/boards/read_colors.c:490 -#: src/boards/shapegame.c:1567 +#: src/boards/advanced_colors.c:529 src/boards/imageid.c:576 +#: src/boards/missingletter.c:598 src/boards/read_colors.c:488 +#: src/boards/shapegame.c:1564 #, c-format msgid "find file %s !" msgstr "trouve le fichier %s !" @@ -1732,31 +1740,31 @@ msgstr "" "dans votre distribution GNU/Linux.\n" "Ensuite vérifiez qu'il est dans /usr/bin/gnuchessx" -#: src/boards/chess.c:571 +#: src/boards/chess.c:569 msgid "White Turn" msgstr "Les blancs jouent" -#: src/boards/chess.c:571 +#: src/boards/chess.c:569 msgid "Black Turn" msgstr "Les noirs jouent" -#: src/boards/chess.c:715 +#: src/boards/chess.c:710 msgid "White check" msgstr "Echec au blancs" -#: src/boards/chess.c:717 +#: src/boards/chess.c:712 msgid "Black check" msgstr "Echec au noirs" -#: src/boards/chess.c:1049 +#: src/boards/chess.c:1044 msgid "Black mates" msgstr "Blancs échec et mat" -#: src/boards/chess.c:1054 +#: src/boards/chess.c:1049 msgid "White mates" msgstr "Noirs échec et mat" -#: src/boards/chess.c:1059 +#: src/boards/chess.c:1054 msgid "Drawn game" msgstr "Echec et pat" @@ -1773,7 +1781,7 @@ msgstr "Apprends à reconnaitre les lettres" msgid "Couldn't open pixmap dir: %s" msgstr "Ne peut pas trouver le répertoire d'images: %s" -#: src/boards/clockgame.c:537 +#: src/boards/clockgame.c:530 msgid "Set the watch to:" msgstr "Règle la montre sur :" @@ -1781,11 +1789,11 @@ msgstr "Règle la montre sur :" msgid "Learn how to read" msgstr "Apprends à lire" -#: src/boards/leftright.c:251 +#: src/boards/leftright.c:247 msgid "left" msgstr "gauche" -#: src/boards/leftright.c:261 +#: src/boards/leftright.c:257 msgid "right" msgstr "droite" @@ -1817,11 +1825,11 @@ msgstr "Le jeu de mémoire" msgid "Build a train conforming to the model" msgstr "Construis un train correspondant au modèle" -#: src/boards/read_colors.c:86 +#: src/boards/read_colors.c:85 msgid "Read Colors" msgstr "Lire des couleurs" -#: src/boards/read_colors.c:87 +#: src/boards/read_colors.c:86 msgid "Click on the corresponding color" msgstr "Clique sur la bonne couleur lue" @@ -1829,23 +1837,23 @@ msgstr "Clique sur la bonne couleur lue" msgid "Read a list of words and then tell if the given word is in it" msgstr "Lis une liste de mots et dis si le mot donné en fait partie" -#: src/boards/reading.c:316 +#: src/boards/reading.c:313 msgid "Please, check if the word" msgstr "S'il te plaît, vérifie si le mot" -#: src/boards/reading.c:336 +#: src/boards/reading.c:333 msgid "is being displayed" msgstr "est affiché" -#: src/boards/reading.c:527 +#: src/boards/reading.c:516 msgid "I am Ready" msgstr "Je suis prêt" -#: src/boards/reading.c:567 +#: src/boards/reading.c:553 msgid "Yes I saw it" msgstr "Oui je l'ai vu" -#: src/boards/reading.c:597 +#: src/boards/reading.c:583 msgid "No, it was not there" msgstr "Non, il n'y était pas" @@ -1857,12 +1865,12 @@ msgstr "Compte à rebours" msgid "Drag and Drop the items to rebuild the object" msgstr "Attrape et fais glisser les éléments pour reconstruire l'objet" -#: src/boards/target.c:324 src/boards/target.c:581 +#: src/boards/target.c:324 src/boards/target.c:572 #, c-format msgid "Points = %s" msgstr "Points = %s" -#: src/boards/target.c:444 +#: src/boards/target.c:441 #, c-format msgid "" "Wind speed = %d\n" @@ -1871,12 +1879,12 @@ msgstr "" "Vitesse du vent = %d\n" "kilometres/heure" -#: src/boards/target.c:509 +#: src/boards/target.c:503 #, c-format msgid "Distance to target = %d meters" msgstr "Distance de la cible = %d metres" -#: src/gcompris/about.c:60 +#: src/gcompris/about.c:57 msgid "" "Credits:\n" "Author: Bruno Coudoin\n" @@ -1890,27 +1898,27 @@ msgstr "" "Graphiques: Renaud Blanchard\n" "Musique: Djilali Sebihi\n" -#: src/gcompris/about.c:103 +#: src/gcompris/about.c:94 msgid "About GCompris" msgstr "Au sujet de GCompris" -#: src/gcompris/about.c:215 +#: src/gcompris/about.c:200 msgid "GCompris Home Page" msgstr "Page d'accueil de GCompris" -#: src/gcompris/about.c:237 +#: src/gcompris/about.c:222 msgid "" "This software is a GNU Package and is released under the Gnu Public Licence" msgstr "" "Ce logiciel est un paquetage GNU et est soumis à la License Publique Gnu " "(GPL)" -#: src/gcompris/about.c:265 +#: src/gcompris/about.c:250 msgid "Help" msgstr "Aide" -#: src/gcompris/about.c:299 src/gcompris/config.c:162 src/gcompris/help.c:355 -#: src/gcompris/images_selector.c:154 +#: src/gcompris/about.c:284 src/gcompris/config.c:154 src/gcompris/help.c:342 +#: src/gcompris/images_selector.c:148 msgid "OK" msgstr "Valider" @@ -1998,19 +2006,19 @@ msgstr "Compteur rapide" msgid "800x600 (Default for gcompris)" msgstr "800x600 (Défaut pour gcompris)" -#: src/gcompris/config.c:136 +#: src/gcompris/config.c:128 msgid "GCompris Configuration" msgstr "Configuration de GCompris" -#: src/gcompris/config.c:248 +#: src/gcompris/config.c:234 msgid "Fullscreen" msgstr "Plein écran" -#: src/gcompris/config.c:291 +#: src/gcompris/config.c:277 msgid "Music" msgstr "Musique" -#: src/gcompris/config.c:319 +#: src/gcompris/config.c:305 msgid "Effect" msgstr "Effet" @@ -2042,11 +2050,11 @@ msgstr "Affiche la version de " msgid "Use the antialiased canvas (slower)." msgstr "Utiliser le canvas anti-aliasé (plus lent)." -#: src/gcompris/gcompris.c:316 +#: src/gcompris/gcompris.c:328 msgid "GCompris I Have Understood" msgstr "GCompris J'ai Compris" -#: src/gcompris/gcompris.c:512 +#: src/gcompris/gcompris.c:534 #, c-format msgid "" "GCompris\n" @@ -2059,148 +2067,74 @@ msgstr "" "License: GPL\n" "Plus d'informations sur http://ofset.sourceforge.net/gcompris\n" -#: src/gcompris/gcompris.h:105 -msgid "-bitstream-charter-black-r-normal-*-*-320-*-*-p-*-iso8859-1" -msgstr "-bitstream-charter-black-r-normal-*-*-320-*-*-p-*-iso8859-1" - -#: src/gcompris/gcompris.h:106 src/gcompris/gcompris.h:115 -msgid "-adobe-times-medium-r-normal--*-240-*-*-*-*-*-*" -msgstr "-adobe-times-medium-r-normal--*-240-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:107 -msgid "-bitstream-charter-medium-r-normal-*-*-180-*-*-p-*-iso8859-1" -msgstr "-adobe-times-medium-r-normal--*-180-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:108 src/gcompris/gcompris.h:114 -msgid "-adobe-times-medium-r-normal--*-180-*-*-*-*-*-*" -msgstr "-adobe-times-medium-r-normal--*-180-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:109 -msgid "-bitstream-charter-medium-r-normal-*-*-140-*-*-p-*-iso8859-1" -msgstr "-bitstream-charter-medium-r-normal-*-*-140-*-*-p-*-iso8859-1" - -#: src/gcompris/gcompris.h:110 src/gcompris/gcompris.h:113 -msgid "-adobe-times-medium-r-normal--*-140-*-*-*-*-*-*" -msgstr "-adobe-times-medium-r-normal--*-140-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:112 -msgid "-adobe-times-medium-r-normal--*-120-*-*-*-*-*-*" -msgstr "-adobe-times-medium-r-normal--*-120-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:116 -msgid "-adobe-times-bold-r-normal--*-240-*-*-*-*-*-*" -msgstr "-adobe-times-bold-r-normal--*-240-*-*-*-*-*-*" - -#: src/gcompris/gcompris.h:117 -msgid "-misc-fixed-medium-r-normal-*-*-200-*-*-c-*-*-*" -msgstr "-misc-fixed-medium-r-normal-*-*-200-*-*-*-*-iso8859-1" - -#: src/gcompris/help.c:181 src/gcompris/interface.c:435 +#: src/gcompris/help.c:168 src/gcompris/interface.c:243 msgid "Prerequisite" msgstr "Prérequis" -#: src/gcompris/help.c:215 src/gcompris/interface.c:446 +#: src/gcompris/help.c:202 src/gcompris/interface.c:252 msgid "Goal" msgstr "Objectif" -#: src/gcompris/help.c:249 src/gcompris/interface.c:457 +#: src/gcompris/help.c:236 src/gcompris/interface.c:261 msgid "Manual" msgstr "Manuel" -#: src/gcompris/help.c:283 src/gcompris/interface.c:546 +#: src/gcompris/help.c:270 src/gcompris/interface.c:270 msgid "Credit" msgstr "Crédit" -#: src/gcompris/interface.c:117 -msgid "GCompris Edit" +#: src/gcompris/interface.c:104 +msgid "Gcompris Editor" msgstr "GCompris Editeur" -#: src/gcompris/interface.c:222 -msgid "Add" -msgstr "Ajouter" - -#: src/gcompris/interface.c:223 -msgid "New file" -msgstr "Nouveau fichier" - -#: src/gcompris/interface.c:235 -msgid "Remove" -msgstr "Efface" - -#: src/gcompris/interface.c:236 -msgid "Open a file" -msgstr "Ouvrir un fichier" - -#: src/gcompris/interface.c:248 -msgid "Up" -msgstr "Monter" - -#: src/gcompris/interface.c:261 -msgid "Down" -msgstr "Bas" - -#: src/gcompris/interface.c:296 -msgid "List of activities" -msgstr "Liste des activités" +#: src/gcompris/interface.c:180 +msgid "Icon" +msgstr "Icone" -#: src/gcompris/interface.c:302 src/gcompris/interface.c:568 +#: src/gcompris/interface.c:189 msgid "Name" msgstr "Nom" -#: src/gcompris/interface.c:311 src/gcompris/interface.c:590 -msgid "Title" -msgstr "Titre" +#: src/gcompris/interface.c:198 src/gcompris/interface.c:415 +msgid "Description" +msgstr "Description" + +#: src/gcompris/interface.c:207 +msgid "Type" +msgstr "Type" -#: src/gcompris/interface.c:320 src/gcompris/interface.c:395 +#: src/gcompris/interface.c:216 msgid "Difficulty" msgstr "Difficulté" -#: src/gcompris/interface.c:362 -msgid "Icon" -msgstr "Icone" - -#: src/gcompris/interface.c:373 -msgid "Board dir" -msgstr "Répertoire" - -#: src/gcompris/interface.c:384 +#: src/gcompris/interface.c:225 msgid "Author" msgstr "Auteur" -#: src/gcompris/interface.c:406 -msgid "Type" -msgstr "Type" - -#: src/gcompris/interface.c:536 -msgid "..." -msgstr "..." - -#: src/gcompris/interface.c:544 -msgid "Enregistrer le fichier" -msgstr "Enregistrer le fichier" +#: src/gcompris/interface.c:234 +msgid "Directory" +msgstr "Répertoire" -#: src/gcompris/interface.c:557 src/gcompris/interface.c:711 -msgid "Description" -msgstr "Description" +#: src/gcompris/interface.c:286 +msgid "Title" +msgstr "Titre" -#: src/gcompris/interface.c:723 -msgid "Content" -msgstr "Contenu" +#. TRANSLATORS: Replace this string with your names, one name per line. +#: src/gcompris/interface.c:484 +msgid "translator_credits" +msgstr "" +"Bruno Coudoin\n" +"Christophe Merlet (RedFox)" -#: src/gcompris/interface.c:778 -msgid "Icon List" -msgstr "Liste des icones" +#: src/gcompris/interface.c:490 +msgid "Released under GPL" +msgstr "Sous Licence GPL" -#: src/gcompris/support.c:100 src/gcompris/support.c:138 +#: src/gcompris/support.c:60 src/gcompris/support.c:85 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Ne peux pas trouver l'image %s !" -#: src/gcompris/support.c:116 -#, c-format -msgid "Couldn't create pixmap from file: %s" -msgstr "Ne peut pas trouver l'image: %s" - #: src/gcompris/timer.c:237 msgid "Time Ellapsed" msgstr "Temps écoulé" @@ -2209,25 +2143,3 @@ msgstr "Temps écoulé" #, c-format msgid "Remaining Time = %d" msgstr "Temps restant = %d" - -#~ msgid "" -#~ "A division of two numbers is displayed. At the right of the equal sign, " -#~ "give the answer. Use the left and right arrow to modify your answer, the " -#~ "return key to validate an answer. The timer can be enabled or disabled in " -#~ "the gcompris general configuration." -#~ msgstr "" -#~ "La division de deux nombres est affichée. Sur la droite du signe égale,\n" -#~ "vous devez entrer la réponse. Utiliser les touches gauche et droite pour " -#~ "modifier\n" -#~ "la réponse.\n" -#~ "La touche 'entrée' valide la réponse." - -#~ msgid "In a limited time, give the result to the division of two numbers" -#~ msgstr "En en temps limité, donnez la réponse à la division de deux nombres" - -#~ msgid "Practice the division operation" -#~ msgstr "Entraînement à l'opération de division" - -#, fuzzy -#~ msgid "Move the mouse to enumerate the area and discover the background" -#~ msgstr "Déplace la souris pour tout effacer et découvir le fond" diff --git a/src/Makefile.am b/src/Makefile.am index 8518472..cbc22fb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = unicode gcompris boards +SUBDIRS = gcompris boards diff --git a/src/boards/Makefile.am b/src/boards/Makefile.am index 75b70ae..3c78966 100644 --- a/src/boards/Makefile.am +++ b/src/boards/Makefile.am @@ -34,262 +34,231 @@ libdir = $(plugindir) INCLUDES = \ -I.. \ -I$(top_srcdir)/intl \ - $(GNOME_INCLUDEDIR) \ - $(GDK_PIXBUF_CFLAGS) \ + $(GCOMPRIS_CFLAGS) \ $(XML_CFLAGS) libmenu_la_LDFLAGS = -module -avoid-version -libmenu_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libmenu_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libmenu_la_SOURCES = menu.c libclickgame_la_LDFLAGS = -module -avoid-version -libclickgame_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libclickgame_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libclickgame_la_SOURCES = clickgame.c libalgebra_la_LDFLAGS = -module -avoid-version -libalgebra_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libalgebra_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libalgebra_la_SOURCES = algebra.c libclockgame_la_LDFLAGS = -module -avoid-version -libclockgame_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libclockgame_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libclockgame_la_SOURCES = clockgame.c libshapegame_la_LDFLAGS = -module -avoid-version -libshapegame_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libshapegame_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libshapegame_la_SOURCES = shapegame.c libwordsgame_la_LDFLAGS = -module -avoid-version -libwordsgame_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libwordsgame_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libwordsgame_la_SOURCES = wordsgame.c libgletters_la_LDFLAGS = -module -avoid-version -libgletters_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libgletters_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libgletters_la_SOURCES = gletters.c libplanegame_la_LDFLAGS = -module -avoid-version -libplanegame_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libplanegame_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libplanegame_la_SOURCES = planegame.c libsmallnumbers_la_LDFLAGS = -module -avoid-version -libsmallnumbers_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libsmallnumbers_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libsmallnumbers_la_SOURCES = smallnumbers.c libparatrooper_la_LDFLAGS = -module -avoid-version -libparatrooper_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libparatrooper_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libparatrooper_la_SOURCES = paratrooper.c libreading_la_LDFLAGS = -module -avoid-version -libreading_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libreading_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libreading_la_SOURCES = reading.c libdraw_la_LDFLAGS = -module -avoid-version -libdraw_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libdraw_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libdraw_la_SOURCES = draw.c libmemory_la_LDFLAGS = -module -avoid-version -libmemory_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libmemory_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libmemory_la_SOURCES = memory.c libimageid_la_LDFLAGS = -module -avoid-version -libimageid_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libimageid_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libimageid_la_SOURCES = imageid.c libmissingletter_la_LDFLAGS = -module -avoid-version -libmissingletter_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libmissingletter_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libmissingletter_la_SOURCES = missingletter.c libclick_on_letter_la_LDFLAGS = -module -avoid-version -libclick_on_letter_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libclick_on_letter_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libclick_on_letter_la_SOURCES = click_on_letter.c librailroad_la_LDFLAGS = -module -avoid-version -librailroad_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +librailroad_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) librailroad_la_SOURCES = railroad.c liberase_la_LDFLAGS = -module -avoid-version -liberase_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +liberase_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) liberase_la_SOURCES = erase.c libalgebra_guesscount_la_LDFLAGS = -module -avoid-version -libalgebra_guesscount_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libalgebra_guesscount_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) libalgebra_guesscount_la_SOURCES = algebra_guesscount.c libleftright_la_LDFLAGS = -module -avoid-version -libleftright_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libleftright_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libleftright_la_SOURCES = leftright.c libcolors_la_LDFLAGS = -module -avoid-version -libcolors_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libcolors_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libcolors_la_SOURCES = colors.c libtarget_la_LDFLAGS = -module -avoid-version -libtarget_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libtarget_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libtarget_la_SOURCES = target.c libmaze_la_LDFLAGS = -module -avoid-version -libmaze_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libmaze_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libmaze_la_SOURCES = maze.c libreversecount_la_LDFLAGS = -module -avoid-version -libreversecount_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libreversecount_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libreversecount_la_SOURCES = reversecount.c libcanal_lock_la_LDFLAGS = -module -avoid-version -libcanal_lock_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libcanal_lock_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libcanal_lock_la_SOURCES = canal_lock.c libadvanced_colors_la_LDFLAGS = -module -avoid-version -libadvanced_colors_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libadvanced_colors_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libadvanced_colors_la_SOURCES = advanced_colors.c libsuperbrain_la_LDFLAGS = -module -avoid-version -libsuperbrain_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libsuperbrain_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libsuperbrain_la_SOURCES = superbrain.c libread_colors_la_LDFLAGS = -module -avoid-version -libread_colors_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libread_colors_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libread_colors_la_SOURCES = read_colors.c libchess_la_LDFLAGS = -module -avoid-version -libchess_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libchess_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libchess_la_SOURCES = chess.c chess_position.c chess_notation.c \ chess_notation.h chess_position.h chess_makros.h libenumerate_la_LDFLAGS = -module -avoid-version -libenumerate_la_LIBADD = @GTK_LIBS@ @PTHREAD_LIB@ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ - $(GNOME_XML_LIB) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) +libenumerate_la_LIBADD = @PTHREAD_LIB@ + $(GCOMPRIS_LIBS) \ + $(GNOME_XML_LIB) $(INTLLIBS) libenumerate_la_SOURCES = enumerate.c diff --git a/src/boards/advanced_colors.c b/src/boards/advanced_colors.c index e5ddde3..aa68b54 100644 --- a/src/boards/advanced_colors.c +++ b/src/boards/advanced_colors.c @@ -70,7 +70,7 @@ static char* colors[LAST_COLOR]; static char *backgroundFile = NULL; static int X[] = {57,229,236,389,413,567,573,744, - 7,207,212,388,415,589,594,794}; + 7,207,212,388,415,589,594,794}; static int Y[] = {158,255,268,380}; /* (x1,y1) and (x2, y2) are the coordinates of the rectangle where to @@ -117,7 +117,7 @@ static void pause_board (gboolean pause) return; if(gamewon == TRUE && pause == FALSE) /* the game is won */ - game_won(); + game_won(); board_paused = pause; } @@ -127,24 +127,24 @@ static void pause_board (gboolean pause) * =====================================================================*/ static void start_board (GcomprisBoard *agcomprisBoard) { if(agcomprisBoard!=NULL) { - gcomprisBoard=agcomprisBoard; - gcomprisBoard->level=1; - gcomprisBoard->maxlevel=LAST_BOARD; - gcomprisBoard->sublevel = 1; - gcomprisBoard->number_of_sublevel = 8; - - gcompris_bar_set(GCOMPRIS_BAR_OK | GCOMPRIS_BAR_LEVEL); - gcompris_score_start(SCORESTYLE_NOTE, - gcomprisBoard->width - 220, - gcomprisBoard->height - 50, - gcomprisBoard->number_of_sublevel); - - gamewon = FALSE; - errors = MAX_ERRORS; - init_xml(); - colors_next_level(); - pause_board(FALSE); - } + gcomprisBoard=agcomprisBoard; + gcomprisBoard->level=1; + gcomprisBoard->maxlevel=LAST_BOARD; + gcomprisBoard->sublevel = 1; + gcomprisBoard->number_of_sublevel = 8; + + gcompris_bar_set(GCOMPRIS_BAR_OK | GCOMPRIS_BAR_LEVEL); + gcompris_score_start(SCORESTYLE_NOTE, + gcomprisBoard->width - 220, + gcomprisBoard->height - 50, + gcomprisBoard->number_of_sublevel); + + gamewon = FALSE; + errors = MAX_ERRORS; + init_xml(); + colors_next_level(); + pause_board(FALSE); + } } /* ===================================================================== @@ -153,12 +153,12 @@ static void start_board (GcomprisBoard *agcomprisBoard) { static void end_board () { if(gcomprisBoard!=NULL){ - pause_board(TRUE); - gcompris_score_end(); - colors_destroy_all_items(); - // free list - while (g_list_length(listColors) > 0) - listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); + pause_board(TRUE); + gcompris_score_end(); + colors_destroy_all_items(); + // free list + while (g_list_length(listColors) > 0) + listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); } gcomprisBoard = NULL; } @@ -167,24 +167,24 @@ static void end_board () { * * =====================================================================*/ static void set_level (guint level) { - if(gcomprisBoard!=NULL) { - gcomprisBoard->level=level; - gcomprisBoard->sublevel=1; - init_xml(); - colors_next_level(); - } + if(gcomprisBoard!=NULL) { + gcomprisBoard->level=level; + gcomprisBoard->sublevel=1; + init_xml(); + colors_next_level(); + } } /* ===================================================================== * * =====================================================================*/ gboolean is_our_board (GcomprisBoard *gcomprisBoard) { - if (gcomprisBoard) { - if(g_strcasecmp(gcomprisBoard->type, "advanced_colors")==0) { - /* Set the plugin entry */ - gcomprisBoard->plugin=&menu_bp; - return TRUE; - } + if (gcomprisBoard) { + if(g_strcasecmp(gcomprisBoard->type, "advanced_colors")==0) { + /* Set the plugin entry */ + gcomprisBoard->plugin=&menu_bp; + return TRUE; + } } return FALSE; } @@ -193,49 +193,46 @@ gboolean is_our_board (GcomprisBoard *gcomprisBoard) { * =====================================================================*/ static void colors_next_level() { gchar *str = NULL; - int i; - GList * list = NULL; - int * item; - GdkFont *gdk_font; - - gdk_font = gdk_font_load (FONT_BOARD_BIG); + int i; + GList * list = NULL; + int * item; - colors_destroy_all_items(); + colors_destroy_all_items(); gamewon = FALSE; gcompris_score_set(gcomprisBoard->sublevel); gcompris_bar_set_level(gcomprisBoard); - /* initialize board only once*/ - if (gcomprisBoard->sublevel == 1) { - // we generate a list of color indexes in a random order - while (g_list_length(listColors) > 0) - listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); + /* initialize board only once*/ + if (gcomprisBoard->sublevel == 1) { + // we generate a list of color indexes in a random order + while (g_list_length(listColors) > 0) + listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); - for (i=0; i<LAST_COLOR; i++) - list = g_list_append(list, GINT_TO_POINTER(i)); + for (i=0; i<LAST_COLOR; i++) + list = g_list_append(list, GINT_TO_POINTER(i)); - while ((g_list_length(list) > 0)) { - i = RAND(0,g_list_length(list)-1); - item = g_list_nth_data(list, i); - listColors = g_list_append(listColors, item); - list = g_list_remove(list, item); - } + while ((g_list_length(list) > 0)) { + i = RAND(0,g_list_length(list)-1); + item = g_list_nth_data(list, i); + listColors = g_list_append(listColors, item); + list = g_list_remove(list, item); + } - /* set background */ - str = g_strdup_printf("%s/%s", gcomprisBoard->boarddir, backgroundFile); - printf("background = %s\n", str); - gcompris_set_background(gnome_canvas_root(gcomprisBoard->canvas), str); - g_free(str); - } + /* set background */ + str = g_strdup_printf("%s/%s", gcomprisBoard->boarddir, backgroundFile); + printf("background = %s\n", str); + gcompris_set_background(gnome_canvas_root(gcomprisBoard->canvas), str); + g_free(str); + } - colors_create_item(gnome_canvas_root(gcomprisBoard->canvas)); + colors_create_item(gnome_canvas_root(gcomprisBoard->canvas)); - /* show text of color to find */ + /* show text of color to find */ color_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", colors[GPOINTER_TO_INT(g_list_nth_data(listColors,0))], - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) (color_x1+color_x2)/2, "y", (double) (color_y1+color_y2)/2, "anchor", GTK_ANCHOR_CENTER, @@ -248,7 +245,7 @@ static void colors_next_level() { * =====================================================================*/ static void colors_destroy_all_items() { if(boardRootItem!=NULL) - gtk_object_destroy (GTK_OBJECT(boardRootItem)); + gtk_object_destroy (GTK_OBJECT(boardRootItem)); boardRootItem = NULL; } @@ -260,9 +257,9 @@ static GnomeCanvasItem *colors_create_item(GnomeCanvasGroup *parent) { GdkPixbuf *highlight_pixmap = NULL; char *str = NULL; - int i; + int i; - boardRootItem = GNOME_CANVAS_GROUP( + boardRootItem = GNOME_CANVAS_GROUP( gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas), gnome_canvas_group_get_type (), "x", (double) 0, @@ -272,41 +269,41 @@ static GnomeCanvasItem *colors_create_item(GnomeCanvasGroup *parent) { str = g_strdup_printf("%s/%s", gcomprisBoard->boarddir, "advanced_colors_highlight.png"); highlight_pixmap = gcompris_load_pixmap(str); - highlight_image_item = gnome_canvas_item_new (boardRootItem, - gnome_canvas_pixbuf_get_type (), - "pixbuf", highlight_pixmap, - "x", (double) 0, - "y", (double) 0, - "width", (double) gdk_pixbuf_get_width(highlight_pixmap), - "height", (double) gdk_pixbuf_get_height(highlight_pixmap), - "width_set", TRUE, - "height_set", TRUE, - NULL); + highlight_image_item = gnome_canvas_item_new (boardRootItem, + gnome_canvas_pixbuf_get_type (), + "pixbuf", highlight_pixmap, + "x", (double) 0, + "y", (double) 0, + "width", (double) gdk_pixbuf_get_width(highlight_pixmap), + "height", (double) gdk_pixbuf_get_height(highlight_pixmap), + "width_set", TRUE, + "height_set", TRUE, + NULL); - highlight_width = gdk_pixbuf_get_width(highlight_pixmap); - highlight_height = gdk_pixbuf_get_height(highlight_pixmap); + highlight_width = gdk_pixbuf_get_width(highlight_pixmap); + highlight_height = gdk_pixbuf_get_height(highlight_pixmap); g_free(str); - gnome_canvas_item_hide(highlight_image_item); - i = RAND(0,LAST_COLOR); + gnome_canvas_item_hide(highlight_image_item); + i = RAND(0,LAST_COLOR); gdk_pixbuf_unref(highlight_pixmap); gtk_signal_connect(GTK_OBJECT(gcomprisBoard->canvas), "event", (GtkSignalFunc) item_event, NULL); - /* setup the clock */ + /* setup the clock */ str = g_strdup_printf("%s%d.png", "gcompris/timers/clock",errors); clock_pixmap = gcompris_load_pixmap(str); - clock_image_item = gnome_canvas_item_new (boardRootItem, - gnome_canvas_pixbuf_get_type (), - "pixbuf", clock_pixmap, - "x", (double) CLOCK_X, - "y", (double) CLOCK_Y, - "width", (double) gdk_pixbuf_get_width(clock_pixmap), - "height", (double) gdk_pixbuf_get_height(clock_pixmap), - "width_set", TRUE, - "height_set", TRUE, - NULL); + clock_image_item = gnome_canvas_item_new (boardRootItem, + gnome_canvas_pixbuf_get_type (), + "pixbuf", clock_pixmap, + "x", (double) CLOCK_X, + "y", (double) CLOCK_Y, + "width", (double) gdk_pixbuf_get_width(clock_pixmap), + "height", (double) gdk_pixbuf_get_height(clock_pixmap), + "width_set", TRUE, + "height_set", TRUE, + NULL); g_free(str); @@ -317,38 +314,38 @@ static GnomeCanvasItem *colors_create_item(GnomeCanvasGroup *parent) { * =====================================================================*/ static void game_won() { - listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); + listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); if( g_list_length(listColors) <= 0 ) { // the current board is finished - gcomprisBoard->level++; - gcomprisBoard->sublevel = 1; - if (gcomprisBoard->level > gcomprisBoard->maxlevel) { - board_finished(BOARD_FINISHED_TUXLOCO); - return; - } - - init_xml(); - } else { // the current board is not finished - gcomprisBoard->sublevel++; - } - - colors_next_level(); + gcomprisBoard->level++; + gcomprisBoard->sublevel = 1; + if (gcomprisBoard->level > gcomprisBoard->maxlevel) { + board_finished(BOARD_FINISHED_TUXLOCO); + return; + } + + init_xml(); + } else { // the current board is not finished + gcomprisBoard->sublevel++; + } + + colors_next_level(); } /* ===================================================================== * * =====================================================================*/ static void process_ok() { gcompris_display_bonus(gamewon, BONUS_SMILEY); - if (!gamewon) - errors--; - if (errors <1) - errors = 1; - update_clock(); + if (!gamewon) + errors--; + if (errors <1) + errors = 1; + update_clock(); - if (errors <= 1) { - board_finished(BOARD_FINISHED_TOOMANYERRORS); - return; - } + if (errors <= 1) { + board_finished(BOARD_FINISHED_TOOMANYERRORS); + return; + } } /* ===================================================================== @@ -357,28 +354,28 @@ static void process_ok() { static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) { double x, y; int i, j, clicked; - x = event->button.x; + x = event->button.x; y = event->button.y; - if(board_paused) + if(board_paused) return FALSE; switch (event->type) { case GDK_BUTTON_PRESS: - clicked = -1; - for (i=0; i<4; i++) { - for (j=0; j<2; j++) { - if (x>X[i*2] && x<X[i*2+1] && y>Y[j*2] && y<Y[j*2+1]) { - clicked = j*4 + i; - } - } - } - if (clicked >= 0) { - highlight_selected(clicked); - gamewon = (clicked == GPOINTER_TO_INT(g_list_nth_data(listColors,0))); - } - break; + clicked = -1; + for (i=0; i<4; i++) { + for (j=0; j<2; j++) { + if (x>X[i*2] && x<X[i*2+1] && y>Y[j*2] && y<Y[j*2+1]) { + clicked = j*4 + i; + } + } + } + if (clicked >= 0) { + highlight_selected(clicked); + gamewon = (clicked == GPOINTER_TO_INT(g_list_nth_data(listColors,0))); + } + break; default: break; @@ -392,20 +389,20 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) { static void update_clock() { char *str = g_strdup_printf("%s%d.png", "gcompris/timers/clock",errors); - gtk_object_destroy (GTK_OBJECT(clock_image_item)); + gtk_object_destroy (GTK_OBJECT(clock_image_item)); clock_pixmap = gcompris_load_pixmap(str); - clock_image_item = gnome_canvas_item_new (boardRootItem, - gnome_canvas_pixbuf_get_type (), - "pixbuf", clock_pixmap, - "x", (double) CLOCK_X, - "y", (double) CLOCK_Y, - "width", (double) gdk_pixbuf_get_width(clock_pixmap), - "height", (double) gdk_pixbuf_get_height(clock_pixmap), - "width_set", TRUE, - "height_set", TRUE, - NULL); + clock_image_item = gnome_canvas_item_new (boardRootItem, + gnome_canvas_pixbuf_get_type (), + "pixbuf", clock_pixmap, + "x", (double) CLOCK_X, + "y", (double) CLOCK_Y, + "width", (double) gdk_pixbuf_get_width(clock_pixmap), + "height", (double) gdk_pixbuf_get_height(clock_pixmap), + "width_set", TRUE, + "height_set", TRUE, + NULL); gdk_pixbuf_unref(clock_pixmap); g_free(str); @@ -414,17 +411,17 @@ static void update_clock() { * * =====================================================================*/ static void highlight_selected(int c) { - int x, y; + int x, y; - assert(c>=0 && c<8); + assert(c>=0 && c<8); - x = (X[c*2] + X[c*2+1]) /2; - y = (Y[(int)(c/4)*2] + Y[(int)(c/4)*2+1]) /2; + x = (X[c*2] + X[c*2+1]) /2; + y = (Y[(int)(c/4)*2] + Y[(int)(c/4)*2+1]) /2; - x -= highlight_width/2; - y -= highlight_height; - gnome_canvas_item_show(highlight_image_item); - item_absolute_move(highlight_image_item, x, y); + x -= highlight_width/2; + y -= highlight_height; + gnome_canvas_item_show(highlight_image_item); + item_absolute_move(highlight_image_item, x, y); } /* =================================== @@ -434,8 +431,8 @@ static void init_xml() { char *filename; filename = g_strdup_printf("%s/%s/board%d.xml", PACKAGE_DATA_DIR, gcomprisBoard->boarddir, - gcomprisBoard->level); - printf("filename = %s %s %s\n", filename,PACKAGE_DATA_DIR,gcomprisBoard->boarddir); + gcomprisBoard->level); + printf("filename = %s %s %s\n", filename,PACKAGE_DATA_DIR,gcomprisBoard->boarddir); assert(g_file_exists(filename)); assert(read_xml_file(filename)== TRUE); @@ -454,51 +451,51 @@ static void dump_xml() { static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child) { char *text = NULL; - char * tmp = NULL; + char * tmp = NULL; char *sColor = NULL; - int color = 0; - int i; - gchar *lang; + int color = 0; + int i; + gchar *lang; - xmlnode = xmlnode->xmlChildrenNode; + xmlnode = xmlnode->xmlChildrenNode; xmlnode = xmlnode->next; while (xmlnode != NULL) { - if (!strcmp(xmlnode->name, "pixmapfile")) - backgroundFile = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - - lang = xmlGetProp(xmlnode,"lang"); - - // try to match color[i] - for (i=0; i<8; i++) { - sColor = g_strdup_printf("color%d", i+1); - if (!strcmp(xmlnode->name, sColor)) { - if (lang == NULL) { // get default value - text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - colors[i] = convertUTF8Toisolat1(text); - } else // get correct language - if ( !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2) ) { - text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - printf("color prop::lang=%s locale=%s text=%s\n", lang, gcompris_get_locale(), text); - colors[i] = convertUTF8Toisolat1(text); - color++; - } - break; - } - g_free(sColor); - } // end for - xmlnode = xmlnode->next; - } + if (!strcmp(xmlnode->name, "pixmapfile")) + backgroundFile = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); + + lang = xmlGetProp(xmlnode,"lang"); + + // try to match color[i] + for (i=0; i<8; i++) { + sColor = g_strdup_printf("color%d", i+1); + if (!strcmp(xmlnode->name, sColor)) { + if (lang == NULL) { // get default value + text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); + colors[i] = text; + } else // get correct language + if ( !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2) ) { + text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); + printf("color prop::lang=%s locale=%s text=%s\n", lang, gcompris_get_locale(), text); + colors[i] = text; + color++; + } + break; + } + g_free(sColor); + } // end for + xmlnode = xmlnode->next; + } - printf("colors found in XML = %d\n", color); - for (color=0; color<8; color++) - printf("%d %s\n", color, colors[color]); + printf("colors found in XML = %d\n", color); + for (color=0; color<8; color++) + printf("%d %s\n", color, colors[color]); - // I really don't know why this test, but otherwise, the list is doubled - // with 1 line on 2 filled with NULL elements - if ( backgroundFile == NULL || text == NULL) - return; + // I really don't know why this test, but otherwise, the list is doubled + // with 1 line on 2 filled with NULL elements + if ( backgroundFile == NULL || text == NULL) + return; } @@ -509,7 +506,7 @@ static void parse_doc(xmlDocPtr doc) for(node = doc->children->children; node != NULL; node = node->next) { if ( g_strcasecmp(node->name, "Board") == 0 ) - add_xml_data(doc, node,NULL); + add_xml_data(doc, node,NULL); } } diff --git a/src/boards/algebra_guesscount.c b/src/boards/algebra_guesscount.c index 5f59050..eddd710 100644 --- a/src/boards/algebra_guesscount.c +++ b/src/boards/algebra_guesscount.c @@ -386,12 +386,9 @@ static int generate_numbers() { } /* ==================================== */ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) { - GdkFont *gdk_font; int i, xOffset, sid; char str[10]; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - result_to_find = generate_numbers(); boardRootItem = GNOME_CANVAS_GROUP( @@ -406,7 +403,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) calcul_line_item_back[i*2] = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", BLANK, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) X_EQUAL+BUTTON_WIDTH*1.5 + 1, "y", (double) y_equal_offset[i]+BUTTON_HEIGHT/2 + 1, "anchor", GTK_ANCHOR_CENTER, @@ -415,7 +412,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) calcul_line_item[i*2] = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", BLANK, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) X_EQUAL+BUTTON_WIDTH*1.5, "y", (double) y_equal_offset[i]+BUTTON_HEIGHT/2, "anchor", GTK_ANCHOR_CENTER, @@ -427,7 +424,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) calcul_line_item_back[i*2+1] = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", BLANK, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) X_NUM1+BUTTON_WIDTH/2 + 1, "y", (double) y_equal_offset[i+1]+BUTTON_HEIGHT/2 + 1, "anchor", GTK_ANCHOR_CENTER, @@ -436,7 +433,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) calcul_line_item[i*2+1] = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", BLANK, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) X_NUM1+BUTTON_WIDTH/2, "y", (double) y_equal_offset[i+1]+BUTTON_HEIGHT/2, "anchor", GTK_ANCHOR_CENTER, @@ -468,7 +465,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) result_item_back = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", str, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) xOffset+BUTTON_WIDTH +1, "y", (double) Y_OPE+BUTTON_HEIGHT/2 +1, "anchor", GTK_ANCHOR_CENTER, @@ -477,7 +474,7 @@ static GnomeCanvasItem *algebra_guesscount_create_item(GnomeCanvasGroup *parent) result_item_front = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", str, - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) xOffset+BUTTON_WIDTH, "y", (double) Y_OPE+BUTTON_HEIGHT/2, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/chess.c b/src/boards/chess.c index f4f1656..eedb613 100644 --- a/src/boards/chess.c +++ b/src/boards/chess.c @@ -554,13 +554,11 @@ static void display_white_turn(gboolean whiteturn) if(turn_item == NULL) { - GdkFont *gdk_font; - gdk_font = gdk_font_load (FONT_BOARD_BIG); turn_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", " ", - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) TURN_X, "y", (double) TURN_Y, "anchor", GTK_ANCHOR_CENTER, @@ -578,13 +576,10 @@ static void display_info(gchar *info) if(info_item == NULL) { - GdkFont *gdk_font; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - info_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", " ", - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) INFO_X, "y", (double) INFO_Y, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/chess_position.c b/src/boards/chess_position.c index 37413e9..4d057d2 100644 --- a/src/boards/chess_position.c +++ b/src/boards/chess_position.c @@ -64,8 +64,9 @@ position_get_type () sizeof (PositionClass), (GtkClassInitFunc) class_init, (GtkObjectInitFunc) init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL + (gpointer) NULL, + (gpointer) NULL, + (GtkClassInitFunc) NULL }; position_type = gtk_type_unique (gtk_object_get_type (), &position_info); @@ -91,7 +92,7 @@ class_init (PositionClass *class) object_class = (GtkObjectClass*) class; - object_class->finalize = finalize; + //2 object_class->finalize = finalize; } static void diff --git a/src/boards/clockgame.c b/src/boards/clockgame.c index 554b403..2b77c6c 100644 --- a/src/boards/clockgame.c +++ b/src/boards/clockgame.c @@ -1,6 +1,6 @@ /* gcompris - clockgame.c * - * Time-stamp: <2002/05/01 11:59:27 bruno> + * Time-stamp: <2002/12/10 00:04:32 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -376,15 +376,8 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) GnomeCanvasPoints *canvasPoints; char *color; char *color_text; - GdkFont *font, *gdk_font, *gdk_font_small, *gdk_font_big, *gdk_font_big2, *gdk_font_big3; gchar *mtext = NULL; - - /* Load a gdk font */ - gdk_font = gdk_font_load (FONT_BOARD_SMALL); - gdk_font_small = gdk_font_load (FONT_BOARD_TINY); - gdk_font_big = gdk_font_load (FONT_BOARD_SMALL); - gdk_font_big2 = gdk_font_load (FONT_BOARD_MEDIUM); - gdk_font_big3 = gdk_font_load (FONT_BOARD_BIG_BOLD); + gchar *font = NULL; canvasPoints = gnome_canvas_points_new (2); @@ -398,7 +391,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) canvasPoints->coords[1]=cy - (needle_size-hour_point_size) * cos(ang); color="darkblue"; color_text="red"; - font = gdk_font; + font = FONT_BOARD_SMALL; } else { @@ -407,7 +400,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) canvasPoints->coords[1]=cy - (needle_size-min_point_size) * cos(ang); color="red"; color_text="red"; - font = gdk_font_small; + font = FONT_BOARD_TINY; } canvasPoints->coords[2]=cx + needle_size * sin(ang); @@ -428,7 +421,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) item = gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", mtext, - "font_gdk", font, + "font", font, "x", (double) cx + (needle_size+10) * sin(ang), "y", (double) cy - (needle_size+10) * cos(ang), "anchor", GTK_ANCHOR_CENTER, @@ -447,7 +440,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) item = gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", mtext, - "font_gdk", gdk_font_big, + "font", font, "x", (double) cx + (needle_size-30) * sin(ang), "y", (double) cy - (needle_size-30) * cos(ang), "anchor", GTK_ANCHOR_CENTER, @@ -467,7 +460,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", "", - "font_gdk", gdk_font_big2, + "font", FONT_BOARD_MEDIUM, "x", (double) cx, "y", (double) cy + needle_size/2, "anchor", GTK_ANCHOR_CENTER, @@ -535,7 +528,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", _("Set the watch to:"), - "font_gdk", gdk_font_big3, + "font", FONT_BOARD_MEDIUM, "x", (double) gcomprisBoard->width*0.15, "y", (double) cy + needle_size + needle_size / 3 - 30, "anchor", GTK_ANCHOR_CENTER, @@ -547,7 +540,7 @@ static GnomeCanvasItem *clockgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", "", - "font_gdk", gdk_font_big3, + "font", FONT_BOARD_BIG_BOLD, "x", (double) gcomprisBoard->width*0.15, "y", (double) cy + needle_size + needle_size / 3, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/draw.c b/src/boards/draw.c index 7d6cbbb..7eec43a 100644 --- a/src/boards/draw.c +++ b/src/boards/draw.c @@ -1457,6 +1457,9 @@ static GnomeCanvasItem *create_item(double x, double y, gchar *imagename) "outline_color", currentColor, "width_pixels", DRAW_WIDTH_PIXELS, NULL); + /* FIXME : Was not needed in gnome1.2: needed in gnome 2 */ + /* without it, at anchors creation, item bound is always 0,0,0,0 */ + gnome_canvas_update_now (gcomprisBoard->canvas); break; case TOOL_FILLED_RECT: // This is a filled rectangle @@ -1468,6 +1471,9 @@ static GnomeCanvasItem *create_item(double x, double y, gchar *imagename) "y2", (double) y + item_size_y, "fill_color", currentColor, NULL); + /* FIXME : Was not needed in gnome1.2: needed in gnome 2 */ + /* without it, at anchors creation, item bound is always 0,0,0,0 */ + gnome_canvas_update_now (gcomprisBoard->canvas); break; case TOOL_POINT: // This is a point @@ -1491,6 +1497,9 @@ static GnomeCanvasItem *create_item(double x, double y, gchar *imagename) "outline_color", currentColor, "width_pixels", DRAW_WIDTH_PIXELS, NULL); + /* FIXME : Was not needed in gnome1.2: needed in gnome 2 */ + /* without it, at anchors creation, item bound is always 0,0,0,0 */ + gnome_canvas_update_now (gcomprisBoard->canvas); break; case TOOL_FILLED_CIRCLE: // This is a filled ellipse @@ -1502,6 +1511,9 @@ static GnomeCanvasItem *create_item(double x, double y, gchar *imagename) "y2", (double) y + item_size_y, "fill_color", currentColor, NULL); + /* FIXME : Was not needed in gnome1.2: needed in gnome 2 */ + /* without it, at anchors creation, item bound is always 0,0,0,0 */ + gnome_canvas_update_now (gcomprisBoard->canvas); break; case TOOL_LINE: // This is a line @@ -1524,14 +1536,10 @@ static GnomeCanvasItem *create_item(double x, double y, gchar *imagename) case TOOL_TEXT: // This is text { - GdkFont *gdk_font; - - gdk_font = gdk_font_load (FONT_BOARD_BIG); - item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(item_root_item), gnome_canvas_text_get_type (), "text", "?", - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG_BOLD, "x", (double) x, "y", (double) y, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/enumerate.c b/src/boards/enumerate.c index 89e2319..39d5089 100644 --- a/src/boards/enumerate.c +++ b/src/boards/enumerate.c @@ -379,9 +379,6 @@ static GnomeCanvasItem *enumerate_create_item(GnomeCanvasGroup *parent) GnomeCanvasItem *item = NULL; GdkPixbuf *pixmap = NULL; GdkPixbuf *pixmap_answer = NULL; - GdkFont *gdk_font; - - gdk_font = gdk_font_load (FONT_BOARD_BIG); boardRootItem = GNOME_CANVAS_GROUP( gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas), @@ -472,7 +469,7 @@ static GnomeCanvasItem *enumerate_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", "?", - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) ANSWER_X + 2*ANSWER_WIDTH, "y", (double) current_y + ANSWER_HEIGHT/2, "anchor", GTK_ANCHOR_EAST, diff --git a/src/boards/imageid.c b/src/boards/imageid.c index faa5e87..a6ce3cd 100644 --- a/src/boards/imageid.c +++ b/src/boards/imageid.c @@ -254,7 +254,6 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) { char *buf[3]; int x, y, xp, yp, place; - GdkFont *gdk_font; GdkPixbuf *pixmap = NULL; GdkPixbuf *button_pixmap = NULL; char *str = NULL; @@ -305,7 +304,6 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) /* display the 3 words */ /* the right word is at position 0 : it is swapped with any position depending of place value */ - gdk_font = gdk_font_load (FONT_BOARD_BIG); switch (place) { case 1 : buf[0] = board->text2; @@ -336,7 +334,7 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) text1_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[0], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xp + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yp + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -353,7 +351,7 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) text2_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[1], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xp + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yp + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -371,7 +369,7 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) text3_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[2], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xp + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yp + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -520,21 +518,18 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child) || !strncmp(lang, gcompris_get_locale(), 2))) { text1 = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - text1 = convertUTF8Toisolat1(text1); } if (!strcmp(xmlnode->name, "text2") && (lang==NULL || !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2))) { text2 = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - text2 = convertUTF8Toisolat1(text2); } if (!strcmp(xmlnode->name, "text3") && (lang==NULL || !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2))) { text3 = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - text3 = convertUTF8Toisolat1(text3); } xmlnode = xmlnode->next; } diff --git a/src/boards/leftright.c b/src/boards/leftright.c index 02ca471..84763b7 100644 --- a/src/boards/leftright.c +++ b/src/boards/leftright.c @@ -230,7 +230,6 @@ static void leftright_destroy_all_items() { * * =====================================================================*/ static GnomeCanvasItem *leftright_create_item(GnomeCanvasGroup *parent) { - GdkFont *gdk_font; GdkPixbuf *highlight_pixmap = NULL; GdkPixbuf *hand_pixmap = NULL; char *str = NULL; @@ -243,13 +242,10 @@ static GnomeCanvasItem *leftright_create_item(GnomeCanvasGroup *parent) { "y", (double) 0, NULL)); - //gdk_font = gdk_font_load ("-adobe-times-medium-r-normal--*-240-*-*-*-*-*-*"); - gdk_font = gdk_font_load (FONT_BOARD_BIG); - left_text_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _("left"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) CENTER_LEFT_X, "y", (double) CENTER_LEFT_Y, "anchor", GTK_ANCHOR_CENTER, @@ -259,7 +255,7 @@ static GnomeCanvasItem *leftright_create_item(GnomeCanvasGroup *parent) { right_text_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _("right"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) CENTER_RIGHT_X, "y", (double) CENTER_RIGHT_Y, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/maze.c b/src/boards/maze.c index 73bff90..d46dff1 100644 --- a/src/boards/maze.c +++ b/src/boards/maze.c @@ -269,6 +269,10 @@ static void maze_next_level() { if (gcomprisBoard->level==1) run_fast=FALSE; if (gcomprisBoard->level==4) run_fast=TRUE; + + if(!modeIs2D) + threeDdisplay(); + } /* ======================================= */ static void setlevelproperties(){ diff --git a/src/boards/menu.c b/src/boards/menu.c index a35ef40..57edd4a 100644 --- a/src/boards/menu.c +++ b/src/boards/menu.c @@ -1,6 +1,6 @@ /* gcompris - menu.c * - * Time-stamp: <2002/06/26 00:34:19 bruno> + * Time-stamp: <2002/12/09 23:13:46 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -435,20 +435,14 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, MenuItem *menuitem) static void create_info_area(GnomeCanvasGroup *parent) { - GdkFont *gdk_font, *gdk_font_small, *gdk_font_big; gint x = (double)gcomprisBoard->width/2; gint y = 350; - /* Load a gdk font */ - gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); - gdk_font_small = gdk_font_load (FONT_BOARD_TINY); - gdk_font_big = gdk_font_load (FONT_BOARD_BIG); - boardname_item = \ gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), - "text", "", - "font_gdk", gdk_font_big, + "text", " ", + "font", FONT_BOARD_BIG, "x", (double) x, "y", (double) y, "anchor", GTK_ANCHOR_CENTER, @@ -458,8 +452,8 @@ static void create_info_area(GnomeCanvasGroup *parent) description_item = \ gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), - "text", "", - "font_gdk", gdk_font_small, + "text", " ", + "font", FONT_BOARD_MEDIUM, "x", (double) x, "y", (double) y + 35, "anchor", GTK_ANCHOR_NORTH, @@ -470,14 +464,15 @@ static void create_info_area(GnomeCanvasGroup *parent) author_item = \ gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), - "text", "", - "font_gdk", gdk_font_small, + "text", " ", + "font", FONT_BOARD_TINY, "x", (double) x, "y", (double) y + 80, - "anchor", GTK_ANCHOR_NORTH, - "fill_color", "white", - "justification", GTK_JUSTIFY_CENTER, + "anchor", GTK_ANCHOR_NORTH, + "fill_color", "white", + "justification", GTK_JUSTIFY_CENTER, NULL); + } diff --git a/src/boards/missingletter.c b/src/boards/missingletter.c index 1239f88..c315f24 100644 --- a/src/boards/missingletter.c +++ b/src/boards/missingletter.c @@ -247,7 +247,6 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) { char *buf[3]; int xOffset,yOffset,place; - GdkFont *gdk_font; double dx1, dy1, dx2, dy2; GdkPixbuf *button_pixmap = NULL; GdkPixbuf *pixmap = NULL; @@ -263,8 +262,6 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) gint txt_area_x = 515; gint txt_area_y = 430; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - board_number = (gcomprisBoard->level-1) *2 + gcomprisBoard->sublevel-1; /* if (board_number >= g_list_length(board_list)) board_number = g_list_length(board_list)-1; @@ -293,7 +290,7 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) text = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _(board->question), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) txt_area_x, "y", (double) txt_area_y, "anchor", GTK_ANCHOR_CENTER, @@ -348,7 +345,7 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) l1_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[0], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xOffset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yOffset + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -365,7 +362,7 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) l2_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[1], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xOffset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yOffset + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -383,7 +380,7 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) l3_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", buf[2], - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) xOffset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) yOffset + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, @@ -540,7 +537,6 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child) || !strncmp(lang, gcompris_get_locale(), 2))) { data = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - data = convertUTF8Toisolat1(data); } xmlnode = xmlnode->next; } diff --git a/src/boards/planegame.c b/src/boards/planegame.c index 4848ee6..ad3528d 100644 --- a/src/boards/planegame.c +++ b/src/boards/planegame.c @@ -1,6 +1,6 @@ /* gcompris - planegame.c * - * Time-stamp: <2002/03/13 23:09:41 bruno> + * Time-stamp: <2002/12/09 23:11:23 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -510,7 +510,6 @@ static gint planegame_move_items (GtkWidget *widget, gpointer data) static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) { - GdkFont *gdk_font; GdkPixbuf *pixmap = NULL; GnomeCanvasItem *itemgroup; char *str = NULL; @@ -518,8 +517,6 @@ static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) int i, min; CloudItem *clouditem; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - /* Random cloud number */ if(rand()%2==0) { @@ -562,7 +559,7 @@ static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (GNOME_CANVAS_GROUP(itemgroup), gnome_canvas_text_get_type (), "text", number, - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) 0, "y", (double) 0, "fill_color", "red", diff --git a/src/boards/read_colors.c b/src/boards/read_colors.c index d5ba2e9..b0ac5f9 100644 --- a/src/boards/read_colors.c +++ b/src/boards/read_colors.c @@ -59,7 +59,6 @@ static void update_clock(); static int highlight_width, highlight_height, errors; static GList * listColors = NULL; -static GdkFont *gdk_font = NULL; #define LAST_COLOR 11 #define MAX_ERRORS 10 @@ -138,28 +137,27 @@ static void start_board (GcomprisBoard *agcomprisBoard) { gcompris_bar_set(GCOMPRIS_BAR_OK); gamewon = FALSE; - errors = MAX_ERRORS; + errors = MAX_ERRORS; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - init_xml(); - - // we generate a list of color indexes in a random order - while (g_list_length(listColors) > 0) - listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); - - for (i=0; i<LAST_COLOR; i++) - list = g_list_append(list, GINT_TO_POINTER(i)); - - while ((g_list_length(list) > 0)) { - i = RAND(0,g_list_length(list)-1); - item = g_list_nth_data(list, i); - listColors = g_list_append(listColors, item); - list = g_list_remove(list, item); - } - - read_colors_next_level(); + init_xml(); + + // we generate a list of color indexes in a random order + while (g_list_length(listColors) > 0) + listColors = g_list_remove(listColors, g_list_nth_data(listColors,0)); + + for (i=0; i<LAST_COLOR; i++) + list = g_list_append(list, GINT_TO_POINTER(i)); + + while ((g_list_length(list) > 0)) { + i = RAND(0,g_list_length(list)-1); + item = g_list_nth_data(list, i); + listColors = g_list_append(listColors, item); + list = g_list_remove(list, item); + } + + read_colors_next_level(); pause_board(FALSE); - } + } } /* ===================================================================== @@ -206,7 +204,7 @@ static void read_colors_next_level() { color_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", colors[GPOINTER_TO_INT(g_list_nth_data(listColors,0))], - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) (color_x1+color_x2)/2, "y", (double) (color_y1+color_y2)/2, "anchor", GTK_ANCHOR_CENTER, @@ -434,12 +432,12 @@ static void add_xml_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child) if (!strcmp(xmlnode->name, sColor)) { if (lang == NULL) { // get default value text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - colors[i] = convertUTF8Toisolat1(text); + colors[i] = text; } else // get correct language if ( !strcmp(lang, gcompris_get_locale()) || !strncmp(lang, gcompris_get_locale(), 2) ) { text = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); printf("color prop::lang=%s locale=%s text=%s\n", lang, gcompris_get_locale(), text); - colors[i] = convertUTF8Toisolat1(text); + colors[i] = text; color++; } break; diff --git a/src/boards/reading.c b/src/boards/reading.c index df79a13..b9c7868 100644 --- a/src/boards/reading.c +++ b/src/boards/reading.c @@ -1,6 +1,6 @@ /* gcompris - reading.c * - * Time-stamp: <2002/04/14 00:26:10 bruno> + * Time-stamp: <2002/12/09 22:42:57 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -300,13 +300,10 @@ static void reading_destroy_all_items() static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) { - GdkFont *gdk_font; gint base_Y = 110; gint base_X = 580; gint i; - gdk_font = gdk_font_load (FONT_BOARD_BIG); - /* Load the text to find */ textToFind = "*"; textToFind = get_random_word(); @@ -314,7 +311,7 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", _("Please, check if the word"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) base_X, "y", (double) base_Y, "anchor", GTK_ANCHOR_CENTER, @@ -324,7 +321,7 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", textToFind, - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) base_X, "y", (double) base_Y + 30, "anchor", GTK_ANCHOR_CENTER, @@ -334,7 +331,7 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_text_get_type (), "text", _("is being displayed"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) base_X, "y", (double) base_Y + 60, "anchor", GTK_ANCHOR_CENTER, @@ -355,7 +352,6 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) static GnomeCanvasItem *reading_create_item(GnomeCanvasGroup *parent) { LettersItem *lettersItem; - GdkFont *gdk_font; gint i; gint anchor = GTK_ANCHOR_CENTER; @@ -385,10 +381,6 @@ static GnomeCanvasItem *reading_create_item(GnomeCanvasGroup *parent) lettersItem = malloc(sizeof(LettersItem)); - /* Load a gdk font */ - gdk_font = gdk_font_load (FONT_BOARD_FIXED); - - if(textToFindIndex!=0) { lettersItem->word = get_random_word(); @@ -420,7 +412,7 @@ static GnomeCanvasItem *reading_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (GNOME_CANVAS_GROUP(lettersItem->rootitem), gnome_canvas_text_get_type (), "text", lettersItem->word, - "font_gdk", gdk_font, + "font", FONT_BOARD_FIXED, "x", (double) 0, "y", (double) 0, "anchor", anchor, @@ -431,7 +423,7 @@ static GnomeCanvasItem *reading_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (GNOME_CANVAS_GROUP(lettersItem->rootitem), gnome_canvas_text_get_type (), "text", "", - "font_gdk", gdk_font, + "font", FONT_BOARD_FIXED, "x", (double) 0, "y", (double) 0, "anchor", anchor, @@ -491,7 +483,6 @@ static void ask_ready(gboolean status) GdkPixbuf *button_pixmap = NULL; double y_offset = 310; double x_offset = 430; - GdkFont *gdk_font; if(status==FALSE) { @@ -506,8 +497,6 @@ static void ask_ready(gboolean status) return; } - gdk_font = gdk_font_load (FONT_BOARD_BIG); - /*----- READY -----*/ button_pixmap = gcompris_load_pixmap("gcompris/buttons/button_large2.png"); item1 = gnome_canvas_item_new (boardRootItem, @@ -525,7 +514,7 @@ static void ask_ready(gboolean status) item2 = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _("I am Ready"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) x_offset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) y_offset + 40, @@ -544,9 +533,6 @@ static void ask_yes_no() GdkPixbuf *button_pixmap = NULL; double y_offset = 310; double x_offset = 430; - GdkFont *gdk_font; - - gdk_font = gdk_font_load (FONT_BOARD_BIG); /*----- YES -----*/ button_pixmap = gcompris_load_pixmap("gcompris/buttons/button_large2.png"); @@ -565,7 +551,7 @@ static void ask_yes_no() item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _("Yes I saw it"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) x_offset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) y_offset + 40, @@ -595,7 +581,7 @@ static void ask_yes_no() item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", _("No, it was not there"), - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG, "x", (double) x_offset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) y_offset + 40, diff --git a/src/boards/reversecount.c b/src/boards/reversecount.c index 37035dd..6a32c13 100644 --- a/src/boards/reversecount.c +++ b/src/boards/reversecount.c @@ -603,13 +603,11 @@ static GnomeCanvasItem *display_item_at(gchar *imagename, int block, double rati GnomeCanvasItem *item = NULL; GdkPixbuf *pixmap = NULL; int i,j; - // GdkFont *gdk_font; block_width = BOARDWIDTH/number_of_item_x; block_height = BOARDHEIGHT/number_of_item_y; pixmap = gcompris_load_pixmap(imagename); - // gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); if(block < number_of_item_x) { @@ -669,18 +667,6 @@ static GnomeCanvasItem *display_item_at(gchar *imagename, int block, double rati "height_set", TRUE, NULL); - /* - gnome_canvas_item_new (boardRootItem, - gnome_canvas_text_get_type (), - "text", g_strdup_printf("%d", (guint)block), - "font_gdk", gdk_font, - "x", (double) i+block_width/2, - "y", (double) j+block_height/2, - "anchor", GTK_ANCHOR_CENTER, - "fill_color", "red", - NULL); - */ - gdk_pixbuf_unref(pixmap); return(item); diff --git a/src/boards/shapegame.c b/src/boards/shapegame.c index 1508ece..2dad582 100644 --- a/src/boards/shapegame.c +++ b/src/boards/shapegame.c @@ -1,6 +1,6 @@ /* gcompris - shapegame.c * - * Time-stamp: <2002/11/25 23:36:42 bruno> + * Time-stamp: <2002/12/12 00:57:35 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -30,7 +30,7 @@ #define SOUNDLISTFILE PACKAGE #define UNDEFINED "Undefined" -#define SQUARE_LIMIT_DISTANCE 50 +#define SQUARE_LIMIT_DISTANCE 50.0 static int gamewon; @@ -686,7 +686,7 @@ add_shape_to_list_of_shapes(Shape *shape) static Shape *find_closest_shape(double x, double y, double limit) { GList *list; - double goodDist = powf(limit,2); + double goodDist = limit; Shape *candidateShape = NULL; /* loop through all our shapes */ @@ -697,8 +697,9 @@ static Shape *find_closest_shape(double x, double y, double limit) if(shape->type==SHAPE_TARGET) { /* Calc the distance between this shape and the given coord */ - dist = powf((shape->x-x),2) + powf((shape->y-y),2); - + dist = sqrt(powf((shape->x-x),2) + powf((shape->y-y),2)); + printf("DIST=%f shapename=%s\n", dist, shape->name); + printf(" x=%f y=%f shape->x=%f shape->y=%f\n", x, y, shape->x, shape->y); if(dist<goodDist) { goodDist=dist; @@ -845,14 +846,14 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape) /* This records the offset between the mouse pointer and the grabbed item center */ offset_x = x - item_x; offset_y = y - item_y; - + printf("offsetx=%f offsetx=%f\n", offset_x, offset_y); if(item==NULL) return FALSE; fleur = gdk_cursor_new(GDK_FLEUR); - /* In order to have our item above the others, I need to reparent it */ - gnome_canvas_item_reparent (item, (GnomeCanvasGroup *)shape_root_item); + /* Make sure this item is on top */ + gnome_canvas_item_raise_to_top(shape_list_root_item); gnome_canvas_item_raise_to_top(item); gnome_canvas_item_grab(item, @@ -897,9 +898,9 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape) gnome_canvas_item_ungrab(item, event->button.time); dragging = FALSE; - gnome_canvas_item_reparent (item, shape->shape_list_group_root); - - targetshape = find_closest_shape(item_x, item_y, SQUARE_LIMIT_DISTANCE); + targetshape = find_closest_shape(item_x - offset_x, + item_y - offset_y, + SQUARE_LIMIT_DISTANCE); if(targetshape!=NULL) { /* Finish the placement of the grabbed item anyway */ @@ -923,6 +924,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape) printf("setting shape->name=%s to placed=%d\n", shape->target_shape->name, shape->target_shape->placed); gnome_canvas_item_show(targetshape->item); + gnome_canvas_item_raise_to_top(targetshape->item); } else { @@ -1283,16 +1285,12 @@ add_shape_to_canvas(Shape *shape) static void create_title(char *name, double x, double y, char *justification) { GnomeCanvasItem *item; - GdkFont *gdk_font; - - /* Load a gdk font */ - gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); item = \ gnome_canvas_item_new (GNOME_CANVAS_GROUP(shape_root_item), gnome_canvas_text_get_type (), "text", name, - "font_gdk", gdk_font, + "font", FONT_BOARD_MEDIUM, "x", x, "y", y, "anchor", GTK_ANCHOR_CENTER, @@ -1475,7 +1473,6 @@ add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child) || !strncmp(lang, gcompris_get_locale(), 2))) { name = xmlNodeListGetString(doc, xmlnamenode->xmlChildrenNode, 1); - name = convertUTF8Toisolat1(name); } xmlnamenode = xmlnamenode->next; } diff --git a/src/boards/target.c b/src/boards/target.c index 73078dd..97521b9 100644 --- a/src/boards/target.c +++ b/src/boards/target.c @@ -102,11 +102,11 @@ static TargetDefinition targetDefinition[] = }; #define NUMBER_OF_TARGET 4 -#define TARGET_CENTER_X BOARDWIDTH/2 - 100 -#define TARGET_CENTER_Y BOARDHEIGHT/2 +#define TARGET_CENTER_X 235 +#define TARGET_CENTER_Y 260 -#define SPEED_CENTER_X BOARDWIDTH-200 -#define SPEED_CENTER_Y 130 +#define SPEED_CENTER_X 660 +#define SPEED_CENTER_Y 125 static guint target_colors[] = { 0xAA0000FF, 0x00AA00FF, 0x0000AAFF, 0xAAAA00FF, 0x00AAAAFF, 0xAA00AAFF, 0xAA0000FF, 0x00AA00FF, 0x0000AAFF, 0xAA0000FF @@ -194,7 +194,7 @@ static void start_board (GcomprisBoard *agcomprisBoard) gcomprisBoard->number_of_sublevel=1; /* Go to next level after this number of 'play' */ gcompris_bar_set(GCOMPRIS_BAR_LEVEL|GCOMPRIS_BAR_OK); - gcompris_set_background(gnome_canvas_root(gcomprisBoard->canvas), "gcompris/gcompris-bg.jpg"); + gcompris_set_background(gnome_canvas_root(gcomprisBoard->canvas), "images/target_background.jpg"); target_next_level(); @@ -385,13 +385,10 @@ static void display_windspeed() { guint second = 0; guint needle_zoom = 15; - GdkFont *gdk_font; GnomeCanvasPoints *canvasPoints; canvasPoints = gnome_canvas_points_new (2); - gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); - if(speedRootItem!=NULL) gtk_object_destroy (GTK_OBJECT(speedRootItem)); @@ -418,7 +415,7 @@ static void display_windspeed() gnome_canvas_item_new (speedRootItem, gnome_canvas_line_get_type (), "points", canvasPoints, - "fill_color_rgba", 0x68c46fFF, + "fill_color_rgba", 0x6df438FF, "width_units", (double)1, "width_pixels", (uint) 4, "last_arrowhead", TRUE, @@ -434,7 +431,7 @@ static void display_windspeed() "y1", (double)SPEED_CENTER_Y-5, "x2", (double)SPEED_CENTER_X+5, "y2", (double)SPEED_CENTER_Y+5, - "fill_color_rgba", 0x0070C0FF, + "fill_color_rgba", 0x6df438FF, "outline_color", "red", "width_units", (double)1, NULL); @@ -442,9 +439,9 @@ static void display_windspeed() gnome_canvas_item_new (speedRootItem, gnome_canvas_text_get_type (), "text", g_strdup_printf(_("Wind speed = %d\nkilometers/hour"), (guint)wind_speed), - "font_gdk", gdk_font, + "font", FONT_BOARD_MEDIUM, "x", (double) SPEED_CENTER_X, - "y", (double) SPEED_CENTER_Y + 40, + "y", (double) SPEED_CENTER_Y + 110, "anchor", GTK_ANCHOR_CENTER, "fill_color", "white", NULL); @@ -458,9 +455,6 @@ static GnomeCanvasItem *target_create_item(GnomeCanvasGroup *parent) { int i; GnomeCanvasItem *item = NULL; - GdkFont *gdk_font; - - gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); boardRootItem = GNOME_CANVAS_GROUP( gnome_canvas_item_new (parent, @@ -491,7 +485,7 @@ static GnomeCanvasItem *target_create_item(GnomeCanvasGroup *parent) gnome_canvas_text_get_type (), "text", g_strdup_printf("%d", targetDefinition[gcomprisBoard->level-1].target_width_value[i*2+1]), - "font_gdk", gdk_font, + "font", FONT_BOARD_MEDIUM, "x", (double) 0, "y", (double) targetDefinition[gcomprisBoard->level-1].target_width_value[i*2] - 10, "anchor", GTK_ANCHOR_CENTER, @@ -508,9 +502,9 @@ static GnomeCanvasItem *target_create_item(GnomeCanvasGroup *parent) gnome_canvas_text_get_type (), "text", g_strdup_printf(_("Distance to target = %d meters"), targetDefinition[gcomprisBoard->level-1].target_distance), - "font_gdk", gdk_font, + "font", FONT_BOARD_MEDIUM, "x", (double) 0, - "y", (double) BOARDHEIGHT-TARGET_CENTER_Y -40, + "y", (double) BOARDHEIGHT-TARGET_CENTER_Y -45, "anchor", GTK_ANCHOR_CENTER, "fill_color", "white", NULL); @@ -562,9 +556,8 @@ static void process_ok() static void request_score() { GdkPixbuf *button_pixmap = NULL; - double y_offset = 130; - double x_offset = 150; - GdkFont *gdk_font; + double y_offset = 160; + double x_offset = 245; button_pixmap = gcompris_load_pixmap("gcompris/buttons/button_large2.png"); gnome_canvas_item_new (boardRootItem, @@ -574,12 +567,10 @@ static void request_score() "y", y_offset, NULL); - gdk_font = gdk_font_load (FONT_BOARD_MEDIUM); - answer_item = gnome_canvas_item_new (boardRootItem, gnome_canvas_text_get_type (), "text", g_strdup_printf(_("Points = %s"), ""), - "font_gdk", gdk_font, + "font", FONT_BOARD_TITLE_BOLD, "x", (double) x_offset + gdk_pixbuf_get_width(button_pixmap)/2, "y", (double) y_offset + gdk_pixbuf_get_height(button_pixmap)/2, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/boards/wordsgame.c b/src/boards/wordsgame.c index 8f4a32d..c18d01c 100644 --- a/src/boards/wordsgame.c +++ b/src/boards/wordsgame.c @@ -1,6 +1,6 @@ /* gcompris - wordsgame.c * - * Time-stamp: <2002/04/29 01:52:36 bruno> + * Time-stamp: <2002/12/12 00:07:16 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -39,8 +39,9 @@ static gint drop_items_id = 0; static GHashTable *words_table= NULL; typedef struct { - char *word; - char *overword; + gchar *word; + gchar *overword; + gint charcounter; GnomeCanvasItem *rootitem; GnomeCanvasItem *overwriteItem; } LettersItem; @@ -67,7 +68,7 @@ static void player_win(LettersItem *item); static void player_loose(void); static LettersItem *item_find_by_title (const gchar *title); static char *get_random_word(void); -static void wordsgame_check_focus (char *key, +static void wordsgame_check_focus (gchar *key, LettersItem *value, LettersItem **user_data); static gboolean words_table_foreach_remove (char *key, @@ -207,16 +208,19 @@ set_level (guint level) } } -static void wordsgame_check_focus (char *key, +static void wordsgame_check_focus (gchar *key, LettersItem *value, LettersItem **user_data) { LettersItem *usrdata = *user_data; + gchar *nextCurrentChar; if(usrdata->rootitem!=NULL) return; - if(key[0]==usrdata->word[0]) + nextCurrentChar = g_utf8_next_char(key); + + if(strncmp(key, usrdata->word, nextCurrentChar-key)==0) { free(*user_data); *user_data = value; @@ -227,10 +231,12 @@ static void wordsgame_check_focus (char *key, gint key_press(guint keyval) { char str[2]; + gchar *utf8char; if(!gcomprisBoard) return TRUE; + /* Add some filter for control and shift key */ switch (keyval) { @@ -286,6 +292,8 @@ gint key_press(guint keyval) sprintf(str, "%c", keyval); + utf8char = g_locale_to_utf8(str, 1, NULL, NULL, NULL); + if(currentFocus==NULL) { LettersItem *searchitem; @@ -293,9 +301,10 @@ gint key_press(guint keyval) searchitem = malloc(sizeof(LettersItem)); /* Try to see if this letter matches the first one of any words */ - searchitem->word = (char *)&str; - searchitem->rootitem=NULL; - searchitem->overword=""; + searchitem->word = utf8char; + searchitem->rootitem = NULL; + searchitem->overword = ""; + searchitem->charcounter = 0; g_hash_table_foreach (words_table, (GHFunc) wordsgame_check_focus, &searchitem); @@ -314,23 +323,33 @@ gint key_press(guint keyval) { if(currentFocus->rootitem!=NULL) { - char currentChar; - - /* Check this is the correct letter */ - currentChar = currentFocus->word[strlen(currentFocus->overword)]; + gchar *currentChar; + gchar *nextCurrentChar; + gint i; - if(currentChar==str[0]) + currentChar = currentFocus->word; + for(i = 0 ; i < currentFocus->charcounter ; i++) { + currentChar = g_utf8_next_char(currentChar); + } + + nextCurrentChar = g_utf8_next_char(currentChar); + + if(strncmp(currentChar, utf8char, nextCurrentChar-currentChar)==0) { + + currentFocus->charcounter++; + /* Increment the overword */ snprintf(currentFocus->overword, - strlen(currentFocus->overword)+2, + nextCurrentChar-currentFocus->word + 1, "%s", currentFocus->word); - + gnome_canvas_item_set (currentFocus->overwriteItem, "text", currentFocus->overword, NULL); - - if(strlen(currentFocus->overword)==strlen(currentFocus->word)) + + if(g_utf8_strlen(currentFocus->overword, MAXWORDSLENGTH) == + g_utf8_strlen(currentFocus->word, MAXWORDSLENGTH)) { /* You won Guy */ player_win(item_find_by_title(currentFocus->word)); @@ -342,6 +361,7 @@ gint key_press(guint keyval) { /* It is a loose : unselect the word and defocus */ currentFocus->overword[0]='\0'; + currentFocus->charcounter=0; gnome_canvas_item_set (currentFocus->overwriteItem, "text", currentFocus->overword, NULL); @@ -496,7 +516,6 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) { GnomeCanvasItem *item2; LettersItem *lettersItem; - GdkFont *gdk_font; lettersItem = malloc(sizeof(LettersItem)); @@ -505,9 +524,6 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) words_table= g_hash_table_new (g_str_hash, g_str_equal); } - /* Load a gdk font */ - gdk_font = gdk_font_load (FONT_BOARD_BIG); - /* Beware, since we put the words in a hash table, we do not allow the same letter to be displayed two times */ do { @@ -516,14 +532,13 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) /* fill up the overword with zeros */ lettersItem->overword=calloc(strlen(lettersItem->word), 1); + lettersItem->charcounter=0; lettersItem->rootitem = \ gnome_canvas_item_new (parent, gnome_canvas_group_get_type (), - "x", (double)(rand()%(gcomprisBoard->width- - (guint)(gdk_string_width(gdk_font, - lettersItem->word)))), - "y", (double) -gdk_string_height(gdk_font, lettersItem->word), + "x", (double)(rand()%(gcomprisBoard->width-100)), + "y", (double) -12, NULL); /* To 'erase' words, I create 2 times the text item. One is empty now */ @@ -532,7 +547,7 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (GNOME_CANVAS_GROUP(lettersItem->rootitem), gnome_canvas_text_get_type (), "text", lettersItem->word, - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG_BOLD, "x", (double) 0, "y", (double) 0, "anchor", GTK_ANCHOR_NW, @@ -543,7 +558,7 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (GNOME_CANVAS_GROUP(lettersItem->rootitem), gnome_canvas_text_get_type (), "text", "", - "font_gdk", gdk_font, + "font", FONT_BOARD_BIG_BOLD, "x", (double) 0, "y", (double) 0, "anchor", GTK_ANCHOR_NW, @@ -660,13 +675,13 @@ static FILE *get_wordfile(char *locale) * Return a random word from a set of text file depending on * the current level and language */ -static char *get_random_word() +static gchar *get_random_word() { FILE *wordsfd; long size, i; - char *str; + gchar *str; - str = malloc(MAXWORDSLENGTH); + str = g_malloc(MAXWORDSLENGTH); wordsfd = get_wordfile(gcompris_get_locale()); diff --git a/src/gcompris/Makefile.am b/src/gcompris/Makefile.am index b67f07e..7dc9e4f 100644 --- a/src/gcompris/Makefile.am +++ b/src/gcompris/Makefile.am @@ -2,63 +2,68 @@ INCLUDES = \ -I$(top_srcdir)/intl \ - -I$(top_srcdir)/src/unicode \ + -DDATADIR=\""$(datadir)"\" \ + $(GCOMPRIS_CFLAGS) \ $(GNOME_INCLUDEDIR) \ - $(GDK_PIXBUF_CFLAGS) \ $(XML_CFLAGS) \ - $(PTHREAD_CFLAGS) + $(PTHREAD_CFLAGS) \ + -DGNOME_DISABLE_DEPRECATED bin_PROGRAMS = gcompris gcompris-edit +#bin_PROGRAMS = gcompris #noinst_LIBRARIES = \ # libgcompris.a libgcompris_a_SOURCES = \ - pixbuf_util.c pixbuf_util.h \ - gcompris.c gcompris.h gcompris-board.h \ - properties.c properties.h \ + gcompris.c \ gameutil.c gameutil.h \ - soundutil.c soundutil.h \ + properties.c properties.h \ bar.c \ + images_selector.c \ + oggplayer.c \ help.c \ + pixbuf_util.c pixbuf_util.h \ + board.h board.c \ + soundutil.c soundutil.h \ + cursor.c cursor.h \ plugin.h \ - pluginenum.c pluginenum.h board.h board.c \ + pluginenum.c pluginenum.h \ bonus.c bonus.h \ timer.c timer.h \ score.c score.h \ config.c gcompris_config.h \ - about.c about.h \ - cursor.c cursor.h \ - images_selector.c \ - oggplayer.c + about.c about.h gcompris_SOURCES = \ main.c \ $(libgcompris_a_SOURCES) + +gcompris_LDFLAGS = \ + -export-dynamic + gcompris_LDADD = \ - -L$(top_builddir)/src/unicode \ - -lgcompris_unicode \ - $(LIBICONV) \ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) \ + $(LIBICONV) \ + $(GCOMPRIS_LIBS) \ $(XML_LIBS) $(INTLLIBS) \ - $(GDK_PIXBUF_LIBS) \ $(PTHREAD_LIB) \ $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(AO_LIBS) +gcompris_edit_LDFLAGS = \ + -export-dynamic + gcompris_edit_SOURCES = \ - gcompris-edit.c gcompris-edit.h on.xpm off.xpm \ + gcompris-edit.c gcompris-edit.h \ support.c support.h \ interface.c interface.h \ callbacks.c callbacks.h \ $(libgcompris_a_SOURCES) gcompris_edit_LDADD = \ - -L$(top_builddir)/src/unicode \ - -lgcompris_unicode \ - $(GNOME_LIBDIR) $(GNOMEUI_LIBS) $(INTLLIBS) \ - $(XML_LIBS) $(GDK_PIXBUF_LIBS) \ + $(GCOMPRIS_LIBS) \ + $(XML_LIBS) $(INTLLIBS) \ $(PTHREAD_LIB) \ $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(AO_LIBS) diff --git a/src/gcompris/about.c b/src/gcompris/about.c index 4347088..fb03917 100644 --- a/src/gcompris/about.c +++ b/src/gcompris/about.c @@ -1,6 +1,6 @@ /* gcompris - about.c * - * Time-stamp: <2002/05/05 22:25:25 bruno> + * Time-stamp: <2002/12/09 22:23:52 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -46,9 +46,6 @@ void gcompris_about_stop (void); void gcompris_about_start () { GcomprisBoard *gcomprisBoard = get_current_gcompris_board(); - GdkFont *gdk_font; - GdkFont *gdk_font_small; - GdkFont *gdk_font2; GdkPixbuf *pixmap = NULL; gint y_start = 0; gint x_start = 0; @@ -92,16 +89,10 @@ void gcompris_about_start () y = BOARDHEIGHT - (BOARDHEIGHT - gdk_pixbuf_get_height(pixmap))/2; gdk_pixbuf_unref(pixmap); - // TITLE - gdk_font = gdk_font_load (FONT_TITLE); - if(!gdk_font) - // Fallback to a more usual font - gdk_font = gdk_font_load (FONT_TITLE_FALLBACK); - item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("About GCompris"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH/2, "y", (double) y_start + 40, "anchor", GTK_ANCHOR_CENTER, @@ -114,24 +105,18 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", "GCompris V" VERSION, - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH/2, "y", (double) y_start, "anchor", GTK_ANCHOR_CENTER, "fill_color_rgba", COLOR_SUBTITLE, NULL); - // CONTENT - gdk_font2 = gdk_font_load (FONT_CONTENT); - if(!gdk_font2) - // Fallback to a more usual font - gdk_font2 = gdk_font_load (FONT_CONTENT_FALLBACK); - y_start += 180; item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", content, - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH/2, "y", (double) y_start, "anchor", GTK_ANCHOR_CENTER, @@ -158,7 +143,7 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", "OFSET", - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) (BOARDWIDTH*0.25), "y", (double) y_start + 80, "anchor", GTK_ANCHOR_CENTER, @@ -185,7 +170,7 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", "Free Software Foundation", - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) (BOARDWIDTH*0.75), "y", (double) y_start + 80, "anchor", GTK_ANCHOR_CENTER, @@ -213,7 +198,7 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("GCompris Home Page"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) (BOARDWIDTH*0.5), "y", (double) y_start + 30, "anchor", GTK_ANCHOR_CENTER, @@ -224,7 +209,7 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", "Copyright 2000,2001,2002 Bruno Coudoin", - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH/2, "y", (double) y - 85, "anchor", GTK_ANCHOR_CENTER, @@ -235,7 +220,7 @@ void gcompris_about_start () item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("This software is a GNU Package and is released under the Gnu Public Licence"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH/2, "y", (double) y - 70, "anchor", GTK_ANCHOR_CENTER, @@ -263,7 +248,7 @@ void gcompris_about_start () item2 = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Help"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH*0.3, "y", (double) y - gdk_pixbuf_get_height(pixmap) + 20, "anchor", GTK_ANCHOR_CENTER, @@ -297,7 +282,7 @@ void gcompris_about_start () item2 = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("OK"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH*0.7, "y", (double) y - gdk_pixbuf_get_height(pixmap) + 20, "anchor", GTK_ANCHOR_CENTER, @@ -310,12 +295,6 @@ void gcompris_about_start () (GtkSignalFunc) gcompris_item_event_focus, item); - // About box content - gdk_font_small = gdk_font_load (FONT_SUBTITLE); - if(!gdk_font_small) - // Fallback to a more usual font - gdk_font_small = gdk_font_load (FONT_SUBTITLE_FALLBACK); - pixmap_about = gcompris_load_pixmap("gcompris/gcompris-about.png"); plane_x = gdk_pixbuf_get_width(pixmap_about)/2; @@ -415,15 +394,15 @@ item_event_ok(GnomeCanvasItem *item, GdkEvent *event, gpointer data) } else if (!strcmp((char *)data, "ofset")) { - gnome_url_show("http://ofset.sourceforge.net"); + gnome_url_show("http://ofset.sourceforge.net", NULL); } else if (!strcmp((char *)data, "ofset")) { - gnome_url_show("http://www.fsf.org"); + gnome_url_show("http://www.fsf.org", NULL); } else if (!strcmp((char *)data, "gcompris")) { - gnome_url_show("http://ofset.sourceforge.net/gcompris"); + gnome_url_show("http://ofset.sourceforge.net/gcompris", NULL); } else if (!strcmp((char *)data, "help")) { @@ -432,7 +411,7 @@ item_event_ok(GnomeCanvasItem *item, GdkEvent *event, gpointer data) * Package relocatable. * Unfortunatly, this does not supports I18N */ - gnome_help_goto(NULL, PACKAGE_HELP_DIR "/C/gcompris.html"); + gnome_help_display(PACKAGE_HELP_DIR "/C/gcompris.html", NULL, NULL); } default: break; diff --git a/src/gcompris/callbacks.c b/src/gcompris/callbacks.c index d090041..4e3e731 100644 --- a/src/gcompris/callbacks.c +++ b/src/gcompris/callbacks.c @@ -8,11 +8,9 @@ #include "interface.h" #include "support.h" -#include "gcompris.h" -#include "gcompris-edit.h" void -on_save1_activate (GtkMenuItem *menuitem, +on_quit1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -20,7 +18,7 @@ on_save1_activate (GtkMenuItem *menuitem, void -on_exit1_activate (GtkMenuItem *menuitem, +on_cut1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -28,7 +26,7 @@ on_exit1_activate (GtkMenuItem *menuitem, void -on_cut1_activate (GtkMenuItem *menuitem, +on_copy1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -36,7 +34,7 @@ on_cut1_activate (GtkMenuItem *menuitem, void -on_copy1_activate (GtkMenuItem *menuitem, +on_paste1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -44,15 +42,18 @@ on_copy1_activate (GtkMenuItem *menuitem, void -on_paste1_activate (GtkMenuItem *menuitem, +on_about1_activate (GtkMenuItem *menuitem, gpointer user_data) { + GtkWidget *gcompris_about = NULL; + gcompris_about = create_about1 (); + gtk_widget_show (gcompris_about); } void -on_clear1_activate (GtkMenuItem *menuitem, +on_new1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -60,7 +61,7 @@ on_clear1_activate (GtkMenuItem *menuitem, void -on_about1_activate (GtkMenuItem *menuitem, +on_open1_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -68,93 +69,84 @@ on_about1_activate (GtkMenuItem *menuitem, void -on_ctree1_tree_select_row (GtkCTree *ctree, - GList *node, - gint column, +on_save1_activate (GtkMenuItem *menuitem, gpointer user_data) { - GcomprisBoard *gcomprisBoard = gtk_ctree_node_get_row_data(ctree, (GtkCTreeNode *)node); - printf("selected %s\n", gcomprisBoard->name); - gcompris_ctree_selection_add(gcomprisBoard, node); - gcompris_edit_display_description(gcomprisBoard); } + void -on_ctree1_tree_unselect_row (GtkCTree *ctree, - GList *node, - gint column, +on_save_as1_activate (GtkMenuItem *menuitem, gpointer user_data) { - GcomprisBoard *gcomprisBoard = gtk_ctree_node_get_row_data(ctree, (GtkCTreeNode *)node); - - gcompris_ctree_selection_del(gcomprisBoard, node); } void -on_buttonIconList_clicked (GtkButton *button, +on_quit2_activate (GtkMenuItem *menuitem, gpointer user_data) { - printf("icon list clicked\n"); - gcompris_edit_display_iconlist(); } void -on_buttonAdd_clicked (GtkButton *button, +on_cut2_activate (GtkMenuItem *menuitem, gpointer user_data) { - if(gcompris_ctree_get_selected_board()) - { - gcompris_properties_enable_board(gcompris_ctree_get_selected_board()->name); - gcompris_ctree_set_board_status(gcompris_ctree_get_selected_board(), - gcompris_ctree_get_selected_node(), - TRUE); - } +} + + +void +on_copy2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ } + void -on_buttonDel_clicked (GtkButton *button, +on_paste2_activate (GtkMenuItem *menuitem, gpointer user_data) { - if(gcompris_ctree_get_selected_board()) - { - gcompris_properties_disable_board(gcompris_ctree_get_selected_board()->name); - gcompris_ctree_set_board_status(gcompris_ctree_get_selected_board(), - gcompris_ctree_get_selected_node(), - FALSE); - } +} + + +void +on_clear2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ } +void +on_properties1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + void -on_ctree1_tree_collapse (GtkCTree *ctree, - GList *node, +on_preferences1_activate (GtkMenuItem *menuitem, gpointer user_data) { - GcomprisBoard *gcomprisBoard = gtk_ctree_node_get_row_data(ctree, (GtkCTreeNode *)node); - printf("icon list collapse\n"); - gcompris_ctree_update_status(gcomprisBoard, node); } void -on_ctree1_tree_expand (GtkCTree *ctree, - GList *node, +on_about2_activate (GtkMenuItem *menuitem, gpointer user_data) { - GcomprisBoard *gcomprisBoard = gtk_ctree_node_get_row_data(ctree, (GtkCTreeNode *)node); - printf("icon list expand\n"); - gcompris_ctree_update_status(gcomprisBoard, node); } + + + diff --git a/src/gcompris/callbacks.h b/src/gcompris/callbacks.h index 364f027..f8f657a 100644 --- a/src/gcompris/callbacks.h +++ b/src/gcompris/callbacks.h @@ -2,11 +2,7 @@ void -on_save1_activate (GtkMenuItem *menuitem, - gpointer user_data); - -void -on_exit1_activate (GtkMenuItem *menuitem, +on_quit1_activate (GtkMenuItem *menuitem, gpointer user_data); void @@ -22,21 +18,11 @@ on_paste1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_clear1_activate (GtkMenuItem *menuitem, - gpointer user_data); - -void on_about1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_ctree1_tree_select_row (GtkCTree *ctree, - GList *node, - gint column, - gpointer user_data); - -void -on_new_file1_activate (GtkMenuItem *menuitem, +on_new1_activate (GtkMenuItem *menuitem, gpointer user_data); void @@ -44,7 +30,7 @@ on_open1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_save2_activate (GtkMenuItem *menuitem, +on_save1_activate (GtkMenuItem *menuitem, gpointer user_data); void @@ -52,7 +38,7 @@ on_save_as1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_exit2_activate (GtkMenuItem *menuitem, +on_quit2_activate (GtkMenuItem *menuitem, gpointer user_data); void @@ -84,37 +70,49 @@ on_about2_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_buttonIconList_clicked (GtkButton *button, +on_new1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_ctree1_tree_unselect_row (GtkCTree *ctree, - GList *node, - gint column, +on_open1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_button1_clicked (GtkButton *button, +on_save1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_button2_clicked (GtkButton *button, +on_save_as1_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_buttonDel_clicked (GtkButton *button, +on_quit2_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_buttonAdd_clicked (GtkButton *button, +on_cut2_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_ctree1_tree_collapse (GtkCTree *ctree, - GList *node, +on_copy2_activate (GtkMenuItem *menuitem, gpointer user_data); void -on_ctree1_tree_expand (GtkCTree *ctree, - GList *node, +on_paste2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_clear2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_properties1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_preferences1_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_about2_activate (GtkMenuItem *menuitem, gpointer user_data); diff --git a/src/gcompris/config.c b/src/gcompris/config.c index 954626b..81bcdde 100644 --- a/src/gcompris/config.c +++ b/src/gcompris/config.c @@ -1,6 +1,6 @@ /* gcompris - config.c * - * Time-stamp: <2002/10/06 16:42:24 djill> + * Time-stamp: <2002/12/08 15:52:42 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -87,8 +87,6 @@ void gcompris_config_start () { GcomprisBoard *gcomprisBoard = get_current_gcompris_board(); GcomprisProperties *properties = gcompris_get_properties(); - GdkFont *gdk_font; - GdkFont *gdk_font_small; GdkPixbuf *pixmap = NULL; gint y_start = 0; gint x_start = 0; @@ -125,16 +123,10 @@ void gcompris_config_start () y = BOARDHEIGHT - (BOARDHEIGHT - gdk_pixbuf_get_height(pixmap))/2; gdk_pixbuf_unref(pixmap); - // TITLE - gdk_font = gdk_font_load (FONT_TITLE); - if(!gdk_font) - // Fallback to a more usual font - gdk_font = gdk_font_load (FONT_TITLE_FALLBACK); - item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("GCompris Configuration"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH/2, "y", (double) y_start + 40, "anchor", GTK_ANCHOR_CENTER, @@ -160,7 +152,7 @@ void gcompris_config_start () item2 = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("OK"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH*0.5, "y", (double) y - gdk_pixbuf_get_height(pixmap) + 20, "anchor", GTK_ANCHOR_CENTER, @@ -175,12 +167,6 @@ void gcompris_config_start () gdk_pixbuf_unref(pixmap); - // Configuration content - gdk_font_small = gdk_font_load (FONT_SUBTITLE); - if(!gdk_font_small) - // Fallback to a more usual font - gdk_font_small = gdk_font_load (FONT_SUBTITLE_FALLBACK); - pixmap_checked = gcompris_load_pixmap("gcompris/buttons/button_checked.png"); pixmap_unchecked = gcompris_load_pixmap("gcompris/buttons/button_unchecked.png"); @@ -218,7 +204,7 @@ void gcompris_config_start () item_locale_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", get_locale_name(current_locale), - "font_gdk", gdk_font_small, + "font", FONT_SUBTITLE, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -246,7 +232,7 @@ void gcompris_config_start () gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Fullscreen"), - "font_gdk", gdk_font_small, + "font", FONT_CONTENT, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -261,7 +247,7 @@ void gcompris_config_start () item_screen_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", gettext(screenname[properties->screensize]), - "font_gdk", gdk_font_small, + "font", FONT_CONTENT, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -289,7 +275,7 @@ void gcompris_config_start () gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Music"), - "font_gdk", gdk_font_small, + "font", FONT_CONTENT, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -317,7 +303,7 @@ void gcompris_config_start () gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Effect"), - "font_gdk", gdk_font_small, + "font", FONT_CONTENT, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -332,7 +318,7 @@ void gcompris_config_start () item_timer_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", gettext(timername[properties->timer]), - "font_gdk", gdk_font_small, + "font", FONT_CONTENT, "x", (double) x_text_start, "y", (double) y_start, "anchor", GTK_ANCHOR_WEST, @@ -420,7 +406,7 @@ static void set_locale_flag(gchar *locale) g_warning("Trying to load flag %s", filename); - if (g_file_exists (filename)) + if (g_file_test ((filename), G_FILE_TEST_EXISTS)) { pixmap = gcompris_load_pixmap(str); } diff --git a/src/gcompris/gameutil.c b/src/gcompris/gameutil.c index dd084d7..bc0c185 100644 --- a/src/gcompris/gameutil.c +++ b/src/gcompris/gameutil.c @@ -1,6 +1,6 @@ /* gcompris - gameutil.c * - * Time-stamp: <2002/10/13 17:53:04 bruno> + * Time-stamp: <2002/12/09 22:01:39 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -24,7 +24,6 @@ #include <libxml/parser.h> #include "gcompris.h" -#include "e-unicode.h" #define IMAGEEXTENSION ".png" @@ -82,11 +81,11 @@ GdkPixbuf *gcompris_load_number_pixmap(char number) filename = g_strdup_printf("%s/%s/%s%s%s", PACKAGE_DATA_DIR, "gcompris", lettersdir, file, IMAGEEXTENSION); - if (!g_file_exists (filename)) { + if (!g_file_test ((filename), G_FILE_TEST_EXISTS)) { g_error (_("Couldn't find file %s !"), filename); } - pixmap = gdk_pixbuf_new_from_file (filename); + pixmap = gdk_pixbuf_new_from_file (filename, NULL); g_free (filename); @@ -101,11 +100,11 @@ GdkPixbuf *gcompris_load_pixmap(char *pixmapfile) filename = g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, pixmapfile); - if (!g_file_exists (filename)) { + if (!g_file_test ((filename), G_FILE_TEST_EXISTS)) { g_error (_("Couldn't find file %s !"), filename); } - smallnumbers_pixmap = gdk_pixbuf_new_from_file (filename); + smallnumbers_pixmap = gdk_pixbuf_new_from_file (filename, NULL); if(!smallnumbers_pixmap) g_warning("Loading image returned a null pointer"); @@ -292,7 +291,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->title = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->title = convertUTF8Toisolat1(gcomprisBoard->title); } /* get the description of the board */ @@ -302,7 +300,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->description = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->description = convertUTF8Toisolat1(gcomprisBoard->description); } /* get the help prerequisite help of the board */ @@ -312,7 +309,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->prerequisite = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->prerequisite = convertUTF8Toisolat1(gcomprisBoard->prerequisite); } /* get the help goal of the board */ @@ -322,7 +318,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->goal = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->goal = convertUTF8Toisolat1(gcomprisBoard->goal); } /* get the help user manual of the board */ @@ -332,7 +327,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->manual = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->manual = convertUTF8Toisolat1(gcomprisBoard->manual); } /* get the help user credit of the board */ @@ -342,7 +336,6 @@ gcompris_add_xml_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, Gcomp || !strncmp(lang, gcompris_get_locale(), 2))) { gcomprisBoard->credit = xmlNodeListGetString(doc, xmlnode->xmlChildrenNode, 1); - gcomprisBoard->credit = convertUTF8Toisolat1(gcomprisBoard->credit); } xmlnode = xmlnode->next; @@ -385,7 +378,7 @@ GcomprisBoard *gcompris_read_xml_file(char *fname) filename = g_strdup(fname); /* if the file doesn't exist */ - if(!g_file_exists(filename)) + if(!g_file_test ((filename), G_FILE_TEST_EXISTS)) { g_free(filename); @@ -393,7 +386,7 @@ GcomprisBoard *gcompris_read_xml_file(char *fname) filename = g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, fname); - if(!g_file_exists(filename)) + if(!g_file_test ((filename), G_FILE_TEST_EXISTS)) { g_warning(_("Couldn't find file %s !"), fname); g_warning(_("Couldn't find file %s !"), filename); @@ -451,7 +444,7 @@ gchar * convertUTF8Toisolat1(gchar * text) { if (text == NULL) return NULL; - retval = e_utf8_to_locale_string (text); + // retval = e_utf8_to_locale_string (text); if(retval != NULL) { g_free(text); diff --git a/src/gcompris/gameutil.h b/src/gcompris/gameutil.h index 6a5ce48..1a23641 100644 --- a/src/gcompris/gameutil.h +++ b/src/gcompris/gameutil.h @@ -22,7 +22,7 @@ #define GAMEUTIL_H #include <gdk-pixbuf/gdk-pixbuf.h> -#include <gdk-pixbuf/gnome-canvas-pixbuf.h> +#include <libgnomecanvas/gnome-canvas-pixbuf.h> #include "gcompris.h" #include "soundutil.h" diff --git a/src/gcompris/gcompris-edit.c b/src/gcompris/gcompris-edit.c index 1865900..feec97e 100644 --- a/src/gcompris/gcompris-edit.c +++ b/src/gcompris/gcompris-edit.c @@ -36,69 +36,28 @@ #include "gcompris.h" #include "gcompris-edit.h" -#include "on.xpm" -#include "off.xpm" - static GtkWidget *gcompris_edit = NULL; -static GtkWidget *ctree1 = NULL; - -static GdkPixmap *pixmap_on; -static GdkPixmap *pixmap_on_mask; -static GdkPixmap *pixmap_on_transp; -static GdkPixmap *pixmap_off; -static GdkPixmap *pixmap_off_mask; -static GdkPixmap *pixmap_off_transp; +static GtkWidget *treeview = NULL; +static GtkTreeModel *model = NULL; static gboolean read_xml_file(GtkCTreeNode *parentNode, char *fname); -static GcomprisBoard *selectedBoard = NULL; -static GtkCTreeNode *selectedNode = NULL; +/* Prototype for selection handler callback */ +static void tree_selection_changed_cb (GtkTreeSelection *selection, + gpointer data); -void gcompris_edit_display_iconlist() -{ - GtkWidget *windowWidget = NULL; - GtkWidget *tmpWidget = NULL; - windowWidget = create_window_iconlist(); - - gtk_widget_show (GTK_WINDOW(windowWidget)); - - tmpWidget = gtk_object_get_data (GTK_OBJECT (windowWidget), - "iconselection"); - gnome_icon_selection_add_directory (GNOME_ICON_SELECTION(tmpWidget), - PACKAGE_DATA_DIR "/boardicons"); - gnome_icon_selection_show_icons (GNOME_ICON_SELECTION(tmpWidget)); -} - -/* - * Redisplay the icon representing the status of the board - */ -void gcompris_ctree_update_status(GcomprisBoard *gcomprisBoard, - GtkCTreeNode *node) +/* columns */ +enum { - if(gcompris_properties_get_board_status(gcomprisBoard->name)) - gcompris_ctree_set_board_status(gcomprisBoard, node, TRUE); - else - gcompris_ctree_set_board_status(gcomprisBoard, node, FALSE); -} + VISIBLE_COLUMN = 0, + NAME_COLUMN, + DESCRIPTION_COLUMN, -/* - * Set the icon in the tree depending on the given status - */ -void gcompris_ctree_set_board_status(GcomprisBoard *gcomprisBoard, - GtkCTreeNode *node, - gboolean status) -{ - if(status) - gtk_ctree_node_set_pixtext(GTK_CTREE(ctree1), node, 0, - gcomprisBoard->name, 8, - pixmap_on, pixmap_on_mask); - else - gtk_ctree_node_set_pixtext(GTK_CTREE(ctree1), node, 0, - gcomprisBoard->name, 8, - pixmap_off, pixmap_off_mask); + BOARD_POINTER_COLUMN, + NUM_COLUMNS +}; -} /* * Update the description based on the given gcomprisBoard @@ -107,20 +66,23 @@ void gcompris_edit_display_description(GcomprisBoard *gcomprisBoard) { GtkWidget *tmpWidget = NULL; gchar *strTmp = NULL; + GtkTextBuffer *buffer; printf("gcompris-edit-display-description for %s\n", gcomprisBoard->name); /* BoardIcon */ + tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "pixmapBoardIcon"); + "iconentry"); strTmp =g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, gcomprisBoard->icon_name); - gnome_pixmap_load_file(GNOME_PIXMAP(tmpWidget), strTmp); + gnome_icon_entry_set_filename(tmpWidget, strTmp); g_free(strTmp); + /* Name */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "entryName"); + "entry_name"); if(gcomprisBoard->name) gtk_entry_set_text(GTK_ENTRY(tmpWidget), gcomprisBoard->name); @@ -130,7 +92,7 @@ void gcompris_edit_display_description(GcomprisBoard *gcomprisBoard) /* Title */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "entryTitle"); + "entry_title"); if(gcomprisBoard->title) gtk_entry_set_text(GTK_ENTRY(tmpWidget), gcomprisBoard->title); else @@ -139,17 +101,14 @@ void gcompris_edit_display_description(GcomprisBoard *gcomprisBoard) /* Description */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "textDescription"); - - gtk_text_backward_delete(GTK_TEXT(tmpWidget), gtk_text_get_length(GTK_TEXT(tmpWidget))); + "textview_description"); + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmpWidget)); + gtk_text_buffer_set_text (buffer, gcomprisBoard->description, -1); - if(gcomprisBoard->description) - gtk_text_insert(GTK_TEXT(tmpWidget), NULL, NULL, NULL, gcomprisBoard->description, - strlen(gcomprisBoard->description)); /* Difficulty */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "spinbuttonDifficulty"); + "spinbutton_difficulty"); if(gcomprisBoard->difficulty) gtk_spin_button_set_value(GTK_SPIN_BUTTON(tmpWidget), atof(gcomprisBoard->difficulty)); else @@ -157,15 +116,23 @@ void gcompris_edit_display_description(GcomprisBoard *gcomprisBoard) /* Author */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "entryAuthor"); + "entry_author"); if(gcomprisBoard->author) gtk_entry_set_text(GTK_ENTRY(tmpWidget), gcomprisBoard->author); else gtk_entry_set_text(GTK_ENTRY(tmpWidget), ""); + /* Type */ + tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), + "entry_type"); + if(gcomprisBoard->type) + gtk_entry_set_text(GTK_ENTRY(tmpWidget), gcomprisBoard->type); + else + gtk_entry_set_text(GTK_ENTRY(tmpWidget), ""); + /* BoardDir */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "entryBoardDir"); + "entry_directory"); if(gcomprisBoard->boarddir) gtk_entry_set_text(GTK_ENTRY(tmpWidget), gcomprisBoard->boarddir); @@ -174,117 +141,193 @@ void gcompris_edit_display_description(GcomprisBoard *gcomprisBoard) /* Prerequisite */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "textPrerequisite"); - - gtk_text_backward_delete(GTK_TEXT(tmpWidget), gtk_text_get_length(GTK_TEXT(tmpWidget))); + "textview_prerequisite"); + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmpWidget)); + gtk_text_buffer_set_text (buffer, gcomprisBoard->prerequisite, -1); - if(gcomprisBoard->prerequisite != NULL) - { - gtk_text_insert(GTK_TEXT(tmpWidget), NULL, NULL, NULL, gcomprisBoard->prerequisite, - strlen(gcomprisBoard->prerequisite)); - } /* Goal */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "textGoal"); - - gtk_text_backward_delete(GTK_TEXT(tmpWidget), gtk_text_get_length(GTK_TEXT(tmpWidget))); - - if(gcomprisBoard->goal != NULL) - { - gtk_text_insert(GTK_TEXT(tmpWidget), NULL, NULL, NULL, gcomprisBoard->goal, - strlen(gcomprisBoard->goal)); - } + "textview_goal"); + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmpWidget)); + gtk_text_buffer_set_text (buffer, gcomprisBoard->goal, -1); + /* Manual */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "textManual"); - - gtk_text_backward_delete(GTK_TEXT(tmpWidget), gtk_text_get_length(GTK_TEXT(tmpWidget))); + "textview_manual"); + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmpWidget)); + gtk_text_buffer_set_text (buffer, gcomprisBoard->manual, -1); - if(gcomprisBoard->manual != NULL) - { - gtk_text_insert(GTK_TEXT(tmpWidget), NULL, NULL, NULL, gcomprisBoard->manual, - strlen(gcomprisBoard->manual)); - } /* Credit */ tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "textCredit"); + "textview_credit"); + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmpWidget)); + gtk_text_buffer_set_text (buffer, gcomprisBoard->credit, -1); - gtk_text_backward_delete(GTK_TEXT(tmpWidget), gtk_text_get_length(GTK_TEXT(tmpWidget))); +} + +static void +tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data) +{ + GtkTreeIter iter; + GtkTreeModel *model; + GcomprisBoard *board; - if(gcomprisBoard->credit != NULL) + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { - gtk_text_insert(GTK_TEXT(tmpWidget), NULL, NULL, NULL, gcomprisBoard->credit, - strlen(gcomprisBoard->credit)); - } + gtk_tree_model_get (model, &iter, BOARD_POINTER_COLUMN, &board, -1); + + gcompris_edit_display_description(board); + } } -GtkCTreeNode *add_node_to_ctree ( GtkWidget *ctree1, - GtkCTreeNode * gn, GcomprisBoard *gcomprisBoardMenu) +static void +item_toggled (GtkCellRendererToggle *cell, + gchar *path_str, + gpointer data) { - GtkCTreeNode *newNode = NULL; - gchar *text[3]; + GtkTreeModel *model = (GtkTreeModel *)data; + GtkTreePath *path = gtk_tree_path_new_from_string (path_str); + GtkTreeIter iter; + gboolean toggle_item; + GcomprisBoard *board; - printf("add_node_to_ctree %s\n", gcomprisBoardMenu->name); + gint *column; - /* Create the text */ - text[0] = gcomprisBoardMenu->name; + column = g_object_get_data (G_OBJECT (cell), "column"); - text[1] = gcomprisBoardMenu->title; + /* get toggled item */ + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, column, &toggle_item, -1); - if(gcomprisBoardMenu->difficulty) - text[2] = gcomprisBoardMenu->difficulty; + /* Get the actual board */ + gtk_tree_model_get (model, &iter, BOARD_POINTER_COLUMN, &board, -1); + + if(toggle_item) + gcompris_properties_disable_board(board->name); else - text[2] = ""; - - newNode = gtk_ctree_insert_node(GTK_CTREE(ctree1), - gn, - NULL, - text, - 2, - NULL, - NULL, - NULL, - NULL, - FALSE, - TRUE); - - /* Associaste our data to the node */ - gtk_ctree_node_set_row_data(GTK_CTREE(ctree1), newNode, gcomprisBoardMenu); - - gcompris_ctree_update_status(gcomprisBoardMenu, newNode); - - return(newNode); + gcompris_properties_enable_board(board->name); + + /* set new value */ + toggle_item ^= 1; + gtk_tree_store_set (GTK_TREE_STORE (model), &iter, column, + toggle_item, -1); + + /* clean up */ + gtk_tree_path_free (path); +} + +static void +add_columns (GtkTreeView *treeview) +{ + gint col_offset; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + + /* active column */ + renderer = gtk_cell_renderer_toggle_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL); + g_object_set_data (G_OBJECT (renderer), "column", (gint *)VISIBLE_COLUMN); + + g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled), + model); + col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, "active", + renderer, + "active", + VISIBLE_COLUMN, + NULL); + + column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1); + gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column), + GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50); + gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE); + + /* column for names */ + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL); + + col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, "Name", + renderer, "text", + NAME_COLUMN, + NULL); + column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1); + gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE); + + /* column for description */ + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL); + + col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, "Description", + renderer, "text", + DESCRIPTION_COLUMN, + NULL); + column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1); + gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE); + +} + +static GtkTreeModel * +create_model (void) +{ + GtkTreeStore *model; + GtkTreeIter iter; + + /* create tree store */ + model = gtk_tree_store_new (NUM_COLUMNS, + G_TYPE_BOOLEAN, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_POINTER); + + + return GTK_TREE_MODEL (model); } + void init_tree() { + /* Setup the selection handler */ + GtkTreeSelection *select; + /* Get our ctree */ - ctree1 = gtk_object_get_data (GTK_OBJECT (gcompris_edit), - "ctree1"); - - /* Init pixmaps */ - pixmap_on = gdk_pixmap_create_from_xpm_d(gcompris_edit->window, - &pixmap_on_mask, - &pixmap_on_transp, - BOARD_ON_XPM); - pixmap_off = gdk_pixmap_create_from_xpm_d(gcompris_edit->window, - &pixmap_off_mask, - &pixmap_off_transp, - BOARD_OFF_XPM); + treeview = gtk_object_get_data (GTK_OBJECT (gcompris_edit), + "treeview"); - read_xml_file(NULL, PACKAGE_DATA_DIR INITIAL_MENU); -} + model = create_model(); + /* create tree view */ + gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), model); + g_object_unref (G_OBJECT (model)); -/* - * Thanks for George Lebl <jirka@5z.com> for his Genealogy example - * for all the XML stuff there - */ + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE); + gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), + GTK_SELECTION_SINGLE); + + /* Setup the selection handler */ + select = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); + g_signal_connect (G_OBJECT (select), "changed", + G_CALLBACK (tree_selection_changed_cb), + NULL); + + add_columns (GTK_TREE_VIEW (treeview)); + + /* expand all rows after the treeview widget has been realized */ + g_signal_connect (G_OBJECT (treeview), "realize", + G_CALLBACK (gtk_tree_view_expand_all), NULL); + + + read_xml_file(NULL, PACKAGE_DATA_DIR INITIAL_MENU); + +} static void add_menu(GtkCTreeNode *parentNode, xmlNodePtr xmlnode, GNode * child) @@ -292,6 +335,7 @@ add_menu(GtkCTreeNode *parentNode, xmlNodePtr xmlnode, GNode * child) char *filename; GcomprisBoard *gcomprisBoardMenu = NULL; GtkCTreeNode *newNode = NULL; + GtkTreeIter iter; if(/* if the node has no name */ !xmlnode->name || @@ -307,8 +351,16 @@ add_menu(GtkCTreeNode *parentNode, xmlNodePtr xmlnode, GNode * child) if(!board_check_file(gcomprisBoardMenu)) g_error("Cant't find the menu board or plugin execution error"); - newNode = add_node_to_ctree(ctree1, parentNode, gcomprisBoardMenu); - + gtk_tree_store_append (model, &iter, NULL); + gtk_tree_store_set (model, &iter, + VISIBLE_COLUMN, + (gcompris_properties_get_board_status(gcomprisBoardMenu->name)? TRUE : FALSE), + NAME_COLUMN, gcomprisBoardMenu->name, + DESCRIPTION_COLUMN, gcomprisBoardMenu->description, + BOARD_POINTER_COLUMN, gcomprisBoardMenu, + -1); + + /* Recursively add sub menu */ if(g_strcasecmp(gcomprisBoardMenu->type, "menu")==0) { @@ -316,6 +368,7 @@ add_menu(GtkCTreeNode *parentNode, xmlNodePtr xmlnode, GNode * child) } } + /* parse the doc, add it to our internal structures and to the clist */ static void parse_doc(GtkCTreeNode *parentNode, xmlDocPtr doc) @@ -348,7 +401,7 @@ read_xml_file(GtkCTreeNode *parentNode, char *fname) filename = g_strdup(fname); /* if the file doesn't exist */ - if(!g_file_exists(filename)) + if(!g_file_test(filename, G_FILE_TEST_EXISTS)) { g_free(filename); @@ -356,7 +409,7 @@ read_xml_file(GtkCTreeNode *parentNode, char *fname) filename = g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, fname); - if(!g_file_exists(filename)) + if(!g_file_test(filename, G_FILE_TEST_EXISTS)) { g_warning(_("Couldn't find file %s !"), fname); g_warning(_("Couldn't find file %s !"), filename); @@ -392,52 +445,19 @@ read_xml_file(GtkCTreeNode *parentNode, char *fname) } -/* - * Manage the tree selection : add the selection - */ -void gcompris_ctree_selection_add(GcomprisBoard *gcomprisBoard, GtkCTreeNode *node) -{ - selectedBoard = gcomprisBoard; - selectedNode = node; -} - -/* - * Manage the tree selection : del the selection - */ -void gcompris_ctree_selection_del(GcomprisBoard *gcomprisBoard, GtkCTreeNode *node) -{ - selectedBoard = NULL; - selectedNode = NULL; -} - -/* - * Manage the tree selection : return it - */ -GcomprisBoard *gcompris_ctree_get_selected_board() -{ - return (selectedBoard); -} - -/* - * Manage the tree selection : return it - */ -GtkCTreeNode *gcompris_ctree_get_selected_node() -{ - return (selectedNode); -} - - - int main (int argc, char *argv[]) { + GtkWidget *tmpWidget = NULL; -#ifdef ENABLE_NLS - bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR); - textdomain (PACKAGE); -#endif + bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); - gnome_init (PACKAGE, VERSION, argc, argv); + gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PARAM_APP_DATADIR, PACKAGE_DATA_DIR, + NULL); /* * The following code was added by Glade to create one of each component @@ -455,10 +475,14 @@ main (int argc, char *argv[]) init_plugins(); + /* Set the directory for the pixmaps in the description */ + tmpWidget = gtk_object_get_data (GTK_OBJECT (gcompris_edit), + "iconentry"); + gnome_icon_entry_set_pixmap_subdir(tmpWidget, PACKAGE_DATA_DIR"/boardicons"); + init_tree(); gtk_main (); - return 0; } diff --git a/src/gcompris/gcompris-edit.glade b/src/gcompris/gcompris-edit.glade index f9bd2e4..fe1e14d 100644 --- a/src/gcompris/gcompris-edit.glade +++ b/src/gcompris/gcompris-edit.glade @@ -1,1175 +1,908 @@ -<?xml version="1.0"?> -<GTK-Interface> +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> +<requires lib="gnome"/> +<requires lib="bonobo"/> + +<widget class="GnomeApp" id="gcompris_edit"> + <property name="visible">True</property> + <property name="title" translatable="yes">Gcompris Editor</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="default_width">640</property> + <property name="default_height">480</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="icon">gcompris-edit.png</property> + <property name="enable_layout_config">True</property> + + <child internal-child="dock"> + <widget class="BonoboDock" id="bonobodock1"> + <property name="visible">True</property> + <property name="allow_floating">True</property> + + <child> + <widget class="BonoboDockItem" id="bonobodockitem1"> + <property name="visible">True</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkMenuBar" id="menubar1"> + <property name="visible">True</property> + + <child> + <widget class="GtkMenuItem" id="file1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_FILE_TREE</property> -<project> - <name>Edit</name> - <program_name>gcompris-edit</program_name> - <directory></directory> - <source_directory>.</source_directory> - <pixmaps_directory>.</pixmaps_directory> - <language>C</language> - <gnome_support>True</gnome_support> - <gettext_support>True</gettext_support> - <use_widget_names>True</use_widget_names> - <output_main_file>False</output_main_file> - <gnome_help_support>True</gnome_help_support> -</project> - -<widget> - <class>GnomeApp</class> - <name>gcompris-edit</name> - <title>GCompris Edit</title> - <type>GTK_WINDOW_TOPLEVEL</type> - <position>GTK_WIN_POS_NONE</position> - <modal>False</modal> - <default_width>706</default_width> - <default_height>450</default_height> - <allow_shrink>True</allow_shrink> - <allow_grow>True</allow_grow> - <auto_shrink>False</auto_shrink> - <enable_layout_config>True</enable_layout_config> - - <widget> - <class>GnomeDock</class> - <child_name>GnomeApp:dock</child_name> - <name>dock1</name> - <allow_floating>True</allow_floating> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GnomeDockItem</class> - <name>dockitem1</name> - <border_width>2</border_width> - <placement>GNOME_DOCK_TOP</placement> - <band>0</band> - <position>0</position> - <offset>0</offset> - <locked>False</locked> - <exclusive>True</exclusive> - <never_floating>False</never_floating> - <never_vertical>True</never_vertical> - <never_horizontal>False</never_horizontal> - <shadow_type>GTK_SHADOW_OUT</shadow_type> - - <widget> - <class>GtkMenuBar</class> - <name>menubar1</name> - <shadow_type>GTK_SHADOW_NONE</shadow_type> - - <widget> - <class>GtkMenuItem</class> - <name>file1</name> - <stock_item>GNOMEUIINFO_MENU_FILE_TREE</stock_item> - - <widget> - <class>GtkMenu</class> - <name>file1_menu</name> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>save1</name> - <signal> - <name>activate</name> - <handler>on_save1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_SAVE_ITEM</stock_item> - </widget> - - <widget> - <class>GtkMenuItem</class> - <name>separator1</name> - <right_justify>False</right_justify> - </widget> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>exit1</name> - <signal> - <name>activate</name> - <handler>on_exit1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_EXIT_ITEM</stock_item> - </widget> - </widget> - </widget> - - <widget> - <class>GtkMenuItem</class> - <name>edit1</name> - <stock_item>GNOMEUIINFO_MENU_EDIT_TREE</stock_item> - - <widget> - <class>GtkMenu</class> - <name>edit1_menu</name> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>cut1</name> - <signal> - <name>activate</name> - <handler>on_cut1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_CUT_ITEM</stock_item> - </widget> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>copy1</name> - <signal> - <name>activate</name> - <handler>on_copy1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_COPY_ITEM</stock_item> - </widget> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>paste1</name> - <signal> - <name>activate</name> - <handler>on_paste1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_PASTE_ITEM</stock_item> - </widget> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>clear1</name> - <signal> - <name>activate</name> - <handler>on_clear1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_CLEAR_ITEM</stock_item> - </widget> - - <widget> - <class>GtkMenuItem</class> - <name>separator2</name> - <right_justify>False</right_justify> - </widget> - </widget> - </widget> - - <widget> - <class>GtkMenuItem</class> - <name>help1</name> - <stock_item>GNOMEUIINFO_MENU_HELP_TREE</stock_item> - - <widget> - <class>GtkMenu</class> - <name>help1_menu</name> - - <widget> - <class>GtkPixmapMenuItem</class> - <name>about1</name> - <signal> - <name>activate</name> - <handler>on_about1_activate</handler> - <last_modification_time>Thu, 04 Apr 2002 21:50:15 GMT</last_modification_time> - </signal> - <stock_item>GNOMEUIINFO_MENU_ABOUT_ITEM</stock_item> - </widget> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GnomeDockItem</class> - <name>dockitem2</name> - <border_width>1</border_width> - <placement>GNOME_DOCK_TOP</placement> - <band>1</band> - <position>0</position> - <offset>0</offset> - <locked>False</locked> - <exclusive>True</exclusive> - <never_floating>False</never_floating> - <never_vertical>False</never_vertical> - <never_horizontal>False</never_horizontal> - <shadow_type>GTK_SHADOW_OUT</shadow_type> - - <widget> - <class>GtkToolbar</class> - <name>toolbar1</name> - <border_width>1</border_width> - <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> - <type>GTK_TOOLBAR_BOTH</type> - <space_size>16</space_size> - <space_style>GTK_TOOLBAR_SPACE_LINE</space_style> - <relief>GTK_RELIEF_NONE</relief> - <tooltips>True</tooltips> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>buttonAdd</name> - <tooltip>New file</tooltip> - <signal> - <name>clicked</name> - <handler>on_buttonAdd_clicked</handler> - <last_modification_time>Thu, 06 Jun 2002 21:44:16 GMT</last_modification_time> - </signal> - <label>Add</label> - <stock_pixmap>GNOME_STOCK_PIXMAP_ADD</stock_pixmap> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>buttonDel</name> - <tooltip>Open a file</tooltip> - <signal> - <name>clicked</name> - <handler>on_buttonDel_clicked</handler> - <last_modification_time>Thu, 06 Jun 2002 21:43:58 GMT</last_modification_time> - </signal> - <label>Remove</label> - <stock_pixmap>GNOME_STOCK_PIXMAP_REMOVE</stock_pixmap> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>buttonUp</name> - <label>Up</label> - <stock_pixmap>GNOME_STOCK_PIXMAP_UP</stock_pixmap> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>buttonDown</name> - <label>Down</label> - <stock_pixmap>GNOME_STOCK_PIXMAP_DOWN</stock_pixmap> - </widget> - </widget> - </widget> - - <widget> - <class>GtkHPaned</class> - <child_name>GnomeDock:contents</child_name> - <name>hpaned1</name> - <handle_size>10</handle_size> - <gutter_size>6</gutter_size> - <position>257</position> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow1</name> - <width>168</width> - <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <shrink>True</shrink> - <resize>False</resize> - </child> - - <widget> - <class>GtkCTree</class> - <name>ctree1</name> - <width>150</width> - <tooltip>List of activities</tooltip> - <has_default>True</has_default> - <can_focus>True</can_focus> - <has_focus>True</has_focus> - <signal> - <name>tree_select_row</name> - <handler>on_ctree1_tree_select_row</handler> - <last_modification_time>Tue, 04 Jun 2002 23:31:35 GMT</last_modification_time> - </signal> - <signal> - <name>tree_unselect_row</name> - <handler>on_ctree1_tree_unselect_row</handler> - <last_modification_time>Thu, 06 Jun 2002 21:36:45 GMT</last_modification_time> - </signal> - <signal> - <name>tree_collapse</name> - <handler>on_ctree1_tree_collapse</handler> - <after>True</after> - <last_modification_time>Sat, 08 Jun 2002 07:11:37 GMT</last_modification_time> - </signal> - <signal> - <name>tree_expand</name> - <handler>on_ctree1_tree_expand</handler> - <after>True</after> - <last_modification_time>Sat, 08 Jun 2002 07:11:43 GMT</last_modification_time> - </signal> - <columns>3</columns> - <column_widths>80,80,80</column_widths> - <selection_mode>GTK_SELECTION_SINGLE</selection_mode> - <show_titles>True</show_titles> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkLabel</class> - <child_name>CTree:title</child_name> - <name>label1</name> - <width>104</width> - <label>Name</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>CTree:title</child_name> - <name>label2</name> - <width>93</width> - <label>Title</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>CTree:title</child_name> - <name>label3</name> - <width>9</width> - <label>Difficulty</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - - <widget> - <class>GtkNotebook</class> - <name>notebook1</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - <child> - <shrink>True</shrink> - <resize>True</resize> - </child> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow_description</name> - <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - - <widget> - <class>GtkViewport</class> - <name>viewport1</name> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkTable</class> - <name>table1</name> - <rows>12</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>label6</name> - <label>Icon</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label11</name> - <label>Board dir</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>7</top_attach> - <bottom_attach>8</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label10</name> - <label>Author</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label9</name> - <label>Difficulty</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label8</name> - <label>Type</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>combo1</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items></items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>combo-entryType</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label17</name> - <label>Prerequisite</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>8</top_attach> - <bottom_attach>9</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label18</name> - <label>Goal</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>9</top_attach> - <bottom_attach>10</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label19</name> - <label>Manual</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>10</top_attach> - <bottom_attach>11</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>spinbuttonDifficulty</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>True</wrap> - <value>1</value> - <lower>1</lower> - <upper>3</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkEntry</class> - <name>entryAuthor</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkEntry</class> - <name>entryBoardDir</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>7</top_attach> - <bottom_attach>8</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox1</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GnomePixmap</class> - <name>pixmapBoardIcon</name> <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> + <widget class="GtkMenu" id="file1_menu"> + + <child> + <widget class="GtkImageMenuItem" id="quit1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_EXIT_ITEM</property> + <signal name="activate" handler="on_quit1_activate" last_modification_time="Fri, 13 Dec 2002 22:37:43 GMT"/> + </widget> + </child> + </widget> </child> </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="edit1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_EDIT_TREE</property> - <widget> - <class>GtkVBox</class> - <name>vbox1</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - <pack>GTK_PACK_END</pack> + <widget class="GtkMenu" id="edit1_menu"> + + <child> + <widget class="GtkImageMenuItem" id="cut1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_CUT_ITEM</property> + <signal name="activate" handler="on_cut1_activate" last_modification_time="Fri, 13 Dec 2002 22:37:43 GMT"/> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="copy1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_COPY_ITEM</property> + <signal name="activate" handler="on_copy1_activate" last_modification_time="Fri, 13 Dec 2002 22:37:43 GMT"/> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="paste1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_PASTE_ITEM</property> + <signal name="activate" handler="on_paste1_activate" last_modification_time="Fri, 13 Dec 2002 22:37:43 GMT"/> + </widget> + </child> + </widget> </child> - - <widget> - <class>GtkVButtonBox</class> - <name>vbuttonbox1</name> - <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style> - <spacing>10</spacing> - <child_min_width>85</child_min_width> - <child_min_height>27</child_min_height> - <child_ipad_x>7</child_ipad_x> - <child_ipad_y>0</child_ipad_y> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>buttonIconList</name> - <tooltip>Save the file</tooltip> - <signal> - <name>clicked</name> - <handler>on_buttonIconList_clicked</handler> - <last_modification_time>Wed, 05 Jun 2002 21:47:16 GMT</last_modification_time> - </signal> - <label>...</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - <pack>GTK_PACK_END</pack> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label20</name> - <label>Credit</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>11</top_attach> - <bottom_attach>12</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label12</name> - <label>Description</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label7</name> - <label>Name</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkEntry</class> - <name>entryName</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label21</name> - <label>Title</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkEntry</class> - <name>entryTitle</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow3</name> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>8</top_attach> - <bottom_attach>9</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkText</class> - <name>textPrerequisite</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> </widget> - </widget> + </child> - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow4</name> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>9</top_attach> - <bottom_attach>10</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> + <child> + <widget class="GtkMenuItem" id="help1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property> - <widget> - <class>GtkText</class> - <name>textGoal</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> + <child> + <widget class="GtkMenu" id="help1_menu"> + + <child> + <widget class="GtkImageMenuItem" id="about1"> + <property name="visible">True</property> + <property name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property> + <signal name="activate" handler="on_about1_activate" last_modification_time="Fri, 13 Dec 2002 22:37:43 GMT"/> + </widget> + </child> + </widget> + </child> </widget> - </widget> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow5</name> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>10</top_attach> - <bottom_attach>11</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkText</class> - <name>textManual</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> + </child> + </widget> + </child> + </widget> + <packing> + <property name="placement">BONOBO_DOCK_TOP</property> + <property name="band">0</property> + <property name="position">0</property> + <property name="offset">0</property> + <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property> + </packing> + </child> + + <child> + <widget class="BonoboDockItem" id="bonobodockitem2"> + <property name="visible">True</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + + <child> + <widget class="GtkToolbar" id="toolbar1"> + <property name="visible">True</property> + <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property> + <property name="toolbar_style">GTK_TOOLBAR_BOTH</property> + <property name="tooltips">True</property> + </widget> + </child> + </widget> + <packing> + <property name="placement">BONOBO_DOCK_TOP</property> + <property name="band">1</property> + <property name="position">0</property> + <property name="offset">0</property> + <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE</property> + </packing> + </child> + + <child> + <widget class="GtkHPaned" id="hpaned1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="position">150</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">True</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> </widget> - </widget> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow6</name> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>11</top_attach> - <bottom_attach>12</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> + </child> + </widget> + <packing> + <property name="shrink">True</property> + <property name="resize">False</property> + </packing> + </child> + + <child> + <widget class="GtkNotebook" id="notebook4"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="show_tabs">True</property> + <property name="show_border">True</property> + <property name="tab_pos">GTK_POS_TOP</property> + <property name="scrollable">False</property> + <property name="tab_hborder">2</property> + <property name="tab_vborder">2</property> + <property name="enable_popup">False</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow14"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - <widget> - <class>GtkText</class> - <name>textCredit</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> + <child> + <widget class="GtkViewport" id="viewport1"> + <property name="visible">True</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + + <child> + <widget class="GtkTable" id="table2"> + <property name="visible">True</property> + <property name="n_rows">12</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">0</property> + <property name="column_spacing">0</property> + + <child> + <widget class="GtkLabel" id="label16"> + <property name="visible">True</property> + <property name="label" translatable="yes">Icon</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label17"> + <property name="visible">True</property> + <property name="label" translatable="yes">Name</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label18"> + <property name="visible">True</property> + <property name="label" translatable="yes">Description</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label19"> + <property name="visible">True</property> + <property name="label" translatable="yes">Type</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label20"> + <property name="visible">True</property> + <property name="label" translatable="yes">Difficulty</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label21"> + <property name="visible">True</property> + <property name="label" translatable="yes">Author</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label22"> + <property name="visible">True</property> + <property name="label" translatable="yes">Directory</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">7</property> + <property name="bottom_attach">8</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label23"> + <property name="visible">True</property> + <property name="label" translatable="yes">Prerequisite</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">8</property> + <property name="bottom_attach">9</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label24"> + <property name="visible">True</property> + <property name="label" translatable="yes">Goal</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">9</property> + <property name="bottom_attach">10</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label25"> + <property name="visible">True</property> + <property name="label" translatable="yes">Manual</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">10</property> + <property name="bottom_attach">11</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label26"> + <property name="visible">True</property> + <property name="label" translatable="yes">Credit</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">11</property> + <property name="bottom_attach">12</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GnomeIconEntry" id="iconentry"> + <property name="visible">True</property> + <property name="browse_dialog_title" translatable="yes"></property> + <property name="max_saved">10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label27"> + <property name="visible">True</property> + <property name="label" translatable="yes">Title</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkCombo" id="combo1"> + <property name="visible">True</property> + <property name="value_in_list">False</property> + <property name="allow_empty">True</property> + <property name="case_sensitive">False</property> + <property name="enable_arrow_keys">True</property> + <property name="enable_arrows_always">False</property> + + <child internal-child="entry"> + <widget class="GtkEntry" id="entry_type"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + </child> + + <child internal-child="list"> + <widget class="GtkList" id="list1"> + <property name="visible">True</property> + <property name="selection_mode">GTK_SELECTION_BROWSE</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_name"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_padding">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_title"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_padding">1</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow15"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTextView" id="textview_description"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + <property name="text" translatable="yes"></property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_padding">1</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="spinbutton_difficulty"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 3 1 1 1</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + <property name="y_padding">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_author"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> + <property name="y_padding">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_directory"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">7</property> + <property name="bottom_attach">8</property> + <property name="y_padding">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow16"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTextView" id="textview_prerequisite"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + <property name="text" translatable="yes"></property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">8</property> + <property name="bottom_attach">9</property> + <property name="y_padding">2</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow17"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTextView" id="textview_goal"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + <property name="text" translatable="yes"></property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">9</property> + <property name="bottom_attach">10</property> + <property name="y_padding">2</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow18"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTextView" id="textview_manual"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + <property name="text" translatable="yes"></property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">10</property> + <property name="bottom_attach">11</property> + <property name="y_padding">2</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow19"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTextView" id="textview_credit"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + <property name="text" translatable="yes"></property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">11</property> + <property name="bottom_attach">12</property> + <property name="y_padding">2</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> </widget> - </widget> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow2</name> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkText</class> - <name>textDescription</name> - <can_focus>True</can_focus> - <editable>False</editable> - <text></text> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label15"> + <property name="visible">True</property> + <property name="label" translatable="yes">Description</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> </widget> - </widget> + <packing> + <property name="type">tab</property> + </packing> + </child> </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label4</name> - <label>Description</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> + <packing> + <property name="shrink">True</property> + <property name="resize">True</property> + </packing> + </child> </widget> - - <widget> - <class>Placeholder</class> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label5</name> - <label>Content</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> + </child> </widget> - </widget> - - <widget> - <class>GnomeAppBar</class> - <child_name>GnomeApp:appbar</child_name> - <name>appbar1</name> - <has_progress>True</has_progress> - <has_status>True</has_status> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> </widget> -<widget> - <class>GtkWindow</class> - <name>window_iconlist</name> - <title>Icon List</title> - <type>GTK_WINDOW_TOPLEVEL</type> - <position>GTK_WIN_POS_NONE</position> - <modal>False</modal> - <allow_shrink>False</allow_shrink> - <allow_grow>True</allow_grow> - <auto_shrink>False</auto_shrink> - - <widget> - <class>GnomeIconSelection</class> - <name>iconselection</name> - </widget> +<widget class="GnomeAbout" id="about1"> + <property name="visible">True</property> + <property name="destroy_with_parent">False</property> + <property name="copyright" translatable="yes">Released under GPL</property> + <property name="comments" translatable="yes"></property> + <property name="authors">Bruno Coudoin</property> + <property name="translator_credits" translatable="yes">translator_credits</property> </widget> -</GTK-Interface> +</glade-interface> diff --git a/src/gcompris/gcompris-edit.gladep b/src/gcompris/gcompris-edit.gladep new file mode 100644 index 0000000..274ca8b --- /dev/null +++ b/src/gcompris/gcompris-edit.gladep @@ -0,0 +1,12 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd"> + +<glade-project> + <name>Gcompris Editor</name> + <program_name>gcompris-edit</program_name> + <source_directory>.</source_directory> + <pixmaps_directory>.</pixmaps_directory> + <use_widget_names>TRUE</use_widget_names> + <output_build_files>FALSE</output_build_files> + <gnome_help_support>TRUE</gnome_help_support> +</glade-project> diff --git a/src/gcompris/gcompris.c b/src/gcompris/gcompris.c index de0b4a6..fe4f0d7 100644 --- a/src/gcompris/gcompris.c +++ b/src/gcompris/gcompris.c @@ -1,6 +1,6 @@ /* gcompris - gcompris.c * - * Time-stamp: <2002/10/09 00:12:03 bruno> + * Time-stamp: <2002/12/14 23:33:49 bruno> * * Copyright (C) 2000,2001 Bruno Coudoin * @@ -24,7 +24,6 @@ #include "gcompris.h" #include <locale.h> -#include <popt-gnome.h> #include "cursor.h" @@ -53,34 +52,42 @@ static gchar *gcompris_locale = NULL; /****************************************************************************/ /* Command line params */ -#define P_FULLSCREEN 101 -#define P_WINDOW 102 -#define P_SOUND 103 -#define P_MUTE 104 -#define P_VERSION 105 -#define P_CURSOR 106 -#define P_ANTIALIASED 107 - -struct poptOption command_line[] = { - {"fullscreen", 'f', POPT_ARGFLAG_ONEDASH, NULL, P_FULLSCREEN, - N_("run gcompris in fullscreen mode.")}, - {"window", 'w', POPT_ARGFLAG_ONEDASH, NULL, P_WINDOW, - N_("run gcompris in window mode.")}, - {"sound", 's', POPT_ARGFLAG_ONEDASH, NULL, P_SOUND, - N_("run gcompris with sound enabled.")}, - {"mute", 'm', POPT_ARGFLAG_ONEDASH, NULL, P_MUTE, - N_("run gcompris without sound.")}, - {"cursor", 'c', POPT_ARGFLAG_ONEDASH, NULL, P_CURSOR, - N_("run gcompris with the default gnome cursor.")}, - {"version", 'v', POPT_ARGFLAG_ONEDASH, NULL, P_VERSION, - N_("Prints the version of " PACKAGE)}, - {"antialiased", 'a', POPT_ARGFLAG_ONEDASH, NULL, P_ANTIALIASED, - N_("Use the antialiased canvas (slower).")}, - POPT_AUTOHELP {NULL, 0, 0, NULL, 0} +/*** gcompris-popttable */ +static int popt_fullscreen = FALSE; +static int popt_window = FALSE; +static int popt_sound = FALSE; +static int popt_mute = FALSE; +static int popt_cursor = FALSE; +static int popt_version = FALSE; +static int popt_aalias = FALSE; + +static struct poptOption options[] = { + {"fullscreen", 'f', POPT_ARG_NONE, &popt_fullscreen, 0, + N_("run gcompris in fullscreen mode."), NULL}, + {"window", 'w', POPT_ARG_NONE, &popt_window, 0, + N_("run gcompris in window mode."), NULL}, + {"sound", 's', POPT_ARG_NONE, &popt_sound, 0, + N_("run gcompris with sound enabled."), NULL}, + {"mute", 'm', POPT_ARG_NONE, &popt_mute, 0, + N_("run gcompris without sound."), NULL}, + {"cursor", 'c', POPT_ARG_NONE, &popt_cursor, 0, + N_("run gcompris with the default gnome cursor."), NULL}, + {"version", 'v', POPT_ARG_NONE, &popt_version, 0, + N_("Prints the version of " PACKAGE), NULL}, + {"antialiased", 'a', POPT_ARG_NONE, &popt_aalias, 0, + N_("Use the antialiased canvas (slower)."), NULL}, + { + NULL, + '\0', + 0, + NULL, + 0, + NULL, + NULL + } }; - /****************************************************************************/ static gint @@ -203,6 +210,7 @@ static void init_background() "y2", (double) gdk_screen_height(), "fill_color", "black", NULL); + } /* Create a vertical box in which I put first the play board area, then the button bar */ @@ -227,6 +235,8 @@ static void init_background() BOARDWIDTH*xratio)/2, "y", (double) (gdk_screen_height()- BOARDHEIGHT*xratio-BARHEIGHT*xratio)/2, + "width", (double)BOARDWIDTH*xratio, + "height", (double)BOARDHEIGHT*xratio+BARHEIGHT*xratio, "size_pixels", TRUE, NULL); } @@ -313,9 +323,15 @@ void gcompris_set_cursor(guint gdk_cursor_type) static void setup_window () { + GtkWidget* frame; + window = gnome_app_new (PACKAGE, _("GCompris I Have Understood")); + frame = gtk_frame_new(NULL); + gtk_window_set_policy (GTK_WINDOW (window), FALSE, FALSE, TRUE); + gtk_window_set_default_size(GTK_WINDOW(window), 250, 350); + gtk_window_set_wmclass(GTK_WINDOW(window), "gcompris", "GCompris"); gtk_widget_realize (window); @@ -325,11 +341,6 @@ static void setup_window () GTK_SIGNAL_FUNC (board_widget_key_press_callback), 0); - // Full screen - if(properties->fullscreen) - gnome_win_hints_set_layer (GTK_WIDGET (window), WIN_LAYER_ABOVE_DOCK); - // gnome_win_hints_set_state(GTK_WIDGET (window), WIN_STATE_FIXED_POSITION); - // Set the cursor gcompris_set_cursor(GCOMPRIS_DEFAULT_CURSOR); @@ -466,10 +477,12 @@ void gcompris_set_locale(gchar *locale) setenv ("LANGUAGE", gcompris_get_locale(), TRUE); setenv ("LANG", gcompris_get_locale(), TRUE); - /* WARNING: This does not update gettext translation */ + /* WARNING: This does not update gettext translation */ /* Call for localization startup */ - bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR); - textdomain (PACKAGE); + bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + } @@ -481,14 +494,32 @@ void gcompris_set_locale(gchar *locale) int gcompris_init (int argc, char *argv[]) { - int c; - poptContext optCon; + GnomeProgram *gnome_gcompris; + GnomeClient* client; + GValue value = {0,}; + poptContext pctx; + char** args; /* To have some real random behaviour */ srand (time (NULL)); signal(SIGINT, gcompris_terminate); + gnome_gcompris = gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PARAM_POPT_TABLE, options, + GNOME_PARAM_APP_DATADIR,DATADIR, NULL); + gnome_window_icon_set_default_from_file (GNOME_ICONDIR"/gcompris.png"); + + g_value_init (&value, G_TYPE_POINTER); + g_object_get_property (G_OBJECT(gnome_gcompris), + GNOME_PARAM_POPT_CONTEXT, &value); + + (poptContext)pctx = g_value_get_pointer (&value); + + /* Argument parsing */ + args = (char **) poptGetArgs(pctx); + load_properties (); // Set the default gcompris cursor @@ -497,67 +528,58 @@ gcompris_init (int argc, char *argv[]) // Set the user's choice locale gcompris_set_locale(properties->locale); - initSound(); - - gnome_init_with_popt_table (PACKAGE, VERSION, argc, argv, command_line, 0, &optCon); - - optCon = poptGetContext (NULL, argc, argv, command_line, 0); - /*------------------------------------------------------------*/ - while ((c = poptGetNextOpt (optCon)) != -1) + if (popt_version && args == NULL) { - switch (c) - { - case P_VERSION: - printf (_("GCompris\nVersion: %s\nLicence: GPL\n" - "More infos on http://ofset.sourceforge.net/gcompris\n"), - VERSION); - exit (0); - break; - - case P_FULLSCREEN: - properties->fullscreen = TRUE; - break; - - case P_WINDOW: - properties->fullscreen = FALSE; - break; - - case P_MUTE: - g_warning("Sound disabled"); - properties->music = FALSE; - properties->fx = FALSE; - break; - - case P_SOUND: - g_warning("Sound enabled"); - properties->music = TRUE; - properties->fx = TRUE; - break; - - case P_CURSOR: - g_warning("Default gnome cursor enabled"); - properties->defaultcursor = GDK_LEFT_PTR; - break; - case P_ANTIALIASED: - g_warning("Slower Antialiased canvas used"); - antialiased = TRUE; - break; - } + printf (_("GCompris\nVersion: %s\nLicence: GPL\n" + "More infos on http://ofset.sourceforge.net/gcompris\n"), + VERSION); + exit (0); } - if (c < -1) + if (popt_fullscreen && args == NULL) { - /* an error occurred during option processing */ - fprintf (stderr, "%s: %s\n", - poptBadOption (optCon, POPT_BADOPTION_NOALIAS), - poptStrerror (c)); - return (-1); + properties->fullscreen = TRUE; } + if (popt_window && args == NULL) + { + properties->fullscreen = FALSE; + } + + if (popt_mute && args == NULL) + { + g_warning("Sound disabled"); + properties->music = FALSE; + properties->fx = FALSE; + } + + if (popt_sound && args == NULL) + { + g_warning("Sound enabled"); + properties->music = TRUE; + properties->fx = TRUE; + } + + if (popt_cursor && args == NULL) + { + g_warning("Default gnome cursor enabled"); + properties->defaultcursor = GDK_LEFT_PTR; + } + + if (popt_aalias && args == NULL) + { + g_warning("Slower Antialiased canvas used"); + antialiased = TRUE; + } + + poptFreeContext(pctx); /*------------------------------------------------------------*/ + if(properties->music) + initSound(); + gnome_sound_init(NULL); /* Gdk-Pixbuf */ @@ -565,7 +587,7 @@ gcompris_init (int argc, char *argv[]) setup_window (); - gtk_widget_show (window); + gtk_widget_show_all (window); if (properties->music) { diff --git a/src/gcompris/gcompris.h b/src/gcompris/gcompris.h index bbb2fb3..f6183eb 100644 --- a/src/gcompris/gcompris.h +++ b/src/gcompris/gcompris.h @@ -1,6 +1,6 @@ /* gcompris - gcompris.h * - * Time-stamp: <2002/06/26 01:00:47 bruno> + * Time-stamp: <2002/12/10 00:06:46 bruno> * * Copyright (C) 2000,2001,2002 Bruno Coudoin * @@ -102,19 +102,21 @@ void gcompris_exit(); #define COLOR_CONTENT 0x0D0DFA00 #define COLOR_SUBTITLE 0xB0040000 -#define FONT_TITLE _("-bitstream-charter-black-r-normal-*-*-320-*-*-p-*-iso8859-1") -#define FONT_TITLE_FALLBACK _("-adobe-times-medium-r-normal--*-240-*-*-*-*-*-*") -#define FONT_SUBTITLE _("-bitstream-charter-medium-r-normal-*-*-180-*-*-p-*-iso8859-1") -#define FONT_SUBTITLE_FALLBACK _("-adobe-times-medium-r-normal--*-180-*-*-*-*-*-*") -#define FONT_CONTENT _("-bitstream-charter-medium-r-normal-*-*-140-*-*-p-*-iso8859-1") -#define FONT_CONTENT_FALLBACK _("-adobe-times-medium-r-normal--*-140-*-*-*-*-*-*") - -#define FONT_BOARD_TINY _("-adobe-times-medium-r-normal--*-120-*-*-*-*-*-*") -#define FONT_BOARD_SMALL _("-adobe-times-medium-r-normal--*-140-*-*-*-*-*-*") -#define FONT_BOARD_MEDIUM _("-adobe-times-medium-r-normal--*-180-*-*-*-*-*-*") -#define FONT_BOARD_BIG _("-adobe-times-medium-r-normal--*-240-*-*-*-*-*-*") -#define FONT_BOARD_BIG_BOLD _("-adobe-times-bold-r-normal--*-240-*-*-*-*-*-*") -#define FONT_BOARD_FIXED _("-misc-fixed-medium-r-normal-*-*-200-*-*-c-*-*-*") +#define FONT_TITLE "Sans 20" +#define FONT_TITLE_FALLBACK "Sans 12" +#define FONT_SUBTITLE "Sans 16" +#define FONT_SUBTITLE_FALLBACK "Sans 12" +#define FONT_CONTENT "Sans 12" +#define FONT_CONTENT_FALLBACK "Sans 12" + +#define FONT_BOARD_TINY "Sans 10" +#define FONT_BOARD_SMALL "Sans 12" +#define FONT_BOARD_MEDIUM "Sans 14" +#define FONT_BOARD_BIG "Sans 16" +#define FONT_BOARD_BIG_BOLD "Sans bold 16" +#define FONT_BOARD_FIXED "Fixed 12" +#define FONT_BOARD_TITLE "Sans 20" +#define FONT_BOARD_TITLE_BOLD "Sans bold 20" /*=========================================================*/ // These are gcompris defined cursors diff --git a/src/gcompris/help.c b/src/gcompris/help.c index 0d80cf7..dab3a32 100644 --- a/src/gcompris/help.c +++ b/src/gcompris/help.c @@ -1,6 +1,6 @@ /* gcompris - help.c * - * Time-stamp: <2002/06/26 01:10:52 bruno> + * Time-stamp: <2002/12/08 15:47:49 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -92,8 +92,6 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) gint y = 0; gint y_start = 0; gint x_start = 0; - GdkFont *gdk_font; - GdkFont *gdk_font2; gchar *name = NULL; gchar *text_to_display = NULL; @@ -130,17 +128,11 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) y = BOARDHEIGHT - (BOARDHEIGHT - gdk_pixbuf_get_height(pixmap))/2; gdk_pixbuf_unref(pixmap); - // NAME - gdk_font = gdk_font_load (FONT_TITLE); - if(!gdk_font) - // Fallback to a more usual font - gdk_font = gdk_font_load (FONT_TITLE_FALLBACK); - y_start += 40; item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", name, - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH/2, "y", (double) y_start, "anchor", GTK_ANCHOR_CENTER, @@ -152,11 +144,6 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) pixmap = gcompris_load_pixmap("gcompris/buttons/button_up.png"); - gdk_font2 = gdk_font_load (FONT_CONTENT); - if(!gdk_font2) - // Fallback to a more usual font - gdk_font2 = gdk_font_load (FONT_CONTENT_FALLBACK); - // Prerequisite Button if(prerequisite) { @@ -179,7 +166,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item_prerequisite_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Prerequisite"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH*0.20, "y", (double) y_start - gdk_pixbuf_get_height(pixmap) + GAP_TO_BUTTON, "anchor", GTK_ANCHOR_CENTER, @@ -213,7 +200,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item_goal_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Goal"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH*0.4, "y", (double) y_start - gdk_pixbuf_get_height(pixmap) + GAP_TO_BUTTON, "anchor", GTK_ANCHOR_CENTER, @@ -247,7 +234,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item_manual_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Manual"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH*0.6, "y", (double) y_start - gdk_pixbuf_get_height(pixmap) + GAP_TO_BUTTON, "anchor", GTK_ANCHOR_CENTER, @@ -281,7 +268,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item_credit_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("Credit"), - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) BOARDWIDTH*0.8, "y", (double) y_start - gdk_pixbuf_get_height(pixmap) + GAP_TO_BUTTON, "anchor", GTK_ANCHOR_CENTER, @@ -326,7 +313,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item_content = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", text_to_display, - "font_gdk", gdk_font2, + "font", FONT_CONTENT, "x", (double) x_start + 45, "y", (double) y_start, "anchor", GTK_ANCHOR_NW, @@ -353,7 +340,7 @@ void gcompris_help_start (GcomprisBoard *gcomprisBoard) item2 = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("OK"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH*0.5, "y", (double) y - gdk_pixbuf_get_height(pixmap) + 20, "anchor", GTK_ANCHOR_CENTER, diff --git a/src/gcompris/images_selector.c b/src/gcompris/images_selector.c index 5cbd710..59a371f 100644 --- a/src/gcompris/images_selector.c +++ b/src/gcompris/images_selector.c @@ -1,6 +1,6 @@ /* gcompris - images_selector.c * - * Time-stamp: <2002/05/05 22:21:17 bruno> + * Time-stamp: <2002/12/09 23:07:46 bruno> * * Copyright (C) 2000 Bruno Coudoin * @@ -88,7 +88,6 @@ void gcompris_images_selector_start (GcomprisBoard *gcomprisBoard, gchar *datase gint y = 0; gint y_start = 0; gint x_start = 0; - GdkFont *gdk_font; gchar *name = NULL; if(rootitem) @@ -124,11 +123,6 @@ void gcompris_images_selector_start (GcomprisBoard *gcomprisBoard, gchar *datase y = BOARDHEIGHT - (BOARDHEIGHT - gdk_pixbuf_get_height(pixmap))/2; gdk_pixbuf_unref(pixmap); - gdk_font = gdk_font_load (FONT_TITLE); - if(!gdk_font) - // Fallback to a more usual font - gdk_font = gdk_font_load (FONT_TITLE_FALLBACK); - y_start += 110; pixmap = gcompris_load_pixmap("gcompris/buttons/button_large_selected.png"); @@ -152,7 +146,7 @@ void gcompris_images_selector_start (GcomprisBoard *gcomprisBoard, gchar *datase item2 = gnome_canvas_item_new (GNOME_CANVAS_GROUP(rootitem), gnome_canvas_text_get_type (), "text", _("OK"), - "font_gdk", gdk_font, + "font", FONT_TITLE, "x", (double) BOARDWIDTH*0.5, "y", (double) y - gdk_pixbuf_get_height(pixmap), "anchor", GTK_ANCHOR_CENTER, @@ -348,7 +342,7 @@ read_xml_file(gchar *fname) g_return_val_if_fail(fname!=NULL,FALSE); /* if the file doesn't exist */ - if(!g_file_exists(fname)) + if(!g_file_test ((fname), G_FILE_TEST_EXISTS)) { g_warning(_("Couldn't find file %s !"), fname); return FALSE; diff --git a/src/gcompris/interface.c b/src/gcompris/interface.c index b341f5c..564de4c 100644 --- a/src/gcompris/interface.c +++ b/src/gcompris/interface.c @@ -1,5 +1,5 @@ /* - * NE PAS ÉDITER CE FICHIER - il est généré par Glade. + * NE PAS ÉDITER CE FICHIER - il est généré par Glade. */ #ifdef HAVE_CONFIG_H @@ -10,6 +10,7 @@ #include <sys/stat.h> #include <unistd.h> #include <string.h> +#include <stdio.h> #include <gnome.h> @@ -17,11 +18,16 @@ #include "interface.h" #include "support.h" +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + gtk_object_set_data_full (GTK_OBJECT (component), name, \ + gtk_widget_ref (widget), (GtkDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + gtk_object_set_data (GTK_OBJECT (component), name, widget) + static GnomeUIInfo file1_menu_uiinfo[] = { - GNOMEUIINFO_MENU_SAVE_ITEM (on_save1_activate, NULL), - GNOMEUIINFO_SEPARATOR, - GNOMEUIINFO_MENU_EXIT_ITEM (on_exit1_activate, NULL), + GNOMEUIINFO_MENU_EXIT_ITEM (on_quit1_activate, NULL), GNOMEUIINFO_END }; @@ -30,8 +36,6 @@ static GnomeUIInfo edit1_menu_uiinfo[] = GNOMEUIINFO_MENU_CUT_ITEM (on_cut1_activate, NULL), GNOMEUIINFO_MENU_COPY_ITEM (on_copy1_activate, NULL), GNOMEUIINFO_MENU_PASTE_ITEM (on_paste1_activate, NULL), - GNOMEUIINFO_MENU_CLEAR_ITEM (on_clear1_activate, NULL), - GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_END }; @@ -54,737 +58,446 @@ GtkWidget* create_gcompris_edit (void) { GtkWidget *gcompris_edit; - GtkWidget *dock1; + GdkPixbuf *gcompris_edit_icon_pixbuf; + GtkWidget *bonobodock1; GtkWidget *toolbar1; - GtkWidget *tmp_toolbar_icon; - GtkWidget *buttonAdd; - GtkWidget *buttonDel; - GtkWidget *buttonUp; - GtkWidget *buttonDown; GtkWidget *hpaned1; GtkWidget *scrolledwindow1; - GtkWidget *ctree1; - GtkWidget *label1; - GtkWidget *label2; - GtkWidget *label3; - GtkWidget *notebook1; - GtkWidget *scrolledwindow_description; + GtkWidget *treeview; + GtkWidget *notebook4; + GtkWidget *scrolledwindow14; GtkWidget *viewport1; - GtkWidget *table1; - GtkWidget *label6; - GtkWidget *label11; - GtkWidget *label10; - GtkWidget *label9; - GtkWidget *label8; - GtkWidget *combo1; - GtkWidget *combo_entryType; + GtkWidget *table2; + GtkWidget *label16; GtkWidget *label17; GtkWidget *label18; GtkWidget *label19; - GtkObject *spinbuttonDifficulty_adj; - GtkWidget *spinbuttonDifficulty; - GtkWidget *entryAuthor; - GtkWidget *entryBoardDir; - GtkWidget *hbox1; - GtkWidget *pixmapBoardIcon; - GtkWidget *vbox1; - GtkWidget *vbuttonbox1; - GtkWidget *buttonIconList; GtkWidget *label20; - GtkWidget *label12; - GtkWidget *label7; - GtkWidget *entryName; GtkWidget *label21; - GtkWidget *entryTitle; - GtkWidget *scrolledwindow3; - GtkWidget *textPrerequisite; - GtkWidget *scrolledwindow4; - GtkWidget *textGoal; - GtkWidget *scrolledwindow5; - GtkWidget *textManual; - GtkWidget *scrolledwindow6; - GtkWidget *textCredit; - GtkWidget *scrolledwindow2; - GtkWidget *textDescription; - GtkWidget *label4; - GtkWidget *empty_notebook_page; - GtkWidget *label5; - GtkWidget *appbar1; - GtkTooltips *tooltips; - - tooltips = gtk_tooltips_new (); - - gcompris_edit = gnome_app_new ("Edit", _("GCompris Edit")); + GtkWidget *label22; + GtkWidget *label23; + GtkWidget *label24; + GtkWidget *label25; + GtkWidget *label26; + GtkWidget *iconentry; + GtkWidget *label27; + GtkWidget *combo1; + GtkWidget *entry_type; + GtkWidget *entry_name; + GtkWidget *entry_title; + GtkWidget *scrolledwindow15; + GtkWidget *textview_description; + GtkObject *spinbutton_difficulty_adj; + GtkWidget *spinbutton_difficulty; + GtkWidget *entry_author; + GtkWidget *entry_directory; + GtkWidget *scrolledwindow16; + GtkWidget *textview_prerequisite; + GtkWidget *scrolledwindow17; + GtkWidget *textview_goal; + GtkWidget *scrolledwindow18; + GtkWidget *textview_manual; + GtkWidget *scrolledwindow19; + GtkWidget *textview_credit; + GtkWidget *label15; + + gcompris_edit = gnome_app_new ("Gcompris Editor", _("Gcompris Editor")); gtk_widget_set_name (gcompris_edit, "gcompris_edit"); - gtk_object_set_data (GTK_OBJECT (gcompris_edit), "gcompris_edit", gcompris_edit); - gtk_window_set_default_size (GTK_WINDOW (gcompris_edit), 706, 450); - gtk_window_set_policy (GTK_WINDOW (gcompris_edit), TRUE, TRUE, FALSE); - - dock1 = GNOME_APP (gcompris_edit)->dock; - gtk_widget_set_name (dock1, "dock1"); - gtk_widget_ref (dock1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "dock1", dock1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (dock1); + gtk_window_set_default_size (GTK_WINDOW (gcompris_edit), 640, 480); + gcompris_edit_icon_pixbuf = create_pixbuf ("gcompris-edit/gcompris-edit.png"); + if (gcompris_edit_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (gcompris_edit), gcompris_edit_icon_pixbuf); + gdk_pixbuf_unref (gcompris_edit_icon_pixbuf); + } + + bonobodock1 = GNOME_APP (gcompris_edit)->dock; + gtk_widget_set_name (bonobodock1, "bonobodock1"); + gtk_widget_show (bonobodock1); gnome_app_create_menus (GNOME_APP (gcompris_edit), menubar1_uiinfo); gtk_widget_set_name (menubar1_uiinfo[0].widget, "file1"); - gtk_widget_ref (menubar1_uiinfo[0].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "file1", - menubar1_uiinfo[0].widget, - (GtkDestroyNotify) gtk_widget_unref); - - gtk_widget_set_name (file1_menu_uiinfo[0].widget, "save1"); - gtk_widget_ref (file1_menu_uiinfo[0].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "save1", - file1_menu_uiinfo[0].widget, - (GtkDestroyNotify) gtk_widget_unref); - - gtk_widget_set_name (file1_menu_uiinfo[1].widget, "separator1"); - gtk_widget_ref (file1_menu_uiinfo[1].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "separator1", - file1_menu_uiinfo[1].widget, - (GtkDestroyNotify) gtk_widget_unref); - - gtk_widget_set_name (file1_menu_uiinfo[2].widget, "exit1"); - gtk_widget_ref (file1_menu_uiinfo[2].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "exit1", - file1_menu_uiinfo[2].widget, - (GtkDestroyNotify) gtk_widget_unref); + + gtk_widget_set_name (file1_menu_uiinfo[0].widget, "quit1"); gtk_widget_set_name (menubar1_uiinfo[1].widget, "edit1"); - gtk_widget_ref (menubar1_uiinfo[1].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "edit1", - menubar1_uiinfo[1].widget, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_set_name (edit1_menu_uiinfo[0].widget, "cut1"); - gtk_widget_ref (edit1_menu_uiinfo[0].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "cut1", - edit1_menu_uiinfo[0].widget, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_set_name (edit1_menu_uiinfo[1].widget, "copy1"); - gtk_widget_ref (edit1_menu_uiinfo[1].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "copy1", - edit1_menu_uiinfo[1].widget, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_set_name (edit1_menu_uiinfo[2].widget, "paste1"); - gtk_widget_ref (edit1_menu_uiinfo[2].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "paste1", - edit1_menu_uiinfo[2].widget, - (GtkDestroyNotify) gtk_widget_unref); - - gtk_widget_set_name (edit1_menu_uiinfo[3].widget, "clear1"); - gtk_widget_ref (edit1_menu_uiinfo[3].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "clear1", - edit1_menu_uiinfo[3].widget, - (GtkDestroyNotify) gtk_widget_unref); - - gtk_widget_set_name (edit1_menu_uiinfo[4].widget, "separator2"); - gtk_widget_ref (edit1_menu_uiinfo[4].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "separator2", - edit1_menu_uiinfo[4].widget, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_set_name (menubar1_uiinfo[2].widget, "help1"); - gtk_widget_ref (menubar1_uiinfo[2].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "help1", - menubar1_uiinfo[2].widget, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_set_name (help1_menu_uiinfo[1].widget, "about1"); - gtk_widget_ref (help1_menu_uiinfo[1].widget); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "about1", - help1_menu_uiinfo[1].widget, - (GtkDestroyNotify) gtk_widget_unref); - toolbar1 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); + toolbar1 = gtk_toolbar_new (); gtk_widget_set_name (toolbar1, "toolbar1"); - gtk_widget_ref (toolbar1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "toolbar1", toolbar1, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (toolbar1); gnome_app_add_toolbar (GNOME_APP (gcompris_edit), GTK_TOOLBAR (toolbar1), "toolbar1", - GNOME_DOCK_ITEM_BEH_EXCLUSIVE, - GNOME_DOCK_TOP, 1, 0, 0); - gtk_container_set_border_width (GTK_CONTAINER (toolbar1), 1); - gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar1), 16); - gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_SPACE_LINE); - gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar1), GTK_RELIEF_NONE); - - tmp_toolbar_icon = gnome_stock_pixmap_widget (gcompris_edit, GNOME_STOCK_PIXMAP_ADD); - buttonAdd = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Add"), - _("New file"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (buttonAdd, "buttonAdd"); - gtk_widget_ref (buttonAdd); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "buttonAdd", buttonAdd, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonAdd); - - tmp_toolbar_icon = gnome_stock_pixmap_widget (gcompris_edit, GNOME_STOCK_PIXMAP_REMOVE); - buttonDel = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Remove"), - _("Open a file"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (buttonDel, "buttonDel"); - gtk_widget_ref (buttonDel); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "buttonDel", buttonDel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonDel); - - tmp_toolbar_icon = gnome_stock_pixmap_widget (gcompris_edit, GNOME_STOCK_PIXMAP_UP); - buttonUp = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Up"), - NULL, NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (buttonUp, "buttonUp"); - gtk_widget_ref (buttonUp); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "buttonUp", buttonUp, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonUp); - - tmp_toolbar_icon = gnome_stock_pixmap_widget (gcompris_edit, GNOME_STOCK_PIXMAP_DOWN); - buttonDown = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Down"), - NULL, NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (buttonDown, "buttonDown"); - gtk_widget_ref (buttonDown); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "buttonDown", buttonDown, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonDown); + BONOBO_DOCK_ITEM_BEH_EXCLUSIVE, + BONOBO_DOCK_TOP, 1, 0, 0); + gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); hpaned1 = gtk_hpaned_new (); gtk_widget_set_name (hpaned1, "hpaned1"); - gtk_widget_ref (hpaned1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "hpaned1", hpaned1, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hpaned1); gnome_app_set_contents (GNOME_APP (gcompris_edit), hpaned1); - gtk_paned_set_position (GTK_PANED (hpaned1), 257); + gtk_paned_set_position (GTK_PANED (hpaned1), 150); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); - gtk_widget_ref (scrolledwindow1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow1", scrolledwindow1, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow1); gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow1, FALSE, TRUE); - gtk_widget_set_usize (scrolledwindow1, 168, -2); - - ctree1 = gtk_ctree_new (3, 0); - gtk_widget_set_name (ctree1, "ctree1"); - gtk_widget_ref (ctree1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "ctree1", ctree1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (ctree1); - gtk_container_add (GTK_CONTAINER (scrolledwindow1), ctree1); - gtk_widget_set_usize (ctree1, 150, -2); - gtk_tooltips_set_tip (tooltips, ctree1, _("List of activities"), NULL); - gtk_clist_set_column_width (GTK_CLIST (ctree1), 0, 80); - gtk_clist_set_column_width (GTK_CLIST (ctree1), 1, 80); - gtk_clist_set_column_width (GTK_CLIST (ctree1), 2, 80); - gtk_clist_column_titles_show (GTK_CLIST (ctree1)); - - label1 = gtk_label_new (_("Name")); - gtk_widget_set_name (label1, "label1"); - gtk_widget_ref (label1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label1", label1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label1); - gtk_clist_set_column_widget (GTK_CLIST (ctree1), 0, label1); - gtk_widget_set_usize (label1, 104, -2); - - label2 = gtk_label_new (_("Title")); - gtk_widget_set_name (label2, "label2"); - gtk_widget_ref (label2); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label2", label2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label2); - gtk_clist_set_column_widget (GTK_CLIST (ctree1), 1, label2); - gtk_widget_set_usize (label2, 93, -2); - - label3 = gtk_label_new (_("Difficulty")); - gtk_widget_set_name (label3, "label3"); - gtk_widget_ref (label3); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label3", label3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label3); - gtk_clist_set_column_widget (GTK_CLIST (ctree1), 2, label3); - gtk_widget_set_usize (label3, 9, -2); - - notebook1 = gtk_notebook_new (); - gtk_widget_set_name (notebook1, "notebook1"); - gtk_widget_ref (notebook1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "notebook1", notebook1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (notebook1); - gtk_paned_pack2 (GTK_PANED (hpaned1), notebook1, TRUE, TRUE); - - scrolledwindow_description = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow_description, "scrolledwindow_description"); - gtk_widget_ref (scrolledwindow_description); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow_description", scrolledwindow_description, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow_description); - gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow_description); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow_description), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + treeview = gtk_tree_view_new (); + gtk_widget_set_name (treeview, "treeview"); + gtk_widget_show (treeview); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview); + + notebook4 = gtk_notebook_new (); + gtk_widget_set_name (notebook4, "notebook4"); + gtk_widget_show (notebook4); + gtk_paned_pack2 (GTK_PANED (hpaned1), notebook4, TRUE, TRUE); + + scrolledwindow14 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow14, "scrolledwindow14"); + gtk_widget_show (scrolledwindow14); + gtk_container_add (GTK_CONTAINER (notebook4), scrolledwindow14); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_set_name (viewport1, "viewport1"); - gtk_widget_ref (viewport1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "viewport1", viewport1, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (viewport1); - gtk_container_add (GTK_CONTAINER (scrolledwindow_description), viewport1); - - table1 = gtk_table_new (12, 2, FALSE); - gtk_widget_set_name (table1, "table1"); - gtk_widget_ref (table1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (table1); - gtk_container_add (GTK_CONTAINER (viewport1), table1); - - label6 = gtk_label_new (_("Icon")); - gtk_widget_set_name (label6, "label6"); - gtk_widget_ref (label6); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label6", label6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label6); - gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); - - label11 = gtk_label_new (_("Board dir")); - gtk_widget_set_name (label11, "label11"); - gtk_widget_ref (label11); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label11", label11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label11); - gtk_table_attach (GTK_TABLE (table1), label11, 0, 1, 7, 8, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5); - - label10 = gtk_label_new (_("Author")); - gtk_widget_set_name (label10, "label10"); - gtk_widget_ref (label10); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label10", label10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label10); - gtk_table_attach (GTK_TABLE (table1), label10, 0, 1, 6, 7, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5); - - label9 = gtk_label_new (_("Difficulty")); - gtk_widget_set_name (label9, "label9"); - gtk_widget_ref (label9); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label9", label9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label9); - gtk_table_attach (GTK_TABLE (table1), label9, 0, 1, 5, 6, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); - - label8 = gtk_label_new (_("Type")); - gtk_widget_set_name (label8, "label8"); - gtk_widget_ref (label8); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label8", label8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label8); - gtk_table_attach (GTK_TABLE (table1), label8, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); + gtk_container_add (GTK_CONTAINER (scrolledwindow14), viewport1); - combo1 = gtk_combo_new (); - gtk_widget_set_name (combo1, "combo1"); - gtk_widget_ref (combo1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "combo1", combo1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (combo1); - gtk_table_attach (GTK_TABLE (table1), combo1, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + table2 = gtk_table_new (12, 2, FALSE); + gtk_widget_set_name (table2, "table2"); + gtk_widget_show (table2); + gtk_container_add (GTK_CONTAINER (viewport1), table2); - combo_entryType = GTK_COMBO (combo1)->entry; - gtk_widget_set_name (combo_entryType, "combo_entryType"); - gtk_widget_ref (combo_entryType); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "combo_entryType", combo_entryType, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (combo_entryType); - gtk_entry_set_editable (GTK_ENTRY (combo_entryType), FALSE); + label16 = gtk_label_new (_("Icon")); + gtk_widget_set_name (label16, "label16"); + gtk_widget_show (label16); + gtk_table_attach (GTK_TABLE (table2), label16, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5); - label17 = gtk_label_new (_("Prerequisite")); + label17 = gtk_label_new (_("Name")); gtk_widget_set_name (label17, "label17"); - gtk_widget_ref (label17); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label17", label17, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label17); - gtk_table_attach (GTK_TABLE (table1), label17, 0, 1, 8, 9, + gtk_table_attach (GTK_TABLE (table2), label17, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5); - label18 = gtk_label_new (_("Goal")); + label18 = gtk_label_new (_("Description")); gtk_widget_set_name (label18, "label18"); - gtk_widget_ref (label18); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label18", label18, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label18); - gtk_table_attach (GTK_TABLE (table1), label18, 0, 1, 9, 10, + gtk_table_attach (GTK_TABLE (table2), label18, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5); - label19 = gtk_label_new (_("Manual")); + label19 = gtk_label_new (_("Type")); gtk_widget_set_name (label19, "label19"); - gtk_widget_ref (label19); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label19", label19, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label19); - gtk_table_attach (GTK_TABLE (table1), label19, 0, 1, 10, 11, + gtk_table_attach (GTK_TABLE (table2), label19, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5); - spinbuttonDifficulty_adj = gtk_adjustment_new (1, 1, 3, 1, 10, 10); - spinbuttonDifficulty = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonDifficulty_adj), 1, 0); - gtk_widget_set_name (spinbuttonDifficulty, "spinbuttonDifficulty"); - gtk_widget_ref (spinbuttonDifficulty); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "spinbuttonDifficulty", spinbuttonDifficulty, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (spinbuttonDifficulty); - gtk_table_attach (GTK_TABLE (table1), spinbuttonDifficulty, 1, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + label20 = gtk_label_new (_("Difficulty")); + gtk_widget_set_name (label20, "label20"); + gtk_widget_show (label20); + gtk_table_attach (GTK_TABLE (table2), label20, 0, 1, 5, 6, + (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinbuttonDifficulty), TRUE); - - entryAuthor = gtk_entry_new (); - gtk_widget_set_name (entryAuthor, "entryAuthor"); - gtk_widget_ref (entryAuthor); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "entryAuthor", entryAuthor, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (entryAuthor); - gtk_table_attach (GTK_TABLE (table1), entryAuthor, 1, 2, 6, 7, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5); + + label21 = gtk_label_new (_("Author")); + gtk_widget_set_name (label21, "label21"); + gtk_widget_show (label21); + gtk_table_attach (GTK_TABLE (table2), label21, 0, 1, 6, 7, + (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_editable (GTK_ENTRY (entryAuthor), FALSE); - - entryBoardDir = gtk_entry_new (); - gtk_widget_set_name (entryBoardDir, "entryBoardDir"); - gtk_widget_ref (entryBoardDir); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "entryBoardDir", entryBoardDir, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (entryBoardDir); - gtk_table_attach (GTK_TABLE (table1), entryBoardDir, 1, 2, 7, 8, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5); + + label22 = gtk_label_new (_("Directory")); + gtk_widget_set_name (label22, "label22"); + gtk_widget_show (label22); + gtk_table_attach (GTK_TABLE (table2), label22, 0, 1, 7, 8, + (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_editable (GTK_ENTRY (entryBoardDir), FALSE); - - hbox1 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox1, "hbox1"); - gtk_widget_ref (hbox1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "hbox1", hbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox1); - gtk_table_attach (GTK_TABLE (table1), hbox1, 1, 2, 0, 1, + gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5); + + label23 = gtk_label_new (_("Prerequisite")); + gtk_widget_set_name (label23, "label23"); + gtk_widget_show (label23); + gtk_table_attach (GTK_TABLE (table2), label23, 0, 1, 8, 9, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_FILL), 0, 0); + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5); - pixmapBoardIcon = gtk_type_new (gnome_pixmap_get_type ()); - gtk_widget_set_name (pixmapBoardIcon, "pixmapBoardIcon"); - gtk_widget_ref (pixmapBoardIcon); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "pixmapBoardIcon", pixmapBoardIcon, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pixmapBoardIcon); - gtk_box_pack_start (GTK_BOX (hbox1), pixmapBoardIcon, TRUE, TRUE, 0); - - vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox1, "vbox1"); - gtk_widget_ref (vbox1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "vbox1", vbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox1); - gtk_box_pack_end (GTK_BOX (hbox1), vbox1, FALSE, FALSE, 0); - - vbuttonbox1 = gtk_vbutton_box_new (); - gtk_widget_set_name (vbuttonbox1, "vbuttonbox1"); - gtk_widget_ref (vbuttonbox1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "vbuttonbox1", vbuttonbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbuttonbox1); - gtk_box_pack_start (GTK_BOX (vbox1), vbuttonbox1, TRUE, TRUE, 0); - - buttonIconList = gtk_button_new_with_label (_("...")); - gtk_widget_set_name (buttonIconList, "buttonIconList"); - gtk_widget_ref (buttonIconList); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "buttonIconList", buttonIconList, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonIconList); - gtk_box_pack_end (GTK_BOX (vbox1), buttonIconList, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (buttonIconList, GTK_CAN_FOCUS); - gtk_tooltips_set_tip (tooltips, buttonIconList, _("Enregistrer le fichier"), NULL); - - label20 = gtk_label_new (_("Credit")); - gtk_widget_set_name (label20, "label20"); - gtk_widget_ref (label20); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label20", label20, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label20); - gtk_table_attach (GTK_TABLE (table1), label20, 0, 1, 11, 12, + label24 = gtk_label_new (_("Goal")); + gtk_widget_set_name (label24, "label24"); + gtk_widget_show (label24); + gtk_table_attach (GTK_TABLE (table2), label24, 0, 1, 9, 10, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5); + gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5); - label12 = gtk_label_new (_("Description")); - gtk_widget_set_name (label12, "label12"); - gtk_widget_ref (label12); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label12", label12, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label12); - gtk_table_attach (GTK_TABLE (table1), label12, 0, 1, 3, 4, + label25 = gtk_label_new (_("Manual")); + gtk_widget_set_name (label25, "label25"); + gtk_widget_show (label25); + gtk_table_attach (GTK_TABLE (table2), label25, 0, 1, 10, 11, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5); - - label7 = gtk_label_new (_("Name")); - gtk_widget_set_name (label7, "label7"); - gtk_widget_ref (label7); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label7", label7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label7); - gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 1, 2, + gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5); + + label26 = gtk_label_new (_("Credit")); + gtk_widget_set_name (label26, "label26"); + gtk_widget_show (label26); + gtk_table_attach (GTK_TABLE (table2), label26, 0, 1, 11, 12, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); - - entryName = gtk_entry_new (); - gtk_widget_set_name (entryName, "entryName"); - gtk_widget_ref (entryName); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "entryName", entryName, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (entryName); - gtk_table_attach (GTK_TABLE (table1), entryName, 1, 2, 1, 2, + gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5); + + iconentry = gnome_icon_entry_new (NULL, NULL); + gtk_widget_set_name (iconentry, "iconentry"); + gtk_widget_show (iconentry); + gtk_table_attach (GTK_TABLE (table2), iconentry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_editable (GTK_ENTRY (entryName), FALSE); + (GtkAttachOptions) (GTK_FILL), 0, 0); - label21 = gtk_label_new (_("Title")); - gtk_widget_set_name (label21, "label21"); - gtk_widget_ref (label21); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label21", label21, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label21); - gtk_table_attach (GTK_TABLE (table1), label21, 0, 1, 2, 3, + label27 = gtk_label_new (_("Title")); + gtk_widget_set_name (label27, "label27"); + gtk_widget_show (label27); + gtk_table_attach (GTK_TABLE (table2), label27, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5); + gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5); - entryTitle = gtk_entry_new (); - gtk_widget_set_name (entryTitle, "entryTitle"); - gtk_widget_ref (entryTitle); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "entryTitle", entryTitle, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (entryTitle); - gtk_table_attach (GTK_TABLE (table1), entryTitle, 1, 2, 2, 3, + combo1 = gtk_combo_new (); + gtk_object_set_data (GTK_OBJECT (GTK_COMBO (combo1)->popwin), + "GladeParentKey", combo1); + gtk_widget_set_name (combo1, "combo1"); + gtk_widget_show (combo1); + gtk_table_attach (GTK_TABLE (table2), combo1, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_editable (GTK_ENTRY (entryTitle), FALSE); - - scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow3, "scrolledwindow3"); - gtk_widget_ref (scrolledwindow3); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow3", scrolledwindow3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow3); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow3, 1, 2, 8, 9, + + entry_type = GTK_COMBO (combo1)->entry; + gtk_widget_set_name (entry_type, "entry_type"); + gtk_widget_show (entry_type); + gtk_entry_set_editable (GTK_ENTRY (entry_type), FALSE); + + entry_name = gtk_entry_new (); + gtk_widget_set_name (entry_name, "entry_name"); + gtk_widget_show (entry_name); + gtk_table_attach (GTK_TABLE (table2), entry_name, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 2); + gtk_entry_set_editable (GTK_ENTRY (entry_name), FALSE); + + entry_title = gtk_entry_new (); + gtk_widget_set_name (entry_title, "entry_title"); + gtk_widget_show (entry_title); + gtk_table_attach (GTK_TABLE (table2), entry_title, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 1); + gtk_entry_set_editable (GTK_ENTRY (entry_title), FALSE); + + scrolledwindow15 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow15, "scrolledwindow15"); + gtk_widget_show (scrolledwindow15); + gtk_table_attach (GTK_TABLE (table2), scrolledwindow15, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - textPrerequisite = gtk_text_new (NULL, NULL); - gtk_widget_set_name (textPrerequisite, "textPrerequisite"); - gtk_widget_ref (textPrerequisite); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "textPrerequisite", textPrerequisite, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (textPrerequisite); - gtk_container_add (GTK_CONTAINER (scrolledwindow3), textPrerequisite); - gtk_text_set_editable (GTK_TEXT (textPrerequisite), TRUE); - - scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow4, "scrolledwindow4"); - gtk_widget_ref (scrolledwindow4); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow4", scrolledwindow4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow4); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow4, 1, 2, 9, 10, + (GtkAttachOptions) (GTK_FILL), 0, 1); + + textview_description = gtk_text_view_new (); + gtk_widget_set_name (textview_description, "textview_description"); + gtk_widget_show (textview_description); + gtk_container_add (GTK_CONTAINER (scrolledwindow15), textview_description); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_description), FALSE); + + spinbutton_difficulty_adj = gtk_adjustment_new (1, 1, 3, 1, 1, 1); + spinbutton_difficulty = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_difficulty_adj), 1, 0); + gtk_widget_set_name (spinbutton_difficulty, "spinbutton_difficulty"); + gtk_widget_show (spinbutton_difficulty); + gtk_table_attach (GTK_TABLE (table2), spinbutton_difficulty, 1, 2, 5, 6, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 2); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_difficulty), TRUE); + + entry_author = gtk_entry_new (); + gtk_widget_set_name (entry_author, "entry_author"); + gtk_widget_show (entry_author); + gtk_table_attach (GTK_TABLE (table2), entry_author, 1, 2, 6, 7, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 2); + gtk_entry_set_editable (GTK_ENTRY (entry_author), FALSE); + + entry_directory = gtk_entry_new (); + gtk_widget_set_name (entry_directory, "entry_directory"); + gtk_widget_show (entry_directory); + gtk_table_attach (GTK_TABLE (table2), entry_directory, 1, 2, 7, 8, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 2); + gtk_entry_set_editable (GTK_ENTRY (entry_directory), FALSE); + + scrolledwindow16 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow16, "scrolledwindow16"); + gtk_widget_show (scrolledwindow16); + gtk_table_attach (GTK_TABLE (table2), scrolledwindow16, 1, 2, 8, 9, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - textGoal = gtk_text_new (NULL, NULL); - gtk_widget_set_name (textGoal, "textGoal"); - gtk_widget_ref (textGoal); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "textGoal", textGoal, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (textGoal); - gtk_container_add (GTK_CONTAINER (scrolledwindow4), textGoal); - gtk_text_set_editable (GTK_TEXT (textGoal), TRUE); - - scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow5, "scrolledwindow5"); - gtk_widget_ref (scrolledwindow5); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow5", scrolledwindow5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow5); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow5, 1, 2, 10, 11, + (GtkAttachOptions) (GTK_FILL), 0, 2); + + textview_prerequisite = gtk_text_view_new (); + gtk_widget_set_name (textview_prerequisite, "textview_prerequisite"); + gtk_widget_show (textview_prerequisite); + gtk_container_add (GTK_CONTAINER (scrolledwindow16), textview_prerequisite); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_prerequisite), FALSE); + + scrolledwindow17 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow17, "scrolledwindow17"); + gtk_widget_show (scrolledwindow17); + gtk_table_attach (GTK_TABLE (table2), scrolledwindow17, 1, 2, 9, 10, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - textManual = gtk_text_new (NULL, NULL); - gtk_widget_set_name (textManual, "textManual"); - gtk_widget_ref (textManual); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "textManual", textManual, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (textManual); - gtk_container_add (GTK_CONTAINER (scrolledwindow5), textManual); - gtk_text_set_editable (GTK_TEXT (textManual), TRUE); - - scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow6, "scrolledwindow6"); - gtk_widget_ref (scrolledwindow6); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow6", scrolledwindow6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow6); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow6, 1, 2, 11, 12, + (GtkAttachOptions) (GTK_FILL), 0, 2); + + textview_goal = gtk_text_view_new (); + gtk_widget_set_name (textview_goal, "textview_goal"); + gtk_widget_show (textview_goal); + gtk_container_add (GTK_CONTAINER (scrolledwindow17), textview_goal); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_goal), FALSE); + + scrolledwindow18 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow18, "scrolledwindow18"); + gtk_widget_show (scrolledwindow18); + gtk_table_attach (GTK_TABLE (table2), scrolledwindow18, 1, 2, 10, 11, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - textCredit = gtk_text_new (NULL, NULL); - gtk_widget_set_name (textCredit, "textCredit"); - gtk_widget_ref (textCredit); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "textCredit", textCredit, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (textCredit); - gtk_container_add (GTK_CONTAINER (scrolledwindow6), textCredit); - gtk_text_set_editable (GTK_TEXT (textCredit), TRUE); - - scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); - gtk_widget_ref (scrolledwindow2); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "scrolledwindow2", scrolledwindow2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow2); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow2, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_FILL), 0, 2); + + textview_manual = gtk_text_view_new (); + gtk_widget_set_name (textview_manual, "textview_manual"); + gtk_widget_show (textview_manual); + gtk_container_add (GTK_CONTAINER (scrolledwindow18), textview_manual); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_manual), FALSE); + + scrolledwindow19 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow19, "scrolledwindow19"); + gtk_widget_show (scrolledwindow19); + gtk_table_attach (GTK_TABLE (table2), scrolledwindow19, 1, 2, 11, 12, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - textDescription = gtk_text_new (NULL, NULL); - gtk_widget_set_name (textDescription, "textDescription"); - gtk_widget_ref (textDescription); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "textDescription", textDescription, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (textDescription); - gtk_container_add (GTK_CONTAINER (scrolledwindow2), textDescription); - - label4 = gtk_label_new (_("Description")); - gtk_widget_set_name (label4, "label4"); - gtk_widget_ref (label4); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label4", label4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label4); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label4); - - empty_notebook_page = gtk_vbox_new (FALSE, 0); - gtk_widget_show (empty_notebook_page); - gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page); - - label5 = gtk_label_new (_("Content")); - gtk_widget_set_name (label5, "label5"); - gtk_widget_ref (label5); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "label5", label5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label5); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label5); - - appbar1 = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER); - gtk_widget_set_name (appbar1, "appbar1"); - gtk_widget_ref (appbar1); - gtk_object_set_data_full (GTK_OBJECT (gcompris_edit), "appbar1", appbar1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (appbar1); - gnome_app_set_statusbar (GNOME_APP (gcompris_edit), appbar1); - - gnome_app_install_menu_hints (GNOME_APP (gcompris_edit), menubar1_uiinfo); - gtk_signal_connect (GTK_OBJECT (buttonAdd), "clicked", - GTK_SIGNAL_FUNC (on_buttonAdd_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (buttonDel), "clicked", - GTK_SIGNAL_FUNC (on_buttonDel_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (ctree1), "tree_select_row", - GTK_SIGNAL_FUNC (on_ctree1_tree_select_row), - NULL); - gtk_signal_connect (GTK_OBJECT (ctree1), "tree_unselect_row", - GTK_SIGNAL_FUNC (on_ctree1_tree_unselect_row), - NULL); - gtk_signal_connect_after (GTK_OBJECT (ctree1), "tree_collapse", - GTK_SIGNAL_FUNC (on_ctree1_tree_collapse), - NULL); - gtk_signal_connect_after (GTK_OBJECT (ctree1), "tree_expand", - GTK_SIGNAL_FUNC (on_ctree1_tree_expand), - NULL); - gtk_signal_connect (GTK_OBJECT (buttonIconList), "clicked", - GTK_SIGNAL_FUNC (on_buttonIconList_clicked), - NULL); - - gtk_widget_grab_focus (ctree1); - gtk_widget_grab_default (ctree1); - gtk_object_set_data (GTK_OBJECT (gcompris_edit), "tooltips", tooltips); + (GtkAttachOptions) (GTK_FILL), 0, 2); + + textview_credit = gtk_text_view_new (); + gtk_widget_set_name (textview_credit, "textview_credit"); + gtk_widget_show (textview_credit); + gtk_container_add (GTK_CONTAINER (scrolledwindow19), textview_credit); + gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_credit), FALSE); + + label15 = gtk_label_new (_("Description")); + gtk_widget_set_name (label15, "label15"); + gtk_widget_show (label15); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook4), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook4), 0), label15); + gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (gcompris_edit, gcompris_edit, "gcompris_edit"); + GLADE_HOOKUP_OBJECT (gcompris_edit, bonobodock1, "bonobodock1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, menubar1_uiinfo[0].widget, "file1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, file1_menu_uiinfo[0].widget, "quit1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, menubar1_uiinfo[1].widget, "edit1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, edit1_menu_uiinfo[0].widget, "cut1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, edit1_menu_uiinfo[1].widget, "copy1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, edit1_menu_uiinfo[2].widget, "paste1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, menubar1_uiinfo[2].widget, "help1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, help1_menu_uiinfo[1].widget, "about1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, toolbar1, "toolbar1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, hpaned1, "hpaned1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow1, "scrolledwindow1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, treeview, "treeview"); + GLADE_HOOKUP_OBJECT (gcompris_edit, notebook4, "notebook4"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow14, "scrolledwindow14"); + GLADE_HOOKUP_OBJECT (gcompris_edit, viewport1, "viewport1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, table2, "table2"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label16, "label16"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label17, "label17"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label18, "label18"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label19, "label19"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label20, "label20"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label21, "label21"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label22, "label22"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label23, "label23"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label24, "label24"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label25, "label25"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label26, "label26"); + GLADE_HOOKUP_OBJECT (gcompris_edit, iconentry, "iconentry"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label27, "label27"); + GLADE_HOOKUP_OBJECT (gcompris_edit, combo1, "combo1"); + GLADE_HOOKUP_OBJECT (gcompris_edit, entry_type, "entry_type"); + GLADE_HOOKUP_OBJECT (gcompris_edit, entry_name, "entry_name"); + GLADE_HOOKUP_OBJECT (gcompris_edit, entry_title, "entry_title"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow15, "scrolledwindow15"); + GLADE_HOOKUP_OBJECT (gcompris_edit, textview_description, "textview_description"); + GLADE_HOOKUP_OBJECT (gcompris_edit, spinbutton_difficulty, "spinbutton_difficulty"); + GLADE_HOOKUP_OBJECT (gcompris_edit, entry_author, "entry_author"); + GLADE_HOOKUP_OBJECT (gcompris_edit, entry_directory, "entry_directory"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow16, "scrolledwindow16"); + GLADE_HOOKUP_OBJECT (gcompris_edit, textview_prerequisite, "textview_prerequisite"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow17, "scrolledwindow17"); + GLADE_HOOKUP_OBJECT (gcompris_edit, textview_goal, "textview_goal"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow18, "scrolledwindow18"); + GLADE_HOOKUP_OBJECT (gcompris_edit, textview_manual, "textview_manual"); + GLADE_HOOKUP_OBJECT (gcompris_edit, scrolledwindow19, "scrolledwindow19"); + GLADE_HOOKUP_OBJECT (gcompris_edit, textview_credit, "textview_credit"); + GLADE_HOOKUP_OBJECT (gcompris_edit, label15, "label15"); return gcompris_edit; } GtkWidget* -create_window_iconlist (void) +create_about1 (void) { - GtkWidget *window_iconlist; - GtkWidget *iconselection; - - window_iconlist = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name (window_iconlist, "window_iconlist"); - gtk_object_set_data (GTK_OBJECT (window_iconlist), "window_iconlist", window_iconlist); - gtk_window_set_title (GTK_WINDOW (window_iconlist), _("Icon List")); - - iconselection = gnome_icon_selection_new (); - gtk_widget_set_name (iconselection, "iconselection"); - gtk_widget_ref (iconselection); - gtk_object_set_data_full (GTK_OBJECT (window_iconlist), "iconselection", iconselection, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (iconselection); - gtk_container_add (GTK_CONTAINER (window_iconlist), iconselection); - - return window_iconlist; + const gchar *authors[] = { + "Bruno Coudoin", + NULL + }; + const gchar *documenters[] = { NULL }; + /* TRANSLATORS: Replace this string with your names, one name per line. */ + gchar *translators = _("translator_credits"); + GtkWidget *about1; + + if (!strcmp (translators, "translator_credits")) + translators = NULL; + about1 = gnome_about_new ("Gcompris Editor", VERSION, + _("Released under GPL"), + "", + authors, + documenters, + translators, + NULL); + gtk_widget_set_name (about1, "about1"); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (about1, about1, "about1"); + + return about1; } diff --git a/src/gcompris/interface.h b/src/gcompris/interface.h index bab6da6..95808f1 100644 --- a/src/gcompris/interface.h +++ b/src/gcompris/interface.h @@ -1,6 +1,6 @@ /* - * NE PAS ÉDITER CE FICHIER - il est généré par Glade. + * NE PAS ÉDITER CE FICHIER - il est généré par Glade. */ GtkWidget* create_gcompris_edit (void); -GtkWidget* create_window_iconlist (void); +GtkWidget* create_about1 (void); diff --git a/src/gcompris/off.xpm b/src/gcompris/off.xpm deleted file mode 100644 index 798cd35..0000000 --- a/src/gcompris/off.xpm +++ /dev/null @@ -1,194 +0,0 @@ -/* XPM */ -static char * BOARD_OFF_XPM[] = { -"15 15 176 2", -" c None", -". c #0C0302", -"+ c #110504", -"@ c #160504", -"# c #0F0403", -"$ c #090201", -"% c #150807", -"& c #2D0E0B", -"* c #6E201B", -"= c #A7332A", -"- c #C52A20", -"; c #8C231B", -"> c #52110C", -", c #1A0604", -"' c #0B0101", -") c #260F0E", -"! c #652826", -"~ c #C84E47", -"{ c #EC6056", -"] c #EB5549", -"^ c #DF3827", -"/ c #C5291F", -"( c #A6271E", -"_ c #7D1D16", -": c #380A07", -"< c #100201", -"[ c #150A07", -"} c #652926", -"| c #D66760", -"1 c #F68984", -"2 c #F78D89", -"3 c #F17169", -"4 c #E6483B", -"5 c #CC281D", -"6 c #A7271E", -"7 c #96231C", -"8 c #7C1811", -"9 c #360803", -"0 c #0A0100", -"a c #33110F", -"b c #CB544D", -"c c #F7908B", -"d c #FAB2AE", -"e c #F9ADAB", -"f c #F5827D", -"g c #E84B41", -"h c #C8281C", -"i c #A6251C", -"j c #992018", -"k c #8B1C13", -"l c #6B1209", -"m c #160301", -"n c #0C0403", -"o c #732923", -"p c #F06F67", -"q c #F9A3A0", -"r c #FBC5C8", -"s c #FABCBF", -"t c #F48382", -"u c #E8463E", -"v c #C2271E", -"w c #A4221B", -"x c #971D15", -"y c #8B1911", -"z c #80130C", -"A c #3D0705", -"B c #070100", -"C c #130505", -"D c #B63934", -"E c #F17268", -"F c #F79591", -"G c #F8A6A6", -"H c #F79994", -"I c #F06961", -"J c #E33A2E", -"K c #BA241D", -"L c #A12117", -"M c #961C12", -"N c #8B170E", -"O c #83160E", -"P c #67110A", -"Q c #0B0201", -"R c #190504", -"S c #DA372C", -"T c #EB5F56", -"U c #F16F69", -"V c #F16E69", -"W c #EF5F57", -"X c #E9423A", -"Y c #CD2A1E", -"Z c #A6241B", -"` c #9B1D15", -" . c #961911", -".. c #8E1A14", -"+. c #90261E", -"@. c #902D27", -"#. c #110505", -"$. c #100505", -"%. c #9C312A", -"&. c #E2443A", -"*. c #E74B41", -"=. c #E34336", -"-. c #DE3729", -";. c #D22620", -">. c #AB241C", -",. c #9A1F15", -"'. c #961A11", -"). c #911A12", -"!. c #9C281F", -"~. c #BE352D", -"{. c #9B332C", -"]. c #110605", -"^. c #0B0202", -"/. c #621814", -"(. c #CB3326", -"_. c #D33227", -":. c #CA2F24", -"<. c #BC2A1F", -"[. c #AB261E", -"}. c #9A2217", -"|. c #901A11", -"1. c #931B14", -"2. c #9D281D", -"3. c #BD362E", -"4. c #D33F39", -"5. c #6A201C", -"6. c #0C0303", -"7. c #220806", -"8. c #92271F", -"9. c #B13025", -"0. c #AF2C23", -"a. c #A72921", -"b. c #9C261E", -"c. c #931E16", -"d. c #911E15", -"e. c #A62720", -"f. c #C4362E", -"g. c #D54239", -"h. c #B2342D", -"i. c #280A09", -"j. c #0D0302", -"k. c #40110C", -"l. c #89271F", -"m. c #9B2923", -"n. c #962923", -"o. c #92241E", -"p. c #92231D", -"q. c #A62A23", -"r. c #C9372F", -"s. c #D9433A", -"t. c #B83831", -"u. c #501715", -"v. c #100404", -"w. c #130503", -"x. c #3C0E0B", -"y. c #731E1A", -"z. c #892822", -"A. c #912C27", -"B. c #A9302A", -"C. c #C73530", -"D. c #D23D3A", -"E. c #AC342E", -"F. c #501713", -"G. c #160706", -"H. c #0C0202", -"I. c #170605", -"J. c #4C1410", -"K. c #7F2C26", -"L. c #AD3733", -"M. c #9E332E", -"N. c #651E1D", -"O. c #260A09", -"P. c #090202", -"Q. c #0E0504", -"R. c #140706", -"S. c #0B0303", -" . + @ # $ ", -" % & * = - ; > , ' ", -" ) ! ~ { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 9 0 ", -" a b c d e f g h i j k l m ", -"n o p q r s t u v w x y z A B ", -"C D E F G H I J K L M N O P Q ", -"R S T U V W X Y Z ` ...+.@.#.", -"$.%.&.*.=.-.;.>.,.'.).!.~.{.].", -"^./.(._.:.<.[.}.|.1.2.3.4.5.6.", -" 7.8.9.0.a.b.c.d.e.f.g.h.i. ", -" j.k.l.m.n.o.p.q.r.s.t.u.v. ", -" w.x.y.z.A.B.C.D.E.F.G. ", -" H.I.J.K.L.M.N.O.# ", -" P.Q.R.].S. "}; diff --git a/src/gcompris/on.xpm b/src/gcompris/on.xpm deleted file mode 100644 index 71f9dcc..0000000 --- a/src/gcompris/on.xpm +++ /dev/null @@ -1,190 +0,0 @@ -/* XPM */ -static char * BOARD_ON_XPM[] = { -"15 15 172 2", -" c None", -". c #040B03", -"+ c #070F06", -"@ c #071405", -"# c #050E04", -"$ c #020802", -"% c #0A1508", -"& c #122D0E", -"* c #296822", -"= c #409937", -"- c #41B52F", -"; c #308527", -"> c #194C13", -", c #091A07", -"' c #030B02", -") c #12240F", -"! c #306129", -"~ c #5BC250", -"{ c #6EE360", -"] c #64E257", -"^ c #4CD236", -"/ c #41B72E", -"( c #3D9B2D", -"_ c #2C7320", -": c #11350B", -"< c #040F03", -"[ c #081708", -"} c #2E6229", -"| c #70CF64", -"1 c #95F188", -"2 c #9AF18C", -"3 c #7EEB72", -"4 c #5DDC46", -"5 c #41BB2D", -"6 c #3C9A2C", -"7 c #358827", -"8 c #28711D", -"9 c #0F320A", -"0 c #030901", -"a c #133210", -"b c #60C352", -"c c #98F28F", -"d c #B8F8B3", -"e c #B5F7AA", -"f c #8DEF80", -"g c #5EDD4B", -"h c #3FB82B", -"i c #3B9A2B", -"j c #348B27", -"k c #2C7F21", -"l c #1F6114", -"m c #061503", -"n c #050C04", -"o c #316F28", -"p c #80E96B", -"q c #ABF5A0", -"r c #CBFAC7", -"s c #C4F9BB", -"t c #93F086", -"u c #5ADC46", -"v c #3FB42C", -"w c #379728", -"x c #348B24", -"y c #2C7F1F", -"z c #277317", -"A c #113A0A", -"B c #020701", -"C c #071206", -"D c #4CA93D", -"E c #81EC73", -"F c #A1F394", -"G c #B1F7A5", -"H c #A3F497", -"I c #78E96A", -"J c #53D63B", -"K c #3BAA2C", -"L c #369128", -"M c #2F8821", -"N c #2B7E1D", -"O c #29761B", -"P c #1D5E15", -"Q c #030A02", -"R c #071706", -"S c #46C83A", -"T c #6CE25E", -"U c #7EE971", -"V c #80EA6D", -"W c #72E55B", -"X c #59DC44", -"Y c #42BE2D", -"Z c #3A9B29", -"` c #308D23", -" . c #2C8620", -".. c #2D8021", -"+. c #35872B", -"@. c #3B862E", -"#. c #071005", -"$. c #3F9733", -"%. c #58D944", -"&. c #5EDB4A", -"*. c #57D840", -"=. c #48CF37", -"-. c #3BBF2F", -";. c #3AA02A", -">. c #358E23", -",. c #2D851D", -"'. c #2D8221", -"). c #37922D", -"!. c #47B337", -"~. c #419137", -"{. c #040A03", -"]. c #235C1A", -"^. c #48BF33", -"/. c #47C533", -"(. c #43BE2F", -"_. c #3EAE2C", -":. c #3B9C2B", -"<. c #358E28", -"[. c #2F8722", -"}. c #2D8621", -"|. c #37912C", -"1. c #45B139", -"2. c #50C743", -"3. c #286322", -"4. c #040B04", -"5. c #0B1E08", -"6. c #338929", -"7. c #3EA532", -"8. c #3EA031", -"9. c #3D992E", -"0. c #398E2A", -"a. c #308723", -"b. c #318424", -"c. c #39952C", -"d. c #43B538", -"e. c #52C943", -"f. c #41A736", -"g. c #0C240B", -"h. c #040D03", -"i. c #153C11", -"j. c #327C28", -"k. c #388B2D", -"l. c #37892D", -"m. c #37862A", -"n. c #348427", -"o. c #3C982E", -"p. c #46B938", -"q. c #50CC43", -"r. c #48AE3B", -"s. c #1E4C1A", -"t. c #050F05", -"u. c #061205", -"v. c #14370F", -"w. c #2A6A22", -"x. c #35802C", -"y. c #3D8830", -"z. c #439A33", -"A. c #47B83A", -"B. c #4FC543", -"C. c #40A236", -"D. c #1D4A18", -"E. c #091507", -"F. c #091807", -"G. c #1B4716", -"H. c #35772D", -"I. c #47A53A", -"J. c #3F9137", -"K. c #255E1F", -"L. c #0D220A", -"M. c #030802", -"N. c #060D05", -"O. c #081307", -" . + @ # $ ", -" % & * = - ; > , ' ", -" ) ! ~ { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 9 0 ", -" a b c d e f g h i j k l m ", -"n o p q r s t u v w x y z A B ", -"C D E F G H I J K L M N O P Q ", -"R S T U V W X Y Z ` ...+.@.#.", -"+ $.%.&.*.=.-.;.>.,.'.).!.~.+ ", -"{.].^./.(._.:.<.[.}.|.1.2.3.4.", -" 5.6.7.8.9.0.a.b.c.d.e.f.g. ", -" h.i.j.k.l.m.n.o.p.q.r.s.t. ", -" u.v.w.x.y.z.A.B.C.D.E. ", -" . F.G.H.I.J.K.L.# ", -" M.N.O.+ {. "}; diff --git a/src/gcompris/pluginenum.c b/src/gcompris/pluginenum.c index d44133e..606e9eb 100644 --- a/src/gcompris/pluginenum.c +++ b/src/gcompris/pluginenum.c @@ -102,7 +102,7 @@ void init_plugins(void) while (node) { ip = (BoardPlugin *) node->data; - temp = g_basename(ip->filename); + temp = (gchar *)g_basename(ip->filename); if (ip->init) ip->init(); node = node->next; @@ -126,7 +126,7 @@ void add_plugin(gchar * filename) */ { GList *l; - gchar *base_filename = g_basename(filename); + gchar *base_filename = (gchar *)g_basename(filename); for (l = bp_data->board_list; l; l = l->next) { diff --git a/src/gcompris/soundutil.c b/src/gcompris/soundutil.c index b80b59e..3afa644 100644 --- a/src/gcompris/soundutil.c +++ b/src/gcompris/soundutil.c @@ -131,14 +131,14 @@ static void* thread_play_ogg (void *s) file = g_strdup_printf("%s/%s/%s.ogg", PACKAGE_DATA_DIR "/sounds", locale, s); - if (g_file_exists (file)) + if (g_file_test ((file), G_FILE_TEST_EXISTS)) { printf("trying to play %s\n", file); } else { g_free(file); file = g_strdup_printf("%s/%s.ogg", PACKAGE_DATA_DIR "/music", s); - if (g_file_exists (file)) + if (g_file_test ((file), G_FILE_TEST_EXISTS)) { printf("trying to play %s\n", file); } @@ -265,7 +265,7 @@ void gcompris_play_sound (const char *soundlistfile, const char *which) filename = g_strdup_printf("%s/%s.wav", PACKAGE_SOUNDS_DIR, which); - if (!g_file_exists (filename)) + if (!g_file_test ((filename), G_FILE_TEST_EXISTS)) g_error (_("Couldn't find file %s !"), filename); if (gcompris_get_properties()->fx) diff --git a/src/gcompris/support.c b/src/gcompris/support.c index 3d325dd..87007f0 100644 --- a/src/gcompris/support.c +++ b/src/gcompris/support.c @@ -1,5 +1,5 @@ /* - * NE PAS ÉDITER CE FICHIER - il est généré par Glade. + * NE PAS ÉDITER CE FICHIER - il est généré par Glade. */ #ifdef HAVE_CONFIG_H @@ -10,15 +10,12 @@ #include <sys/stat.h> #include <unistd.h> #include <string.h> +#include <stdio.h> #include <gnome.h> #include "support.h" -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget, - gboolean gnome_pixmap); - GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name) @@ -31,6 +28,8 @@ lookup_widget (GtkWidget *widget, parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); else parent = widget->parent; + if (!parent) + parent = gtk_object_get_data (GTK_OBJECT (widget), "GladeParentKey"); if (parent == NULL) break; widget = parent; @@ -43,104 +42,74 @@ lookup_widget (GtkWidget *widget, return found_widget; } -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" ", -" " -}; - /* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget, - gboolean gnome_pixmap) +GtkWidget* +create_pixmap (GtkWidget *widget, + const gchar *filename) { - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; GtkWidget *pixmap; + gchar *pathname; + + if (!filename || !filename[0]) + return gtk_image_new (); - if (gnome_pixmap) + pathname = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + filename, TRUE, NULL); + if (!pathname) { - return gnome_pixmap_new_from_xpm_d (dummy_pixmap_xpm); + g_warning (_("Couldn't find pixmap file: %s"), filename); + return gtk_image_new (); } - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); + pixmap = gtk_image_new_from_file (pathname); + g_free (pathname); return pixmap; } /* This is an internally used function to create pixmaps. */ -GtkWidget* -create_pixmap (GtkWidget *widget, - const gchar *filename, - gboolean gnome_pixmap) +GdkPixbuf* +create_pixbuf (const gchar *filename) { - GtkWidget *pixmap; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - gchar *pathname; + gchar *pathname = NULL; + GdkPixbuf *pixbuf; + GError *error = NULL; if (!filename || !filename[0]) - return create_dummy_pixmap (widget, gnome_pixmap); + return NULL; + + pathname = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + filename, TRUE, NULL); - pathname = gnome_pixmap_file (filename); if (!pathname) { g_warning (_("Couldn't find pixmap file: %s"), filename); - return create_dummy_pixmap (widget, gnome_pixmap); - } - - if (gnome_pixmap) - { - pixmap = gnome_pixmap_new_from_file (pathname); - g_free (pathname); - return pixmap; + return NULL; } - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, pathname); - if (gdkpixmap == NULL) + pixbuf = gdk_pixbuf_new_from_file (pathname, &error); + if (!pixbuf) { - g_warning (_("Couldn't create pixmap from file: %s"), pathname); - g_free (pathname); - return create_dummy_pixmap (widget, gnome_pixmap); + fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", + pathname, error->message); + g_error_free (error); } g_free (pathname); - - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; + return pixbuf; } -/* This is an internally used function to create imlib images. */ -GdkImlibImage* -create_image (const gchar *filename) +/* This is used to set ATK action descriptions. */ +void +glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description) { - GdkImlibImage *image; - gchar *pathname; + gint n_actions, i; - pathname = gnome_pixmap_file (filename); - if (!pathname) + n_actions = atk_action_get_n_actions (action); + for (i = 0; i < n_actions; i++) { - g_warning (_("Couldn't find pixmap file: %s"), filename); - return NULL; + if (!strcmp (atk_action_get_name (action, i), action_name)) + atk_action_set_description (action, i, description); } - - image = gdk_imlib_load_image (pathname); - g_free (pathname); - return image; } diff --git a/src/gcompris/support.h b/src/gcompris/support.h index b7f7728..150bdf2 100644 --- a/src/gcompris/support.h +++ b/src/gcompris/support.h @@ -1,5 +1,5 @@ /* - * NE PAS ÉDITER CE FICHIER - il est généré par Glade. + * NE PAS ÉDITER CE FICHIER - il est généré par Glade. */ #include <gnome.h> @@ -17,18 +17,21 @@ GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name); -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget /* * Private Functions. */ -/* This is used to create the pixmaps in the interface. */ +/* This is used to create the pixmaps used in the interface. */ GtkWidget* create_pixmap (GtkWidget *widget, - const gchar *filename, - gboolean gnome_pixmap); + const gchar *filename); -GdkImlibImage* create_image (const gchar *filename); +/* This is used to create the pixbufs used in the interface. */ +GdkPixbuf* create_pixbuf (const gchar *filename); + +/* This is used to set ATK action descriptions. */ +void glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description); diff --git a/src/gcompris/timer.c b/src/gcompris/timer.c index 2995d5e..3fea649 100644 --- a/src/gcompris/timer.c +++ b/src/gcompris/timer.c @@ -87,7 +87,7 @@ void gcompris_timer_display(int ax, int ay, TimerList atype, int second, Gcompri filename = g_strdup_printf("gcompris/timers/clock%d.png", fileid); filefull = g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, filename); - if (g_file_exists (filefull)) + if (g_file_test ((filefull), G_FILE_TEST_EXISTS)) { pixmap = gcompris_load_pixmap(filename); @@ -304,7 +304,7 @@ static gint timer_increment(GtkWidget *widget, gpointer data) filefull = g_strdup_printf("%s/%s", PACKAGE_DATA_DIR, filename); printf("timer: filefull = %s\n", filefull); - if (g_file_exists (filefull)) + if (g_file_test ((filefull), G_FILE_TEST_EXISTS)) { pixmap = gcompris_load_pixmap(filename); gnome_canvas_item_set(item, diff --git a/src/unicode/.cvsignore b/src/unicode/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/src/unicode/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in |