void CExportImageDialog::HandleExportExtension( int index ) { assert__( index >= 0 && index < CDisplayData::EImageExportType_size ); mOutputFileType = (EImageExportType)index; std::string extension = CDisplayData::ImageType2String( mOutputFileType ); SetFileExtension( mOutputFileName2D, extension ); mOutputPathLineEdit2D->setText( mOutputFileName2D.c_str() ); SetFileExtension( mOutputFileName3D, extension ); mOutputPathLineEdit3D->setText( mOutputFileName3D.c_str() ); }
ERMsg CWeatherUpdate::Execute(const CFileManager& fileManager, CCallback& callback) { ERMsg msg; string filePath; msg = GetFM().WeatherUpdate().GetFilePath(m_fileTitle, filePath); if (msg) { //try to open log string logFilePath(filePath); SetFileExtension(logFilePath, ".log"); callback.PushTask("Call WeatherUpdater...", NOT_INIT); msg = CallApplication(CRegistry::WEATHER_UPDATER, "\"" + filePath + "\" -e -l \"" + logFilePath + (m_bShowApp ? "\" -Show" : "\""), NULL, m_bShowApp ? SW_SHOW : SW_HIDE, false, true); if (msg) { ifStream log; if (log.open(logFilePath)) callback.AddMessage(log.GetText()); } callback.PopTask(); } return msg; }
void CMatchingDlg::UpdatePreview(bool force_update) { int frame_id, state; CImage img; GtkTreeIter iter; GtkTreeModel *model; if (m_SelectMode == REFERENCE_FRAME) { // Reference frame GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_FrameView)); if (gtk_tree_selection_get_selected(sel, &model, &iter)) { gtk_tree_model_get(model, &iter, FCOL_ID, &frame_id, FCOL_STATE, &state, -1); if (force_update || m_FrameID!=frame_id) { cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } m_FrameID = frame_id; if (m_DMFrame == DISPLAY_CHART && (state & CFILE_PHOTOMETRY)) { gchar *pht_file = g_Project->GetPhotFile(frame_id); CPhot pht; if (pht_file && pht.Load(pht_file)) UpdateChart(pht); g_free(pht_file); } else if (state & CFILE_CONVERSION) { gchar *fts_file = g_Project->GetImageFile(frame_id); if (fts_file && img.Load(fts_file)) UpdateImage(img); g_free(fts_file); } else { gchar *src_file = g_Project->GetSourceFile(frame_id); if (src_file && img.Load(src_file)) UpdateImage(img); g_free(src_file); } } } else { if (force_update || m_FrameID>=0) { m_FrameID = -1; cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } } } } else { // Catalog file GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_CatalogView)); if (gtk_tree_selection_get_selected(sel, &model, &iter)) { gchar *fname; gtk_tree_model_get(GTK_TREE_MODEL(m_Catalogs), &iter, CCOL_FILENAME, &fname, -1); gchar *fpath = g_build_filename(gtk_entry_get_text(GTK_ENTRY(m_PathEntry)), fname, NULL); if (force_update || StrCmp0(m_CatFile, fpath)!=0) { g_free(m_CatFile); m_CatFile = g_strdup(fpath); cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } CCatalog cat; if (cat.Load(m_CatFile)) UpdateChart(cat); if (m_DMCatalog == DISPLAY_IMAGE) { gchar *fts_file = SetFileExtension(m_CatFile, FILE_EXTENSION_FITS); if (img.Load(fts_file)) UpdateImage(img); g_free(fts_file); } } g_free(fpath); g_free(fname); } else { if (force_update || m_CatFile) { g_free(m_CatFile); m_CatFile = NULL; g_free(m_SelectionName); m_SelectionName = NULL; cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } } } } }
ERMsg CAppendWeather::Execute(CCallback& callback) { ERMsg msg; string inputFilePath1 = Get(INPUT_FILEPATH_1); string inputFilePath2 = Get(INPUT_FILEPATH_2); string outputFilePath = Get(OUTPUT_FILEPATH); string extention1 = GetFileExtension(inputFilePath1); string extention2 = GetFileExtension(inputFilePath2); if (IsEqualNoCase(extention1, CNormalsDatabase::DATABASE_EXT) && IsEqualNoCase(extention2, CNormalsDatabase::DATABASE_EXT)) { msg.ajoute("It's not possible to append normals stations"); //msg = ExecuteNormal(callback); } else if (IsEqualNoCase(extention1, CDailyDatabase::DATABASE_EXT) && IsEqualNoCase(extention2, CDailyDatabase::DATABASE_EXT)) { SetFileExtension(outputFilePath, CDailyDatabase::DATABASE_EXT); msg = CDailyDatabase().DeleteDatabase(outputFilePath, callback); if (msg) { CDailyDatabase DB; msg = DB.Open(outputFilePath, CDailyDatabase::modeWrite, callback); if (msg) { msg = DB.AppendDatabase(inputFilePath1, inputFilePath2, callback); msg += DB.Close(); if (msg) { msg = DB.Open(outputFilePath, CDailyDatabase::modeRead, callback); if (msg) DB.Close(); } } } } else if (IsEqualNoCase(extention1, CHourlyDatabase::DATABASE_EXT) && IsEqualNoCase(extention2, CHourlyDatabase::DATABASE_EXT)) { SetFileExtension(outputFilePath, CHourlyDatabase::DATABASE_EXT); msg = CHourlyDatabase().DeleteDatabase(outputFilePath, callback); if (msg) { CHourlyDatabase DB; msg = DB.Open(outputFilePath, CHourlyDatabase::modeWrite, callback); if (msg) { msg = DB.AppendDatabase(inputFilePath1, inputFilePath2, callback); msg += DB.Close(); if (msg) { msg = DB.Open(outputFilePath, CHourlyDatabase::modeRead, callback); if (msg) DB.Close(); } } } } else { msg.ajoute("Database must be of the same type"); } return msg; }
void CChartDlg::Execute(const CSelection &sel, int aperIndex) { int res = 0; const gchar *tmp_file; GtkTreePath *refpath; GError *error = NULL; m_Selection = sel; m_Tags = *g_Project->Tags(); cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Chart), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Chart), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } m_Phot.Clear(); m_Catalog.Clear(); m_Image.Clear(); m_RefType = g_Project->GetReferenceType(); switch (m_RefType) { case REF_FRAME: // Load reference frame refpath = g_Project->GetReferencePath(); if (refpath) { gchar *pht_file = g_Project->GetPhotFile(refpath); if (pht_file) { GError *error = NULL; if (m_Phot.Load(pht_file, &error)) { m_Phot.SelectAperture(aperIndex); UpdateChart(); gchar *fts_file = g_Project->GetImageFile(refpath); if (fts_file) { if (m_Image.Load(fts_file, CMPACK_BITPIX_AUTO, &error)) UpdateImage(); g_free(fts_file); } } if (error) { ShowError(m_pParent, error->message); g_error_free(error); res = -1; } g_free(pht_file); } gtk_tree_path_free(refpath); } break; case REF_CATALOG_FILE: // Load catalog file tmp_file = g_Project->GetTempCatFile()->FullPath(); if (m_Catalog.Load(tmp_file, &error)) { UpdateChart(); gchar *fts_file = SetFileExtension(tmp_file, FILE_EXTENSION_FITS); if (fts_file) { if (m_Image.Load(fts_file, CMPACK_BITPIX_AUTO, &error)) UpdateImage(); g_free(fts_file); } } if (error) { ShowError(m_pParent, error->message); g_error_free(error); res = -1; } break; default: ShowError(m_pParent, "No reference file."); res = -1; } if (res==0) { gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowImage), m_DisplayMode==DISPLAY_IMAGE); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowChart), m_DisplayMode==DISPLAY_CHART); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowMixed), m_DisplayMode==DISPLAY_FULL); gtk_widget_set_sensitive(GTK_WIDGET(m_ShowImage), m_Image.Width()>0 && m_Image.Height()>0); gtk_widget_set_sensitive(GTK_WIDGET(m_ShowMixed), m_Image.Width()>0 && m_Image.Height()>0); gtk_dialog_run(GTK_DIALOG(m_pDlg)); } }