2 * This file is part of ShapeFusion (Copyright 2000 Tito Dal Canton)
4 * ShapeFusion is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * ShapeFusion is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with ShapeFusion; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #include "ShapeFusionMenus.h"
21 void CreateFileMenu(wxMenuBar *menu_bar)
28 // We create our two submenus
29 /* file_new_menu = new wxMenu();
30 file_new_menu->Append(FILE_MENU_NEW_SHAPES, _("Shapes file"));
31 file_new_menu->Append(FILE_MENU_NEW_PHYSICS, _("Physics file"));
32 file_new_menu->Append(FILE_MENU_NEW_MAP, _("Map file"));
33 file_new_menu->Append(FILE_MENU_NEW_SOUNDS, _("Sounds file"));
34 file_open_menu = new wxMenu();
35 file_open_menu->Append(FILE_MENU_OPEN_SHAPES, _("Shapes file"));
36 file_open_menu->Append(FILE_MENU_OPEN_PHYSICS, _("Physics file"));
37 file_open_menu->Append(FILE_MENU_OPEN_MAP, _("Map file"));
38 file_open_menu->Append(FILE_MENU_OPEN_SOUNDS, _("Sounds file"));*/
39 // We create the recent menu here...
40 recent_file_menu = new wxMenu();
42 // We create the 'main' File menu
43 file_menu = new wxMenu();
44 // file_menu->Append(FILE_MENU_NEW, _("New..."), file_new_menu);
45 // file_menu->Append(FILE_MENU_OPEN, _("Open..."), file_open_menu);
46 // file_menu->Append(FILE_MENU_NEW, _("New...\tCtrl+N"));
47 file_menu->Append(FILE_MENU_OPEN, _("Open...\tCtrl+O"));
48 file_menu->Append(FILE_MENU_HISTORY, _("Open Recent..."), recent_file_menu);
49 file_menu->Append(FILE_MENU_CLOSE, _("&Close\tCtrl+W"));
50 file_menu->AppendSeparator();
51 file_menu->Append(FILE_MENU_SAVE, _("&Save\tCtrl+S"));
52 file_menu->Append(FILE_MENU_SAVEAS, _("Save as...\tCtrl+Shift+S"));
53 file_menu->Append(FILE_MENU_REVERT, _("&Revert"));
54 file_menu->AppendSeparator();
55 file_menu->Append(FILE_MENU_PRINT, _("&Print..."));
56 file_menu->Append(FILE_MENU_PRINT_SETUP, _("Print &Setup..."));
57 file_menu->Append(FILE_MENU_PREVIEW, _("Print Pre&view"));
58 file_menu->AppendSeparator();
59 file_menu->Append(FILE_MENU_QUIT, _("&Quit\tAlt+F4"));
61 file_menu->Enable(FILE_MENU_SAVE, false);
62 file_menu->Enable(FILE_MENU_SAVEAS, false);
63 file_menu->Enable(FILE_MENU_CLOSE, false);
65 // We add the File menu to the passed menubar
66 menu_bar->Append(file_menu, _("&File"));
69 void CreateEditMenu(wxMenuBar *menu_bar)
73 edit_menu = new wxMenu();
74 edit_menu->Append(EDIT_MENU_UNDO, _("&Undo\tCtrl+Z"));
75 edit_menu->Append(EDIT_MENU_REDO, _("&Redo\tCtrl+Shift+Z"));
76 edit_menu->AppendSeparator();
77 edit_menu->Append(EDIT_MENU_CUT, _("&Cut\tCtrl+X"));
78 edit_menu->Append(EDIT_MENU_COPY, _("&Copy\tCtrl+C"));
79 edit_menu->Append(EDIT_MENU_PASTE, _("&Paste\tCtrl+V"));
80 edit_menu->AppendSeparator();
81 edit_menu->Append(EDIT_MENU_DELETE, _("&Delete"));
83 edit_menu->Enable(EDIT_MENU_CUT, false);
84 edit_menu->Enable(EDIT_MENU_COPY, false);
85 edit_menu->Enable(EDIT_MENU_PASTE, false);
86 edit_menu->Enable(EDIT_MENU_DELETE, false);
88 // We add the Edit menu to the passed menubar
89 menu_bar->Append(edit_menu, _("&Edit"));
92 void CreateHelpMenu(wxMenuBar *menu_bar)
96 help_menu = new wxMenu();
97 help_menu->Append(ABOUT_MENU, _("About ShapeFusion"));
98 help_menu->Append(HELP_MENU, _("ShapeFusion Help"));
100 menu_bar->Append(help_menu, _("&Help"));
103 void CreateViewMenu(wxMenuBar *menu_bar)
107 *view_colortable_submenu,
108 *view_tnsize_submenu;
110 // We create our two submenus
111 view_colortable_submenu = new wxMenu();
112 for (unsigned int i = 0; i < 8; i++) {
113 view_colortable_submenu->AppendRadioItem(VIEW_MENU_COLORTABLE_0 + i, wxString::Format(wxT("%d"), i));
114 view_colortable_submenu->Enable(VIEW_MENU_COLORTABLE_0 + i, false);
117 view_tnsize_submenu = new wxMenu();
118 view_tnsize_submenu->AppendRadioItem(VIEW_MENU_TNSIZE_SMALL, _("Small"));
119 view_tnsize_submenu->AppendRadioItem(VIEW_MENU_TNSIZE_MEDIUM, _("Medium"));
120 view_tnsize_submenu->AppendRadioItem(VIEW_MENU_TNSIZE_LARGE, _("Large"));
121 view_tnsize_submenu->AppendRadioItem(VIEW_MENU_TNSIZE_AUTO, _("Best fit"));
122 for (unsigned int i = VIEW_MENU_TNSIZE_SMALL; i <= VIEW_MENU_TNSIZE_AUTO; i++)
123 view_tnsize_submenu->Check(i, i == VIEW_MENU_TNSIZE_MEDIUM);
125 // Now the main View menu
126 view_menu = new wxMenu();
127 view_menu->Append(VIEW_MENU_COLOR_TABLE, _("Use color table"), view_colortable_submenu);
128 view_menu->Append(VIEW_MENU_THUMBNAIL_SIZE, _("Thumbnail size"), view_tnsize_submenu);
129 view_menu->AppendCheckItem(VIEW_MENU_TRANSPARENCY, _("Show transparent pixels"));
130 view_menu->AppendCheckItem(VIEW_MENU_CENTERORIGIN, _("Fix frame origins"));
132 // We add that to the passed menubar
133 menu_bar->Append(view_menu, _("&View"));
136 void CreateShapesMenu(wxMenuBar *menu_bar)
140 // We create and build the Shapes menu
141 shapes_menu = new wxMenu();
142 shapes_menu->Append(SHAPES_MENU_ADDCOLORTABLE, _("New color table..."));
143 shapes_menu->Append(SHAPES_MENU_SAVECOLORTABLE, _("Export color table to GIMP..."));
144 shapes_menu->Append(SHAPES_MENU_SAVECOLORTABLETOPS, _("Export color table to PhotoShop..."));
145 shapes_menu->AppendSeparator();
146 shapes_menu->Append(SHAPES_MENU_ADDBITMAP, _("New bitmap..."));
147 shapes_menu->Append(SHAPES_MENU_EXPORTBITMAP, _("Export bitmap..."));
148 shapes_menu->Append(SHAPES_MENU_EXPORTMASK, _("Export bitmap mask..."));
149 shapes_menu->Append(SHAPES_MENU_EXPORTBITMAPS, _("Export all bitmaps..."));
150 shapes_menu->Append(SHAPES_MENU_EXPORTMASKS, _("Export all bitmap masks..."));
151 shapes_menu->AppendSeparator();
152 shapes_menu->Append(SHAPES_MENU_ADDFRAME, _("New frame"));
153 shapes_menu->AppendSeparator();
154 shapes_menu->Append(SHAPES_MENU_ADDSEQUENCE, _("New sequence"));
155 shapes_menu->AppendSeparator();
156 shapes_menu->Append(SHAPES_MENU_IMPORTPATCH, _("Apply Shapes Patch..."));
157 shapes_menu->Append(SHAPES_MENU_GENERATEPATCH, _("Export Shapes Patch..."));
159 // Let's disable all these items...
160 shapes_menu->Enable(SHAPES_MENU_ADDCOLORTABLE, false);
161 shapes_menu->Enable(SHAPES_MENU_SAVECOLORTABLE, false);
162 shapes_menu->Enable(SHAPES_MENU_SAVECOLORTABLETOPS, false);
163 shapes_menu->Enable(SHAPES_MENU_ADDBITMAP, false);
164 shapes_menu->Enable(SHAPES_MENU_EXPORTBITMAP, false);
165 shapes_menu->Enable(SHAPES_MENU_EXPORTMASK, false);
166 shapes_menu->Enable(SHAPES_MENU_EXPORTBITMAPS, false);
167 shapes_menu->Enable(SHAPES_MENU_EXPORTMASKS, false);
168 shapes_menu->Enable(SHAPES_MENU_ADDFRAME, false);
169 shapes_menu->Enable(SHAPES_MENU_ADDSEQUENCE, false);
171 // .. and add the whole to the menuBar
172 menu_bar->Append(shapes_menu, _("&Shapes"));
175 void CreateSoundsMenu(wxMenuBar *menu_bar)
179 // We create and build the Sounds menu
180 sounds_menu = new wxMenu();
181 sounds_menu->Append(SOUNDS_MENU_ADDCLASS, _("Add new sound class"));
182 sounds_menu->AppendSeparator();
183 sounds_menu->Append(SOUNDS_MENU_EXPORT, _("Export selected sound"));
184 sounds_menu->Append(SOUNDS_MENU_IMPORT, _("Import sound"));
186 // Let's disable them ...
187 sounds_menu->Enable(SOUNDS_MENU_ADDCLASS, false);
188 sounds_menu->Enable(SOUNDS_MENU_EXPORT, false);
189 sounds_menu->Enable(SOUNDS_MENU_IMPORT, false);
191 // ... and add the whole to the menu_bar
192 menu_bar->Append(sounds_menu, _("S&ounds"));