00001 #ifndef __MENUS_H__
00002 #define __MENUS_H__
00003
00004
00005
00006
00007
00008
00009 #include <windows.h>
00010 #include <commctrl.h>
00011 #include "resource.h"
00012 #include "configure.h"
00013 #include "viasgui.h"
00014 #include "vassert.h"
00015
00016
00017 void SetMenuItemEnabled( HWND hWnd, vINT id, vBOOL enabled );
00018
00019 vBOOL IsMenuItemEnabled( HWND hWnd, vINT id );
00020
00021
00022 void SetMenuItemChecked( HWND hWnd, vINT id, vBOOL checked );
00023
00024 vBOOL IsMenuItemChecked( HWND hWnd, vINT id );
00025
00026
00027 void SetMenuItemString( HWND hWnd, vINT id, char *string );
00028
00029
00030 void AppendMenuItem( HMENU hMenu, vINT id, vBOOL enabled, char *string );
00031
00032
00033 typedef enum
00034 {
00035 MENU_EVENT_OPEN_WORKSPACE,
00036 MENU_EVENT_SAVE_WORKSPACE,
00037 MENU_EVENT_CLOSE_WORKSPACE,
00038 MENU_EVENT_NEW_WORKSPACE,
00039 MENU_EVENT_UNDO,
00040 MENU_EVENT_REDO,
00041 MENU_EVENT_BEGIN_CROP,
00042 MENU_EVENT_END_CROP,
00043 MENU_EVENT_BEGIN_ALIGN,
00044 MENU_EVENT_END_ALIGN,
00045 MENU_EVENT_1_STACK_SELECTED,
00046 MENU_EVENT_NOT_1_STACK_SELECTED,
00047
00048 MENU_EVENT_SENTINEL
00049 }
00050 MENU_EVENT_TYPE;
00051
00052 #define NUM_MENU_EVENTS ( ( int )MENU_EVENT_SENTINEL )
00053
00054 void RegisterMenuEvent( MENU_EVENT_TYPE type );
00055
00056
00057
00058
00059
00060 void SetMenuEventHook( const MENU_EVENT_TYPE event, void ( *hook )( void ) );
00061
00062
00063 typedef enum
00064 {
00065 TRACK_MENU_CROP_CUBE,
00066 TRACK_MENU_ZOOM,
00067 TRACK_MENU_STACK,
00068
00069 TRACK_MENU_SENTINEL
00070 }
00071 TRACK_MENU_TYPE;
00072
00073 #define NUM_TRACK_MENUS ( ( int )TRACK_MENU_SENTINEL )
00074
00075
00076
00077
00078 int CreateTrackPopupMenu( HWND hWnd, int x, int y, TRACK_MENU_TYPE type );
00079
00080
00081 #endif
00082