📄 wksp_data_manager.cpp
字号:
return( NULL );
}
//---------------------------------------------------------
void CWKSP_Data_Manager::Del_Manager(CWKSP_Base_Item *pItem)
{
if( pItem == m_pGrids )
{
m_pGrids = NULL;
}
else if( pItem == m_pTables )
{
m_pTables = NULL;
}
else if( pItem == m_pShapes )
{
m_pShapes = NULL;
}
else if( pItem == m_pTINs )
{
m_pTINs = NULL;
}
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::_Get_Manager(int DataType)
{
switch( DataType )
{
default:
return( false );
case DATAOBJECT_TYPE_Grid:
if( !m_pGrids )
{
Add_Item(m_pGrids = new CWKSP_Grid_Manager);
}
return( m_pGrids != NULL );
case DATAOBJECT_TYPE_Table:
if( !m_pTables )
{
Add_Item(m_pTables = new CWKSP_Table_Manager);
}
return( m_pTables != NULL );
case DATAOBJECT_TYPE_Shapes:
if( !m_pShapes )
{
Add_Item(m_pShapes = new CWKSP_Shapes_Manager);
}
return( m_pShapes != NULL );
case DATAOBJECT_TYPE_TIN:
if( !m_pTINs )
{
Add_Item(m_pTINs = new CWKSP_TIN_Manager);
}
return( m_pTINs != NULL );
}
}
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
bool CWKSP_Data_Manager::Update(CSG_Data_Object *pObject, CSG_Parameters *pParameters)
{
if( pObject )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids && m_pGrids ->Update((CSG_Grid *)pObject, pParameters) );
case DATAOBJECT_TYPE_Table:
return( m_pTables && m_pTables->Update((CSG_Table *)pObject, pParameters) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes && m_pShapes->Update((CSG_Shapes *)pObject, pParameters) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs && m_pTINs ->Update((CSG_TIN *)pObject, pParameters) );
default:
break;
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::Update_Views(CSG_Data_Object *pObject)
{
if( pObject )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids && m_pGrids ->Update_Views((CSG_Grid *)pObject) );
case DATAOBJECT_TYPE_Table:
return( m_pTables && m_pTables->Update_Views((CSG_Table *)pObject) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes && m_pShapes->Update_Views((CSG_Shapes *)pObject) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs && m_pTINs ->Update_Views((CSG_TIN *)pObject) );
default:
break;
}
}
return( false );
}
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
bool CWKSP_Data_Manager::Show(CSG_Data_Object *pObject)
{
if( pObject )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids && m_pGrids ->Show((CSG_Grid *)pObject) );
case DATAOBJECT_TYPE_Table:
return( m_pTables && m_pTables->Show((CSG_Table *)pObject) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes && m_pShapes->Show((CSG_Shapes *)pObject) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs && m_pTINs ->Show((CSG_TIN *)pObject) );
default:
break;
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::asImage(CSG_Data_Object *pObject, CSG_Grid *pImage)
{
if( pObject )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids && m_pGrids ->asImage((CSG_Grid *)pObject, pImage) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes && m_pShapes->asImage((CSG_Shapes *)pObject, pImage) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs && m_pTINs ->asImage((CSG_TIN *)pObject, pImage) );
default:
break;
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::Get_Colors(CSG_Data_Object *pObject, CSG_Colors *pColors)
{
if( pObject && pColors )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids ->Get_Colors((CSG_Grid *)pObject, pColors) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes->Get_Colors((CSG_Shapes *)pObject, pColors) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs ->Get_Colors((CSG_TIN *)pObject, pColors) );
default:
break;
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::Set_Colors(CSG_Data_Object *pObject, CSG_Colors *pColors)
{
if( pObject && pColors )
{
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
return( m_pGrids ->Set_Colors((CSG_Grid *)pObject, pColors) );
case DATAOBJECT_TYPE_Shapes:
return( m_pShapes->Set_Colors((CSG_Shapes *)pObject, pColors) );
case DATAOBJECT_TYPE_TIN:
return( m_pTINs ->Set_Colors((CSG_TIN *)pObject, pColors) );
default:
break;
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::Get_Parameters(CSG_Data_Object *pObject, CSG_Parameters *pParameters)
{
if( pObject && pParameters )
{
CWKSP_Base_Item *pItem;
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
pItem = (CWKSP_Base_Item *)m_pGrids ->Get_Grid ((CSG_Grid *)pObject);
break;
case DATAOBJECT_TYPE_Shapes:
pItem = (CWKSP_Base_Item *)m_pShapes->Get_Shapes((CSG_Shapes *)pObject);
break;
case DATAOBJECT_TYPE_TIN:
pItem = (CWKSP_Base_Item *)m_pTINs ->Get_TIN ((CSG_TIN *)pObject);
break;
case DATAOBJECT_TYPE_Table:
pItem = (CWKSP_Base_Item *)m_pTables->Get_Table ((CSG_Table *)pObject);
break;
default:
pItem = NULL;
break;
}
if( pItem && pItem->Get_Parameters() )
{
return( pParameters->Assign(pItem->Get_Parameters()) != 0 );
}
}
return( false );
}
//---------------------------------------------------------
bool CWKSP_Data_Manager::Set_Parameters(CSG_Data_Object *pObject, CSG_Parameters *pParameters)
{
if( pObject && pParameters )
{
CWKSP_Base_Item *pItem;
switch( pObject->Get_ObjectType() )
{
case DATAOBJECT_TYPE_Grid:
pItem = (CWKSP_Base_Item *)m_pGrids ->Get_Grid ((CSG_Grid *)pObject);
break;
case DATAOBJECT_TYPE_Shapes:
pItem = (CWKSP_Base_Item *)m_pShapes->Get_Shapes((CSG_Shapes *)pObject);
break;
case DATAOBJECT_TYPE_TIN:
pItem = (CWKSP_Base_Item *)m_pTINs ->Get_TIN ((CSG_TIN *)pObject);
break;
case DATAOBJECT_TYPE_Table:
pItem = (CWKSP_Base_Item *)m_pTables->Get_Table ((CSG_Table *)pObject);
break;
default:
pItem = NULL;
break;
}
if( pItem && pItem->Get_Parameters() )
{
if( pItem->Get_Parameters()->Assign_Values(pParameters) != 0 )
{
pItem->Parameters_Changed();
}
}
}
return( false );
}
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
#include "wksp_grid_system.h"
#include "wksp_grid.h"
#include "wksp_shapes_type.h"
#include "wksp_shapes.h"
#include "wksp_table.h"
//---------------------------------------------------------
bool CWKSP_Data_Manager::Get_DataObject_List(CSG_Parameters *pParameters)
{
if( pParameters )
{
int i, j;
CSG_String s;
CWKSP_Shapes_Type *pShapes;
pParameters->Destroy();
for(i=0; i<Get_Grids()->Get_Count(); i++)
{
for(j=0; j<Get_Grids()->Get_System(i)->Get_Count(); j++)
{
s.Printf(wxT("GRID_%03_%03"), i, j);
pParameters->Add_Grid(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(Get_Grids()->Get_System(i)->Get_Grid(j)->Get_Grid());
}
}
if( (pShapes = Get_Shapes()->Get_Shapes_Type(SHAPE_TYPE_Point)) != NULL )
{
for(i=0; i<pShapes->Get_Count(); i++)
{
s.Printf(wxT("POINT_%03"), i);
pParameters->Add_Shapes(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(pShapes->Get_Shapes(i)->Get_Shapes());
}
}
if( (pShapes = Get_Shapes()->Get_Shapes_Type(SHAPE_TYPE_Points)) != NULL )
{
for(i=0; i<pShapes->Get_Count(); i++)
{
s.Printf(wxT("POINTS_%03"), i);
pParameters->Add_Shapes(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(pShapes->Get_Shapes(i)->Get_Shapes());
}
}
if( (pShapes = Get_Shapes()->Get_Shapes_Type(SHAPE_TYPE_Line)) != NULL )
{
for(i=0; i<pShapes->Get_Count(); i++)
{
s.Printf(wxT("LINE_%03"), i);
pParameters->Add_Shapes(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(pShapes->Get_Shapes(i)->Get_Shapes());
}
}
if( (pShapes = Get_Shapes()->Get_Shapes_Type(SHAPE_TYPE_Polygon)) != NULL )
{
for(i=0; i<pShapes->Get_Count(); i++)
{
s.Printf(wxT("POLYGON_%03"), i);
pParameters->Add_Shapes(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(pShapes->Get_Shapes(i)->Get_Shapes());
}
}
for(i=0; i<Get_Tables()->Get_Count(); i++)
{
s.Printf(wxT("TABLE_%03"), i);
pParameters->Add_Table(NULL, s, s, LNG(""), PARAMETER_INPUT)
->Set_Value(Get_Tables()->Get_Table(i)->Get_Table());
}
return( true );
}
return( false );
}
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -