⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 importwiz.c

📁 图像处理的压缩算法
💻 C
📖 第 1 页 / 共 5 页
字号:
			pgTarget.Info.System.Import.Filter$ = s_strFilterFileSaved;
		/// end USE_SAME_FILTER_FOR_MULTI_FILES_ON_FILEOPEN_AND_DRAGDROP
		
		if( s_iActivePageType == EXIST_PLOT )
			IW_PlotToActiveGraph(pgTarget, nFile); // Argument is 0 based index of file number until multiple files is implemented
	}

	/// EJP 09-16-2003 v7.5696 QA70-4575 UPDATE_PLOT_LEGEND
	if( s_iActivePageType == EXIST_PLOT )
		pgActive.LT_execute("Label -p 75 5 -B 0; Legend -s;");
	/// end UPDATE_PLOT_LEGEND

	if( IS_DATAFROM_CLIPBOARD )
		DeleteFile(s_strDataFile); // delete temporary file

	return TRUE;
}

static BOOL OnClickCancel()
{
	DISABLE_CLICKED_FINISH;
	
	if( !s_strWks.IsEmpty() )
	{
#ifndef IW_DEBUG
		Worksheet wks(s_strWks);
		wks.Destroy();
#endif // !IW_DEBUG
		s_strWks.Empty();
	}

	if( IS_DATAFROM_CLIPBOARD )
		DeleteFile(s_strDataFile); // delete temporary file

	return TRUE;
}

static BOOL OnDestroyDialog()
{
	return TRUE;
}

static BOOL OnWksCtrlChangeColTypeOrDesignation(DWORD iCtrlID, LONG iColIndex)
{
	int iPageID;
	if( IDC_COL_WKS_PREVIEW == iCtrlID )
		iPageID = IDD_AIW_COLUMNS;
	else if( IDC_RANGE_PREVIEW == iCtrlID )
		iPageID = IDD_IW_RANGE;
	else
	/// JCG 06/11/03 QA70-4575 v7.0600 FIX_ITEM32 
	///	return FALSE; // unknown wks ctrl
	if( IDC_BIW_DATAPATERN_PREVIEW_LC == iCtrlID )
		iPageID = IDD_BIW_DATAPATERN;	
	else
	{
		ASSERT(FALSE);
		return FALSE;
	}
	/// end FIX_ITEM32 
	
	
	Worksheet wks(s_strWks);
	if( !wks )
		return FALSE;

	fuSetDesignations(s_trFilter, wks.GetColDesignations());
	fuSetFormats(s_trFilter, wks.GetColFormats());
	/// EJP 08-19-2003 v7.5667 REIMPORT_AFTER_USER_CHANGE_COL_FORMAT
	///UpdateWksCtrl(iPageID); // do not re-import, just update wks ctrl
	UpdatePreview(iPageID);
	/// end REIMPORT_AFTER_USER_CHANGE_COL_FORMAT
	return TRUE;
}

//--------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//		Data Source Page
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//--------------------------------------------------------------------------

static BOOL Source_OnInit()
{
	LPCSTR lpcszDataFile;

	Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
	Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
	if( IS_DATAFROM_CLIPBOARD )
	{
		pgSource.CheckRadioButton(IDC_SOURCE_FILE, IDC_SOURCE_CLIPBOARD, IDC_SOURCE_CLIPBOARD);
		editFileName.Text = "";
		lpcszDataFile = NULL;
	}
	else
	{
		pgSource.CheckRadioButton(IDC_SOURCE_FILE, IDC_SOURCE_CLIPBOARD, IDC_SOURCE_FILE);
		editFileName.Text = s_strDataFile;
		lpcszDataFile = s_strDataFile;
	}

	ComboBox cbWksTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE, IDD_IW_SOURCE);
	InitComboBoxWithTemplateNames(cbWksTemplate, EXIST_WKS);

	///ComboBox cbMatrixTemplate = ImportWizDlg.GetItem(IDC_TARGET_MATRIX_TEMPLATE, IDD_IW_SOURCE);
	///InitComboBoxWithTemplateNames(cbMatrixTemplate, EXIST_MATRIX);

	Source_UpdateFilter(FALSE);
	Source_EnableDataSourceCtrls();
	Source_EnableTargetWindowCtrls();
	Source_UpdateButtons();

	Button chkCompatibleFilters = ImportWizDlg.GetItem(IDC_DISPLAY_ONLY_COMPATIBLE_CHK, IDD_IW_SOURCE);
	chkCompatibleFilters.Check = 1;

	Source_UpdateFilterComboBox();
	Source_LoadCurSelFilter();

	return TRUE;
}

