00001 00006 /* 00007 Copyright (C) 1999-2006 Id Software, Inc. and contributors. 00008 For a list of contributors, see the accompanying CONTRIBUTORS file. 00009 00010 This file is part of GtkRadiant. 00011 00012 GtkRadiant is free software; you can redistribute it and/or modify 00013 it under the terms of the GNU General Public License as published by 00014 the Free Software Foundation; either version 2 of the License, or 00015 (at your option) any later version. 00016 00017 GtkRadiant is distributed in the hope that it will be useful, 00018 but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 GNU General Public License for more details. 00021 00022 You should have received a copy of the GNU General Public License 00023 along with GtkRadiant; if not, write to the Free Software 00024 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00025 */ 00026 00027 #ifndef UMP_H 00028 #define UMP_H 00029 00030 #include "iump.h" 00031 00032 typedef struct _GtkMenu GtkMenu; 00033 typedef struct _GtkMenuItem GtkMenuItem; 00034 00035 void UMP_constructMenu (GtkMenuItem* menuItem, GtkMenu* menu); 00036 00037 void UMP_Construct (); 00038 void UMP_Destroy (); 00039 00040 namespace map 00041 { 00042 namespace ump 00043 { 00044 00048 class UMPMenuCreator 00049 { 00050 private: 00051 GtkMenuItem *_menuItem; 00052 GtkMenu *_menu; 00053 00054 public: 00055 void updateMenu (void); 00056 00057 void setMenuEntry (GtkMenuItem* menuItem, GtkMenu *menu) 00058 { 00059 _menuItem = menuItem; 00060 _menu = menu; 00061 } 00066 static UMPMenuCreator* getInstance (void) 00067 { 00068 static UMPMenuCreator _instance; 00069 return &_instance; 00070 } 00071 }; 00072 } 00073 } 00074 00075 #endif