reman3/Rayman_X/cpa/tempgrp/Owp/inc/NtwMod.hpp

180 lines
4.0 KiB
C++

//ROMTEAM Networks (Gabriela Dumitrascu 15/03/98)
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : NtwMod.hpp
//
// Modification classes
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from CPA_Modif
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 98-03-15 Author: CPA2 Gabriela Dumitrascu
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __NTWMOD_HPP__
#define __NTWMOD_HPP__
#include "NtwObj.hpp"
#define GRAPH_INSERT_GRAPH 0
#define GRAPH_DELETE_GRAPH 1
#define GRAPH_INSERT_NODE 2
#define GRAPH_DELETE_NODE 3
#define GRAPH_INSERT_ARC 4
#define GRAPH_DELETE_ARC 5
#define GRAPH_RENAME_GRAPH 6
class ModifGraph : public CPA_Modif
{
protected:
Graph *m_poGraph;
WP_tdHandleOfGraph m_hOldGraph, m_hNewGraph;
public :
ModifGraph(Graph *poGraph, unsigned short type);
void ModifSave();
BOOL Do (void);
BOOL Undo (void);
};
// Shaitan Correction {
//===========================================================================
class DeleteGraph : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
// flags
BOOL m_bDeleted;
BOOL m_bFirstTime;
public:
DeleteGraph (Graph *pGraph);
~DeleteGraph (void);
BOOL Do (void);
BOOL Undo (void);
};
//===========================================================================
class RenameGraph : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
CString m_csOldName;
CString m_csNewName;
// flags
BOOL m_bFirstTime;
public:
RenameGraph (Graph *pGraph, CString csNewName);
~RenameGraph (void);
BOOL Do (void);
BOOL Undo (void);
};
//===========================================================================
class InsertNode : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
WayPoint *m_pNode;
// flags
BOOL m_bInserted;
BOOL m_bFirstTime;
public:
InsertNode (Graph *pGraph, WayPoint *pNode, BOOL pBlock);
~InsertNode (void);
BOOL Do (void);
BOOL Undo (void);
};
//===========================================================================
class DeleteNode : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
WayPoint *m_pNode;
// connections
CPA_List<CPA_SuperObject> m_lstConnections;
// flags
BOOL m_bDeleted;
BOOL m_bFirstTime;
public:
DeleteNode (Graph *pGraph, WayPoint *pNode, BOOL pBlock);
~DeleteNode (void);
BOOL Do (void);
BOOL Undo (void);
};
//===========================================================================
class InsertConnection : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
WayPoint *m_pSrcWaypoint;
WayPoint *m_pDstWaypoint;
CPA_SuperObject *m_pArrow;
// engine parameters
WP_tdhGraphNode m_hSrcNode;
WP_tdhGraphNode m_hDstNode;
// flags
BOOL m_bInserted;
BOOL m_bUpdate;
BOOL m_bFirstTime;
public:
InsertConnection (Graph *pGraph, WayPoint *pSrcWaypoint, WayPoint *pDstWaypoint, BOOL bUpdate, BOOL pBlock);
~InsertConnection (void);
BOOL Do (void);
BOOL Undo (void);
};
//===========================================================================
class DeleteConnection : public CPA_Modif
{
private:
// editor parameters
Graph *m_pGraph;
WayPoint *m_pSrcWaypoint;
WayPoint *m_pDstWaypoint;
CPA_SuperObject *m_pArrow;
// engine parameters
WP_tdhGraphNode m_hSrcNode;
WP_tdhGraphNode m_hDstNode;
// flags
BOOL m_bDeleted;
BOOL m_bFirstTime;
public:
DeleteConnection (Graph *pGraph, WayPoint *pSrcWaypoint, WayPoint *pDstWaypoint, BOOL pBlock);
~DeleteConnection (void);
BOOL Do (void);
BOOL Undo (void);
};
//End Shaitan Correction }
#endif
//ENDROMTEAM Networks (Gabriela Dumitrascu)