static BOOL Source_OnActive()
{
	Source_UpdateButtons();
	return TRUE;
}

static BOOL Source_OnKillActive()
{
	Source_UpdateFilter();

	/// EJP 08-15-2003 v7.5661 QA70-4073.58 CLEAN_IMPORT_FROM_CLIPBOARD
	/*
	if( IS_DATAFROM_CLIPBOARD )
	{
		// Copy clipboard text into local string
		string strClipboardText;
		GetClipboardText(strClipboardText);

		// Get a temporary file name
		AIW_GetTempFileName(s_strDataFile);
		
		// Write clipboard text to temporary file
		stdioFile filTemp(s_strDataFile, file::modeCreate | file::modeWrite | file::shareExclusive | file::typeText );
		filTemp.WriteString(strClipboardText);
		filTemp.Close();
	}
	else // Data is from a file
	{
		Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
		s_strDataFile = editFileName.Text;
	}
	*/
	/// end CLEAN_IMPORT_FROM_CLIPBOARD

	////////////////////////////////////////////////////////////////////////
	// Create a worksheet
	////////////////////////////////////////////////////////////////////////
	Worksheet wks;
	if( !s_strWks.IsEmpty() )
	{
		// If we already created a wks then delete it
		wks.Attach(s_strWks);
		wks.Destroy();
		s_strWks.Empty();
	}

#ifdef IW_DEBUG
	int nOption = CREATE_VISIBLE;
#else // !IW_DEBUG
	int nOption = CREATE_HIDDEN;
#endif // !IW_DEBUG
	ComboBox comboTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE);

	if( comboTemplate.GetCurSel() == 0 )
		wks.Create(NULL, nOption);
	else
	{
		string strTemplate = comboTemplate.Text + ".otw";
		wks.Create(strTemplate, nOption);
	}

	wks.GetPage().GetName(s_strWks);
	
	BOOL bFilterRepetitive = fuGetRepetitive(s_trFilter);
	wks.SetColDesignations(fuGetDesignations(s_trFilter), bFilterRepetitive);
	wks.SetColFormats(fuGetFormats(s_trFilter), bFilterRepetitive);

	if( EXIST_PLOT == s_iActivePageType )
	{
		s_vPlottingLayers.SetSize(0);
		for( int i = 0; i < s_saDataFiles.GetSize(); i++ )
			s_vPlottingLayers.Add(0); // 0=first layer
	}	

	return TRUE;
}

///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////// Data Type functions
///////////////////////////////////////////////////////////

static BOOL Source_OnClickDataType(Control Cntrl)
{
	Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
	int iType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF) - IDC_DATATYPE_ASCII;
	
	s_trFilter.Type.nVal = iType;

	Source_EnableDataSourceCtrls();
	Source_EnableTargetWindowCtrls();
	Source_UpdateFilterComboBox();
	Source_LoadCurSelFilter();
	Source_UpdateTargetWindowTemplateList();
	Source_UpdateButtons();
	return TRUE;
}

///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////// Data Source functions
///////////////////////////////////////////////////////////

