GUIAsset.h

Engine/source/T3D/assets/GUIAsset.h

More...

Classes:

Public Defines

define

Public Functions

DefineConsoleType(TypeGUIAssetPtr , GUIAsset )

Detailed Description

Public Defines

GUI_ASSET_H() 

Public Functions

DefineConsoleType(TypeGUIAssetPtr , GUIAsset )

  1
  2#pragma once
  3//-----------------------------------------------------------------------------
  4// Copyright (c) 2013 GarageGames, LLC
  5//
  6// Permission is hereby granted, free of charge, to any person obtaining a copy
  7// of this software and associated documentation files (the "Software"), to
  8// deal in the Software without restriction, including without limitation the
  9// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10// sell copies of the Software, and to permit persons to whom the Software is
 11// furnished to do so, subject to the following conditions:
 12//
 13// The above copyright notice and this permission notice shall be included in
 14// all copies or substantial portions of the Software.
 15//
 16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 17// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 18// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 19// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 20// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 22// IN THE SOFTWARE.
 23//-----------------------------------------------------------------------------
 24#ifndef GUI_ASSET_H
 25#define GUI_ASSET_H
 26
 27#ifndef _ASSET_BASE_H_
 28#include "assets/assetBase.h"
 29#endif
 30
 31#ifndef _ASSET_DEFINITION_H_
 32#include "assets/assetDefinition.h"
 33#endif
 34
 35#ifndef _STRINGUNIT_H_
 36#include "string/stringUnit.h"
 37#endif
 38
 39#ifndef _ASSET_FIELD_TYPES_H_
 40#include "assets/assetFieldTypes.h"
 41#endif
 42
 43#include "gui/editor/guiInspectorTypes.h"
 44
 45//-----------------------------------------------------------------------------
 46class GUIAsset : public AssetBase
 47{
 48   typedef AssetBase Parent;
 49
 50   StringTableEntry mScriptFile;
 51   StringTableEntry mGUIFile;
 52
 53   StringTableEntry mScriptPath;
 54   StringTableEntry mGUIPath;
 55
 56public:
 57   GUIAsset();
 58   virtual ~GUIAsset();
 59
 60   /// Engine.
 61   static void initPersistFields();
 62   virtual void copyTo(SimObject* object);
 63
 64   /// Declare Console Object.
 65   DECLARE_CONOBJECT(GUIAsset);
 66
 67   void                    setGUIFile(const char* pScriptFile);
 68   inline StringTableEntry getGUIFile(void) const { return mGUIFile; };
 69   void                    setScriptFile(const char* pScriptFile);
 70   inline StringTableEntry getScriptFile(void) const { return mScriptFile; };
 71
 72   inline StringTableEntry getGUIPath(void) const { return mGUIPath; };
 73   inline StringTableEntry getScriptPath(void) const { return mScriptPath; };
 74
 75protected:
 76   virtual void            initializeAsset(void);
 77   virtual void            onAssetRefresh(void);
 78
 79   static bool setGUIFile(void *obj, const char *index, const char *data) { static_cast<GUIAsset*>(obj)->setGUIFile(data); return false; }
 80   static const char* getGUIFile(void* obj, const char* data) { return static_cast<GUIAsset*>(obj)->getGUIFile(); }
 81   static bool setScriptFile(void *obj, const char *index, const char *data) { static_cast<GUIAsset*>(obj)->setScriptFile(data); return false; }
 82   static const char* getScriptFile(void* obj, const char* data) { return static_cast<GUIAsset*>(obj)->getScriptFile(); }
 83};
 84
 85DefineConsoleType(TypeGUIAssetPtr, GUIAsset)
 86
 87
 88//-----------------------------------------------------------------------------
 89// TypeAssetId GuiInspectorField Class
 90//-----------------------------------------------------------------------------
 91class GuiInspectorTypeGUIAssetPtr : public GuiInspectorTypeFileName
 92{
 93   typedef GuiInspectorTypeFileName Parent;
 94public:
 95
 96   GuiBitmapButtonCtrl  *mSMEdButton;
 97
 98   DECLARE_CONOBJECT(GuiInspectorTypeGUIAssetPtr);
 99   static void consoleInit();
100
101   virtual GuiControl* constructEditControl();
102   virtual bool updateRects();
103};
104
105#endif // _ASSET_BASE_H_
106
107