Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

108 lines
2.5 KiB
C++

#pragma once
#include "Adept.hpp"
namespace Adept
{
class GUIObject;
class GUITextObject;
//##########################################################################
//########################### GUIGroup ################################
//##########################################################################
class GUIGroup:
public Plug
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construction, Destruction
//
public:
GUIGroup(const char *name);
~GUIGroup();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Functions
//
public:
void
AddTextObject(GUITextObject *gui_text_object);
void
AddGUIObject(GUIObject *gui_object);
GUIObject
*FindGUIObject(const char *object_name);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Public Data
//
public:
MString
groupName;
SortedChainOf<GUIObject *, MString>
guiObjects;
ChainOf<GUITextObject *>
guiTextObjects;
};
//####################################################################
//########################### GUIManager ########################
//####################################################################
class GUIManager:
public Plug
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construction, Destruction
//
public:
GUIManager();
~GUIManager();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// GUI Initialization
//
public:
void
ReadObjectsFromNotation(Stuff::NotationFile *gui_contents);
void
SaveObjectsToStream(Stuff::MemoryStream *stream);
void
ReadObjectsFromStream(Stuff::MemoryStream *stream);
void
WriteObjectsFromFileToStream(
Stuff::NotationFile *gui_contents,
Stuff::MemoryStream *stream
);
virtual void
ClearGUIChain();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Cool functions that make this stuff work Data
//
public:
GUIGroup
*FindGroup(const char *group_name);
virtual void
Execute();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Public Data Don't worry...be happy
//
public:
SortedChainOf<GUIObject *, MString>
guiObjects;
SortedChainOf<GUIGroup *, MString>
guiGroups;
static GUIManager*
GetInstance()
{
return reinterpret_cast<GUIManager *>( GlobalPointers::GetGlobalPointer(GUIManagerGlobalPointerIndex));
};
};
}