static BOOL Source_OnClickDataFrom(Control ctrl)
{
	/// EJP 08-15-2003 v7.5661 QA70-4073.58 CLEAN_IMPORT_FROM_CLIPBOARD
	if( IS_DATAFROM_CLIPBOARD )
		DeleteFile(s_strDataFile); // delete temporary file
	/// end CLEAN_IMPORT_FROM_CLIPBOARD

	Button radioClipboard = ImportWizDlg.GetItem(IDC_SOURCE_CLIPBOARD, IDD_IW_SOURCE);
	if( radioClipboard.Check )
	{
		SET_DATAFROM_CLIPBOARD;

		/// EJP 08-15-2003 v7.5661 QA70-4073.58 CLEAN_IMPORT_FROM_CLIPBOARD
		// Copy clipboard text into local string
		string strClipboardText;
		GetClipboardText(strClipboardText);

		// Get a temporary file name
		AIW_GetTempFileName(s_strDataFile);
		
		// Write clipboard text to temporary file
		stdioFile filTemp(s_strDataFile, file::modeCreate | file::modeWrite | file::shareExclusive | file::typeText );
		filTemp.WriteString(strClipboardText);
		filTemp.Close();
		/// end CLEAN_IMPORT_FROM_CLIPBOARD
	}
	else
	{
		SET_DATAFROM_FILE;

		/// EJP 08-15-2003 v7.5661 QA70-4073.58 CLEAN_IMPORT_FROM_CLIPBOARD
		Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
		s_strDataFile = editFileName.Text;
		/// end CLEAN_IMPORT_FROM_CLIPBOARD
	}

	Source_EnableFileCtrls(IS_DATAFROM_FILE);
	Source_UpdateFilterComboBox();
	Source_LoadCurSelFilter();
	Source_UpdateButtons();
	return TRUE;
}

static void Source_EnableFileCtrls(BOOL bEnable=true)
{
	Edit ebFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
	ebFileName.Enable = bEnable;

	Button btnBrowse = ImportWizDlg.GetItem(IDC_SOURCE_BROWSE, IDD_IW_SOURCE);
	btnBrowse.Enable = bEnable;

	Button chkRenameWks = ImportWizDlg.GetItem(IDC_IW_SOURCE_RENAMEWKS, IDD_IW_SOURCE);
	chkRenameWks.Enable = bEnable;
	
	Button chkFileNameToWksLabel = ImportWizDlg.GetItem(IDC_IW_FILENAME_TO_WKSLABEL, IDD_IW_SOURCE);
	chkFileNameToWksLabel.Enable = bEnable;
}

static void Source_EnableDataSourceCtrls()
{
	Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);

	Button radClipboard = ImportWizDlg.GetItem(IDC_SOURCE_CLIPBOARD, IDD_IW_SOURCE);

	int iDataType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF);
	if( IDC_DATATYPE_BINARY == iDataType )
	{
		pgSource.CheckRadioButton(IDC_SOURCE_FILE, IDC_SOURCE_CLIPBOARD, IDC_SOURCE_FILE);
		SET_DATAFROM_FILE;
		radClipboard.Enable = false;
	}
	else
		radClipboard.Enable = true;

	int iDataSource = pgSource.GetCheckedRadioButton(IDC_SOURCE_FILE, IDC_SOURCE_CLIPBOARD);
	Source_EnableFileCtrls(IDC_SOURCE_FILE == iDataSource);
}

static BOOL Source_OnClickBrowse(Control ctrl)
{
	ENABLE_ON_BROWSE_SOURCE; /// EJP 10-16-2003 v7.5722 QA70-5289.7 UPDATE_SOURCE_FILE_ON_EDIT_CHANGE

	Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
	int nDataType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF);
	nDataType -= IDC_DATATYPE_ASCII;

	StringArray saDataFiles;
	if( GetMultiOpenBox(saDataFiles, nDataType + FDLOG_FILTER_ASCII) )
	{
		s_saDataFiles = saDataFiles;
		Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
		editFileName.Text = s_saDataFiles[0];
		/// EJP 06-26-2003: setting editFileName.Text will trigger a call to Source_OnChangeFileName
		///Source_UpdateButtons();
		///Source_SelectFilterOnChangeFileName();
	}
	
	DISABLE_ON_BROWSE_SOURCE; /// EJP 10-16-2003 v7.5722 QA70-5289.7 UPDATE_SOURCE_FILE_ON_EDIT_CHANGE
	return TRUE;
}

static BOOL Source_OnChangeFileName(Control ctrl)
{
	/// EJP 10-16-2003 v7.5722 QA70-5289.7 UPDATE_SOURCE_FILE_ON_EDIT_CHANGE
	if( !IS_ON_BROWSE_SOURCE )
	{
		Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
		s_saDataFiles[0] = editFileName.Text;
	}
	/// end UPDATE_SOURCE_FILE_ON_EDIT_CHANGE

	Source_UpdateButtons();
	Source_UpdateFilterComboBox();
	Source_LoadCurSelFilter();
	return TRUE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -