//--------------------------------------------------------- bool CWKSP_Module_Manager::Finalise(void) { CONFIG_Write("/MODULES", &m_Parameters); CONFIG_Delete(CFG_LIBS); for(int i=0, n=0; i<Get_Count(); i++) { CWKSP_Module_Group *pGroup = Get_Group(i); for(int j=0; j<pGroup->Get_Count(); j++) { CSG_Module_Library *pLibrary = pGroup->Get_Library(j)->Get_Library(); if( pLibrary->Get_Type() == MODULE_CHAINS ) { for(int j=0; j<pLibrary->Get_Count(); j++) { CONFIG_Write(CFG_LIBS, wxString::Format(CFG_LIBF, n++), GET_LIBPATH(pLibrary->Get_File_Name(j))); } } else { CONFIG_Write(CFG_LIBS, wxString::Format(CFG_LIBF, n++), GET_LIBPATH(pLibrary->Get_File_Name())); } } } return( true ); }
//--------------------------------------------------------- void CSAGA_Frame::Show_Tips(bool bShow) { bool bTip; long iTip; #ifdef SHARE_PATH wxFileName fTip(wxT(SHARE_PATH), wxT("saga_tip.txt")); #else wxFileName fTip(g_pSAGA->Get_App_Path(), wxT("saga_gui"), wxT("tip")); #endif wxTipProvider *pTip; bTip = CONFIG_Read(wxT("/TIPS"), wxT("ATSTART"), bTip) ? bTip : true; if( bShow || (bTip && fTip.FileExists()) ) { iTip = CONFIG_Read(wxT("/TIPS"), wxT("CURRENT"), iTip) ? iTip : 0; pTip = wxCreateFileTipProvider(fTip.GetFullPath(), iTip); bTip = wxShowTip(this, pTip, bTip); iTip = pTip->GetCurrentTip(); CONFIG_Write(wxT("/TIPS"), wxT("ATSTART"), bTip); CONFIG_Write(wxT("/TIPS"), wxT("CURRENT"), iTip); delete(pTip); } }
//--------------------------------------------------------- CWKSP::~CWKSP(void) { CONFIG_Write("/DATA", "TAB", (long)GetSelection()); CONFIG_Write("/DATA/BUTTONS", "TAB", (long)((wxNotebook *)m_pData->GetParent())->GetSelection()); CONFIG_Write("/MAPS/BUTTONS", "TAB", (long)((wxNotebook *)m_pMaps->GetParent())->GetSelection()); g_pWKSP = NULL; }
//--------------------------------------------------------- void CWKSP_Module_Manager::_Config_Write(void) { CONFIG_Write(wxT("/MODULES") , wxT("BEEP") , m_Parameters("BEEP") ->asBool()); CONFIG_Write(wxT("/MODULES") , wxT("START_LOGO") , (long)m_Parameters("START_LOGO") ->asInt()); CONFIG_Write(wxT("/MODULES") , wxT("PROC_FREQ") , (long)m_Parameters("PROC_FREQ") ->asInt()); CONFIG_Delete(CFG_LIBS); for(int i=0; i<Get_Count(); i++) { CONFIG_Write(CFG_LIBS, wxString::Format(CFG_LIBF, i), Get_Library(i)->Get_File_Name()); } }
//--------------------------------------------------------- bool DLG_Open(wxArrayString &File_Paths, const wxString &Caption, const wxString &def_Dir, const wxString &Filter) { wxString Dir(def_Dir); if( !wxDirExists(def_Dir) ) { CONFIG_Read(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), Dir); } wxFileDialog dlg(MDI_Get_Top_Window(), Caption, Dir, wxT(""), Filter, wxFD_OPEN|wxFD_FILE_MUST_EXIST|wxFD_MULTIPLE); if( dlg.ShowModal() == wxID_OK ) { dlg.GetPaths(File_Paths); if( File_Paths.GetCount() > 0 ) { if( !wxDirExists(def_Dir) ) { CONFIG_Write(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), SG_File_Get_Path(File_Paths[0]).w_str()); } return( true ); } } return( false ); }
//--------------------------------------------------------- bool DLG_Open(wxString &File_Path, const wxString &Caption, const wxString &def_Dir, const wxString &def_File, const wxString &Filter) { wxString Dir(def_Dir); if( !wxDirExists(def_Dir) ) { CONFIG_Read(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), Dir); } wxFileDialog dlg(MDI_Get_Top_Window(), Caption, Dir, def_File, Filter, wxFD_OPEN|wxFD_FILE_MUST_EXIST); if( dlg.ShowModal() == wxID_OK ) { File_Path = dlg.GetPath(); if( !wxDirExists(def_Dir) ) { CONFIG_Write(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), SG_File_Get_Path(File_Path).w_str()); } return( true ); } return( false ); }
//--------------------------------------------------------- bool DLG_Image_Save(wxString &File_Path, int &Type, const wxString &def_Dir, const wxString &def_File) { static int Filter_Index = 3; wxString Dir(def_Dir); if( !wxDirExists(def_Dir) ) { CONFIG_Read(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), Dir); } wxFileDialog dlg( MDI_Get_Top_Window(), _TL("Save As Image"), Dir, def_File, wxString::Format( "%s (*.bmp)|*.bmp|" "%s (*.jpg)|*.jpg;*.jif;*.jpeg|" "%s (*.tif)|*.tif;*.tiff|" "%s (*.png)|*.png|" "%s (*.gif)|*.gif|" "%s (*.pcx)|*.pcx", _TL("Windows or OS/2 Bitmap"), _TL("JPEG - JFIF Compliant"), _TL("Tagged Image File Format"), _TL("Portable Network Graphics"), _TL("CompuServe Graphics Interchange"), _TL("Zsoft Paintbrush") ), wxFD_SAVE|wxFD_OVERWRITE_PROMPT ); dlg.SetFilterIndex(Filter_Index); if( dlg.ShowModal() == wxID_OK ) { File_Path = dlg.GetPath(); Filter_Index = dlg.GetFilterIndex(); switch( Filter_Index ) { default: Type = wxBITMAP_TYPE_BMP ; break; case 1: Type = wxBITMAP_TYPE_JPEG; break; case 2: Type = wxBITMAP_TYPE_TIF ; break; case 3: Type = wxBITMAP_TYPE_PNG ; break; case 4: Type = wxBITMAP_TYPE_GIF ; break; case 5: Type = wxBITMAP_TYPE_PCX ; break; case 6: Type = wxBITMAP_TYPE_PNM ; break; } if( !wxDirExists(def_Dir) ) { CONFIG_Write(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(-1), SG_File_Get_Path(File_Path).w_str()); } return( true ); } return( false ); }
bool DLG_Open(wxArrayString &File_Paths, int ID_DLG) { wxString def_Dir; CONFIG_Read(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(ID_DLG), def_Dir); if( DLG_Open(File_Paths, DLG_Get_FILE_Caption(ID_DLG), def_Dir, DLG_Get_FILE_Filter(ID_DLG)) ) { CONFIG_Write(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(ID_DLG), SG_File_Get_Path(File_Paths[0]).w_str()); return( true ); } return( false ); }
//--------------------------------------------------------- void CWKSP_Data_Menu_File::Destroy(void) { if( m_Recent ) { for(int i=0; i<m_Recent_Count; i++) { CONFIG_Write(wxString::Format(wxT("RECENT_FILES/%s"), m_Recent_Group.c_str()), wxString::Format(wxT("FILE_%02d"), i + 1), m_Recent[i]); } delete[](m_Recent); } m_Recent = NULL; m_DataType = DATAOBJECT_TYPE_Undefined; }
//--------------------------------------------------------- CSAGA_Frame::~CSAGA_Frame(void) { //----------------------------------------------------- if( IsIconized() ) { Iconize(false); } if( IsMaximized() ) { CONFIG_Write(wxT("/FL"), wxT("STATE"), (long)1); } else { CONFIG_Write(wxT("/FL"), wxT("STATE"), (long)0); CONFIG_Write(wxT("/FL"), wxT("X" ), (long)GetPosition().x); CONFIG_Write(wxT("/FL"), wxT("Y" ), (long)GetPosition().y); CONFIG_Write(wxT("/FL"), wxT("DX" ), (long)GetSize().x); CONFIG_Write(wxT("/FL"), wxT("DY" ), (long)GetSize().y); } //----------------------------------------------------- CONFIG_Write(wxT("/FL"), wxT("MANAGER"), m_pLayout->SavePerspective()); m_pLayout->UnInit(); delete(m_pLayout); //----------------------------------------------------- delete(m_pMN_Table); delete(m_pMN_Diagram); delete(m_pMN_Map); delete(m_pMN_Map_3D); delete(m_pMN_Histogram); delete(m_pMN_ScatterPlot); delete(m_pMN_Layout); //----------------------------------------------------- if( m_pTopWindows ) { delete(m_pTopWindows); } SG_Set_UI_Callback(NULL); g_pSAGA_Frame = NULL; }
//--------------------------------------------------------- void CWKSP_Module_Manager::Parameters_Changed(void) { CWKSP_Base_Item::Parameters_Changed(); if( m_Parameters("SAVE_CONFIG")->asBool() == false ) { CONFIG_Write("/MODULES", &m_Parameters); } CONFIG_Do_Save(m_Parameters("SAVE_CONFIG")->asBool()); g_pSAGA->Process_Set_Frequency(m_Parameters("PROCESS_UPDATE")->asInt()); #ifdef _OPENMP SG_OMP_Set_Max_Num_Threads(m_Parameters("OMP_THREADS_MAX")->asInt()); #endif m_pMenu_Modules->Update(); }
bool DLG_Save(wxString &File_Path, int ID_DLG) { wxString def_Dir, def_Name; def_Name = SG_File_Get_Name(File_Path, true).w_str(); def_Dir = SG_File_Get_Path(File_Path).w_str(); if( !wxDirExists(def_Dir) ) { CONFIG_Read(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(ID_DLG), def_Dir); } if( DLG_Save(File_Path, DLG_Get_FILE_Caption(ID_DLG), def_Dir, def_Name, DLG_Get_FILE_Filter(ID_DLG)) ) { CONFIG_Write(CONFIG_GROUP_FILE_DLG, DLG_Get_FILE_Config(ID_DLG), SG_File_Get_Path(File_Path).w_str()); return( true ); } return( false ); }
//--------------------------------------------------------- CData_Source_PgSQL::~CData_Source_PgSQL(void) { long Reopen = 0; CONFIG_Read("/DATA", "PROJECT_DB_REOPEN", Reopen); CONFIG_Delete(CFG_PGSQL_DIR); wxTreeItemIdValue srvCookie; wxTreeItemId srvItem = GetFirstChild(GetRootItem(), srvCookie); for(int i=0; srvItem.IsOk(); ) { wxTreeItemIdValue Cookie; wxTreeItemId Item = GetFirstChild(srvItem, Cookie); while( Item.IsOk() ) { CData_Source_PgSQL_Data *pData = (CData_Source_PgSQL_Data *)GetItemData(Item); if( pData && pData->Get_Type() == TYPE_SOURCE ) { CSG_String Connection = pData->Get_Server().c_str(); if( Reopen != 0 && pData->is_Connected() && !pData->Get_Username().is_Empty() ) // store user and password { Connection += "|" + pData->Get_Username() + "|" + pData->Get_Password(); } CONFIG_Write(CFG_PGSQL_DIR, wxString::Format(CFG_PGSQL_SRC, i++), Connection.c_str()); } Item = GetNextChild(Item, Cookie); } srvItem = GetNextChild(srvItem, srvCookie); } }
//--------------------------------------------------------- CWKSP_Map_Manager::~CWKSP_Map_Manager(void) { CONFIG_Write("/MAPS", &m_Parameters); g_pMaps = NULL; }