• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

MyGUI_Prerequest.h

Go to the documentation of this file.
00001 
00008 /*
00009     This file is part of MyGUI.
00010     
00011     MyGUI is free software: you can redistribute it and/or modify
00012     it under the terms of the GNU Lesser General Public License as published by
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your option) any later version.
00015     
00016     MyGUI is distributed in the hope that it will be useful,
00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019     GNU Lesser General Public License for more details.
00020     
00021     You should have received a copy of the GNU Lesser General Public License
00022     along with MyGUI.  If not, see <http://www.gnu.org/licenses/>.
00023 */
00024 
00025 #ifndef __MYGUI_PREREQUEST_H__
00026 #define __MYGUI_PREREQUEST_H__
00027 
00028 #include "MyGUI_Platform.h"
00029 
00030 #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00031 #   ifndef _CRT_SECURE_NO_WARNINGS
00032 #       define _CRT_SECURE_NO_WARNINGS
00033 #   endif
00034 #endif
00035 
00036 #define MYGUI_DEFINE_VERSION(major, minor, patch) ((major << 16) | (minor << 8) | patch)
00037 
00038 #ifndef MYGUI_DONT_REPLACE_NULLPTR
00039     #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00040         #ifndef _MANAGED
00041             #define nullptr 0
00042         #endif
00043     #else
00044         #define nullptr 0
00045     #endif
00046 #endif
00047 
00048 namespace MyGUI
00049 {
00050 
00051     class Gui;
00052     class IWidgetCreator;
00053 
00054     // managers
00055     class LogManager;
00056     class InputManager;
00057     class SubWidgetManager;
00058     class LayerManager;
00059     class SkinManager;
00060     class WidgetManager;
00061     class FontManager;
00062     class ControllerManager;
00063     class PointerManager;
00064     class ClipboardManager;
00065     class LayoutManager;
00066     class PluginManager;
00067     class DynLibManager;
00068     class DelegateManager;
00069     class LanguageManager;
00070     class ResourceManager;
00071     class RenderManager;
00072     class FactoryManager;
00073     class TextureManager;
00074 
00075     class IWidgetFactory;
00076 
00077     class DynLib;
00078 
00079     namespace factory
00080     {
00081         template <typename T>
00082         class BaseWidgetFactory;
00083     }
00084 
00085     class Widget;
00086     class Button;
00087     class Window;
00088     class List;
00089     class HScroll;
00090     class VScroll;
00091     class Edit;
00092     class ComboBox;
00093     class StaticText;
00094     class Tab;
00095     class TabItem;
00096     class Progress;
00097     class ItemBox;
00098     class MultiList;
00099     class StaticImage;
00100     class Message;
00101     class MenuCtrl;
00102     class MenuItem;
00103     class PopupMenu;
00104     class MenuBar;
00105     class ScrollView;
00106     class DDContainer;
00107     class Canvas;
00108     class ListCtrl;
00109     class ListBox;
00110 
00111     typedef Widget* WidgetPtr;
00112     typedef Button* ButtonPtr;
00113     typedef Window* WindowPtr;
00114     typedef List* ListPtr;
00115     typedef HScroll* HScrollPtr;
00116     typedef VScroll* VScrollPtr;
00117     typedef Edit* EditPtr;
00118     typedef ComboBox* ComboBoxPtr;
00119     typedef StaticText* StaticTextPtr;
00120     typedef Tab* TabPtr;
00121     typedef TabItem* TabItemPtr;
00122     typedef Progress* ProgressPtr;
00123     typedef ItemBox* ItemBoxPtr;
00124     typedef MultiList* MultiListPtr;
00125     typedef StaticImage* StaticImagePtr;
00126     typedef Message* MessagePtr;
00127     typedef MenuCtrl* MenuCtrlPtr;
00128     typedef MenuItem* MenuItemPtr;
00129     typedef PopupMenu* PopupMenuPtr;
00130     typedef MenuBar* MenuBarPtr;
00131     typedef ScrollView* ScrollViewPtr;
00132     typedef DDContainer* DDContainerPtr;
00133     typedef Canvas* CanvasPtr;
00134     typedef ListCtrl* ListCtrlPtr;
00135     typedef ListBox* ListBoxPtr;
00136 
00137 #ifndef MYGUI_DONT_USE_OBSOLETE
00138 
00139     typedef TabItem Sheet;
00140     typedef TabItem* SheetPtr;
00141     typedef Canvas RenderBox;
00142     typedef Canvas* RenderBoxPtr;
00143 
00144 #endif // MYGUI_DONT_USE_OBSOLETE
00145 
00146     // Define version
00147     #define MYGUI_VERSION_MAJOR 3
00148     #define MYGUI_VERSION_MINOR 0
00149     #define MYGUI_VERSION_PATCH 0
00150 
00151     #define MYGUI_VERSION    MYGUI_DEFINE_VERSION(MYGUI_VERSION_MAJOR, MYGUI_VERSION_MINOR, MYGUI_VERSION_PATCH)
00152 
00153     // Disable warnings for MSVC compiler
00154 #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00155 
00156 // Turn off warnings generated by long std templates
00157 // This warns about truncation to 255 characters in debug/browse info
00158 #   pragma warning (disable : 4786)
00159 
00160 // Turn off warnings generated by long std templates
00161 // This warns about truncation to 255 characters in debug/browse info
00162 #   pragma warning (disable : 4503)
00163 
00164 // disable: "conversion from 'double' to 'float', possible loss of data
00165 #   pragma warning (disable : 4244)
00166 
00167 // disable: "truncation from 'double' to 'float'
00168 #   pragma warning (disable : 4305)
00169 
00170 // disable: "<type> needs to have dll-interface to be used by clients'
00171 // Happens on STL member variables which are not public therefore is ok
00172 #   pragma warning (disable : 4251)
00173 
00174 // disable: "non dll-interface class used as base for dll-interface class"
00175 // Happens when deriving from Singleton because bug in compiler ignores
00176 // template export
00177 #   pragma warning (disable : 4275)
00178 
00179 // disable: "C++ Exception Specification ignored"
00180 // This is because MSVC 6 did not implement all the C++ exception
00181 // specifications in the ANSI C++ draft.
00182 #   pragma warning( disable : 4290 )
00183 
00184 // disable: "no suitable definition provided for explicit template
00185 // instantiation request" Occurs in VC7 for no justifiable reason on all
00186 // #includes of Singleton
00187 #   pragma warning( disable: 4661)
00188 
00189 #endif
00190 
00191 } // namespace MyGUI
00192 
00193 #endif // __MYGUI_PREREQUEST_H__
00194 

Generated on Sun Jan 30 2011 for MyGUI by  doxygen 1.7.1