Esempio n. 1
0
// --------------------------------------------------------------------------------------------
// Reaktion auf Click eines Buttons
void COptionsDlg::ButtonClick (ControlEvt e)
{
	switch ((uint) e.GetControlID())
	{
		case IDC_FEATFROMORIGIN:
			m_Descript.SetText (ResString (ResID (IDS_KOMM22, pRF), 250).Addr());
			break;

		case IDC_ORIGINDEL:
			m_CBoxMark.SetChecked (false);
			m_CBoxShowOrig.SetChecked (false);
			m_Descript.SetText (ResString (ResID (IDS_KOMM23, pRF), 250).Addr());
			break;

		case IDC_ORIGINMARK:
			m_CBoxDelete.SetChecked (false);
			m_Descript.SetText (ResString (ResID (IDS_KOMM24, pRF), 250).Addr());
			break;

		case IDC_SHOWNEW:
			m_Descript.SetText (ResString (ResID (IDS_KOMM25, pRF), 250).Addr());
			break;

		case IDC_SHOWORIG:
			m_CBoxDelete.SetChecked (false);
			m_Descript.SetText (ResString (ResID (IDS_KOMM26, pRF), 250).Addr());
			break;
	}
	
	AdjustSheetWizardBttns (this, m_dwFlags);

	// die nachfolgende  Zeile ist erforderlich, weil nicht immer OnKillActive() kommt
	PrepareResult();

} // ButtonClick
Esempio n. 2
0
// --------------------------------------------------------------------------------------------
// aktuellen Flächeninhalt in Statuszeile anzeigen
bool CNewArea::AktuelleWerteAnzeigen (Point Pt)
{
    if (! m_wObj.IsValid() ||	// der 1. Punkt der zu editierenden Fläche ist noch nicht gesetzt bzw.
    	m_bIsland)				// Beginn einer neuen Insel wurde soeben angezeigt:
    	return false;	// deshalb keinen aktuellen Flächeninhalt anzeigen

    m_dAktDreieck = DreieckInhalt (Pt, m_FirstPkt, m_LastPkt, m_pCT);

string sOutBuff = "";	// Ausgabepuffer
double dZwFlInh;		// aktueller Zwischenstand des Flächeninhalts

    if (1 == m_iKCnt)		// Neueditierung der Außenkontur
    	dZwFlInh = fabs(m_dAktGesFlaeche + m_dAktDreieck);
    else					// Neueditierung einer Innenkontur
    {
    	sOutBuff += ResString (ResID (IDS_AKTINSEL, pRF), 40);
    	FlInhaltNormieren (fabs(m_dAktInsel + m_dAktDreieck), sOutBuff);
    	sOutBuff += ";  ";
    	dZwFlInh = m_dAktGesFlaeche - fabs(m_dAktInsel + m_dAktDreieck);
    }

    sOutBuff += ResString (ResID (IDS_GESAMTINHALT, pRF), 40);

    FlInhaltNormieren (dZwFlInh, sOutBuff);

    if (m_dAktDreieck != 0. || dZwFlInh != 0.)
    	DEX_SetMessageStringNoKickIdle (sOutBuff.c_str());

    return true;

} // AktuelleWerteAnzeigen
Esempio n. 3
0
// --------------------------------------------------------------------------------------------
// Bezug zur Erweiterung "Objektoperationen" herstellen
HRESULT CGeoEditExtension::ObjOperInterface (IUnknown** ppIObjOper)
{
HRESULT hr = S_OK;
WExtendObjOper wObjOper;	// Interface für Ankopplung von ObjOper.ext

	if (m_pXtnSite)
	{
		hr = m_pXtnSite->GetXtension (CLSID_GeometrieOperationen, IID_IExtendObjOper,
									  (LPVOID*)wObjOper.ppi());

		// "detach": Weiterreichen des Pointers ohne Release() und erneutes AddRef()
		*ppIObjOper = wObjOper.detach();
	}
	else hr = E_UNEXPECTED;

	if (FAILED (hr) ||	// Fehler, z.B. ObjOper.ext nicht verfügbar
		! m_pXtnSite)
	{
	ResString resText (ResID (IDS_NOOBJOPER, pRF), 250);
	ResString resCapt (ResID (IDS_LONGCLASSNAME, pRF), 50);
		
		MessageBox (__hWndM, resText.Addr(), resCapt.Addr(), MB_ICONEXCLAMATION | MB_OK);
		return hr;
	}

	return hr;

} // ObjOperInterface   
Esempio n. 4
0
// --------------------------------------------------------------------------------------------
STDMETHODIMP CRegOperatPropAct::EndAction (DWORD, IDataObject** ppDataOut)
{
	_ASSERTE (m_ObjsIter != m_InObjs.end());

	*ppDataOut = 0;
	try {
	WEnumLONG wEnumInObj (*m_ObjsIter);	// die zu bearbeitenden Objekte
	WEnumLONG wEnumOutObj;				// Ergebnisobjekte der ausgewählten Operation

	// Optionen abfragen
	DWORD dwOptions = 0x00;

		if (SUCCEEDED(EnsureOptionsIF())) {
			_ASSERTE(m_wOperOptions.IsValid());
			m_wOperOptions->GetOptions (&dwOptions);
		}

		// im Dialog ausgewählte Operation ausführen
		THROW_FAILED_HRESULT (m_pRegOperDlg->ExecuteOperation (m_hPr, wEnumInObj, dwOptions,
															   wEnumOutObj.ppi()));
		m_ObjsIter++;

		if (wEnumOutObj.IsValid())
		{
		// IDataObject abfragen
		WDataObject IDO (CLSID_DataTransferObject);

		// Ergebnisobjekte im DataObjekt IDO speichern
			THROW_FAILED_HRESULT (SetEnumLONGData (
				(IEnum<LONG>*)(IEnumLONG*)wEnumOutObj, IDO));

		// Resultat setzen
			*ppDataOut = IDO.detach();
			if (0 == wEnumOutObj->Count()) {
			ResString resTitel (ResID (IDS_LONGCLASSNAME, pRF), 50);
			ResString resText (ResID (IDS_BOXTEXT1, pRF), 200);
	
				MessageBox (__hWndM, resText.Addr(), resTitel.Addr(),
							MB_ICONINFORMATION | MB_OK);
			}
		}
	}
	catch (_com_error& hr_result)		// 23.09.99
	{
		DELETE_OBJ (m_pRegOperDlg);		// bei Fehler Dialog wieder freigeben
		return _COM_ERROR(hr_result);	// 23.09.99
	}

	if (m_ObjsIter != m_InObjs.end())	// es kommen noch weitere Daten
		return S_FALSE;

	DELETE_OBJ (m_pRegOperDlg);			// es kommen keine Daten mehr
	return S_OK;

} // EndAction
Esempio n. 5
0
// --------------------------------------------------------------------------------------------
// Ermittlung der Cursorposition bei 1 Strecke und 1 Gerade
HRESULT CRestrictLine::CursorToSegmentStraight (Point MSPt, Point EPt11, Point EPt21,
												Point EPt12, Point EPt22, POINT* pPTCur)
{
Point SectPt1, SectPt2;
SectScreen ssRet = SegmentStraightIntersection (EPt11, EPt21, EPt12, EPt22, SectPt1,
												SectPt2);

	if (INSECT == ssRet)
	{
		*pPTCur = (POINT&)SectPt1;
		return S_OK;
	}

ResString rsCapt (ResID (IDS_LONGCLASSNAME, pRF), 50);

	if (OUTSECT == ssRet)
	{
	ResString rsText (ResID (IDS_OUTSECTPOINT, pRF), 200);
    	
		if (IDYES == MessageBox (__hWndM, rsText.Addr(), rsCapt.Addr(),
								 MB_ICONQUESTION | MB_YESNO))
		{
			ExpandingSreenSection (SectPt1);
			pPTCur->x = 0;	// an dieser Stelle könnte mehr Aufwand getrieben werden, damit die NEUE Position
			pPTCur->y = 0;	// von SectPt nach der Vergrößerung des Sichtausschnittes ermittelt wird !!!!!!!
			return S_OK;
		}
		return S_FALSE;		// IDNO
	}

	if (INFISECT == ssRet)	// Strecke liegt vollständig auf der Geraden
	{
	double dLotPX, dLotPY;

		GeradenLotPunkt (MSPt.X(), MSPt.Y(), m_EPt1.X(), m_EPt1.Y(), m_EPt2.X(), m_EPt2.Y(),
						 dLotPX, dLotPY);
		CursorToStraight (MSPt, dLotPX, dLotPY, SectPt1, SectPt2, pPTCur);
		return S_OK;
	}

	if (NOSECT == ssRet)
	{
	ResString rsText (ResID (IDS_NOSECTPOINT, pRF), 250);
    	
    	MessageBox (__hWndM, rsText.Addr(), rsCapt.Addr(), MB_ICONEXCLAMATION | MB_OK);
		pPTCur->x = -1;
		pPTCur->y = -1;
		return S_FALSE;
	}

	DEX_Error (RC_RestrictLine, EC_NOINTERSECTION);
	return E_FAIL;

} // CursorToSegmentStraight
Esempio n. 6
0
CEditCoordDlg::CEditCoordDlg (int iCloseCnt, KoOrd* plCloseX, KoOrd* plCloseY, KoOrd x,
    						  KoOrd y)
    		 : CPropertyPage (ResID(IDD_COORDMODIFY, pRF),
    						  ResString (ResID(IDS_EDITCOORDCAP, pRF), 32)),
    		   m_X (this, IDE_XKOORD),
    		   m_Y (this, IDE_YKOORD),
			   m_DeleteButton (this, IDB_DELETE),
			   m_DeleteText (this, IDT_DELETE)
{
    StandardWerte (iCloseCnt, plCloseX, plCloseY, x, y);
}
Esempio n. 7
0
// --------------------------------------------------------------------------------------------
// ComboBox füllen
void CTopoRelRefDlg :: FillComboBox (void)
{
ResourceFile RF (g_pDLLName);

ResString resNewItem (ResID(IDS_ATLEAST, &RF), 20);

	m_RefTypeList.AddString (resNewItem, 0);
	resNewItem = ResString (ResID(IDS_ATMOST, &RF), 20);
	m_RefTypeList.AddString (resNewItem, 1);
	resNewItem = ResString (ResID(IDS_EXACTLY, &RF), 204);
	m_RefTypeList.AddString (resNewItem, 2);
}
Esempio n. 8
0
// KK990927
//Bool Header :: GetComment (ulong &MK) 
Bool Header :: GetComment (ulong &MK,ulong ID) 
{

	if ( 0L == ID)
		return True;

	ResString Text (ResID (IDS_COMMENTKODE, &g_pTE -> RF()), 30);
	if ((MK == 0) || (MK == -1)) 
		MK = DEX_GetUniqueSysMCode();

// KK000608 -----------------------------------
#if _MSC_VER >= 1100
	HPROJECT hPr = DEX_GetObjectsProject(ID);
	long lMKode = MK;
	MK = DEX_MapMCodeToHandle(hPr,lMKode);
// --------------------------------------------
#endif


	if (_GetMerkmalsKode (MK, (char *) Text.Addr ()) && 
//	   (CreateMerkmal (MK, (pchar) Text.Addr (), TextObjLen) == EC_OKAY))
	   (CreateMerkmal (MK, (pchar) Text.Addr (), TextObjLen, ID) == EC_OKAY))
		return True;
	else
		return False;		
}
Esempio n. 9
0
// --------------------------------------------------------------------------------------------
// längere Beschreibung wird in pBuffer (der Länge wLen) zurückgegeben
STDMETHODIMP CRegOperatPropAct::HelpInfo (LPSTR pBuffer, ULONG wLen, LPSTR pHelpFile,
										  ULONG *pulHelpCtx)
{
	try
	{
		if (NULL != pBuffer && wLen > 0)
		{
		// Beschreibung übergeben
		ResString resHelp (ResID (IDS_HELPINFO_REGOPERAT, pRF), 128);
		ULONG ulLen = min (size_t(wLen-1), strlen(resHelp));

			strncpy (pBuffer, resHelp, ulLen);
			pBuffer[ulLen] = '\0';
		}
	}
	catch (...)
	{
		return E_FAIL;
	}

// HelpFileInfo übergeben
	if (pHelpFile) pHelpFile[0] = '\0';
	if (pulHelpCtx) *pulHelpCtx = 0L;
	return S_OK;
}
Esempio n. 10
0
///////////////////////////////////////////////////////////////////////////////////////////////
// Konstruktor wird durch AddAction "TRiASEx.RegardingOperations.1" gerufen
CRegOperatPropAct::CRegOperatPropAct (void)
{
// ggf. Erweiterung ObjOper.ext laden
	m_hDex = NULL;
	if (NULL == g_pTE) {
	LOADEXTENSIONEX le;

		memset (&le, 0, sizeof (LOADEXTENSIONEX));
		le.m_pDesc = 0;
		le.m_pName = "TRiAS.Operationen.1";
		le.m_iMode = LEFullLoad;
		le.m_fGlobal = TRUE;		
		m_hDex = DEX_ExternalLoadExtensionEx (le);
		_ASSERTE(m_hDex != 0);
	}

// Member initialisieren
	m_pRegOperDlg = NULL;
	m_bIsDirty = false;			// Dialogparameter wurden (noch) nicht verändert
	m_bIsInitialized = false;	// Page ist noch nicht initialisiert
	m_bHasInitData = false;		// (noch) keine Initialisierungsdaten für den Dialog von Load()
								// bereitgestellt bzw. schon an diesen weitergereicht
	COM_TRY {
	ResString resPropInfo (ResID (IDS_REGADCAPT, pRF), 30);

		m_sDesc = resPropInfo;
	} COM_CATCH_NORETURN;
}
Esempio n. 11
0
///////////////////////////////////////////////////////////////////////////////////////////////
// EventHandler 
// Call-Back-Funktion für die Initialisierung der Controls
void COptionsDlg::WindowInit (Event)
{
    // explizite Initialisierung der Controls
	m_CBoxFeature.FInit();
	m_CBoxDelete.FInit();
	m_CBoxMark.FInit();
	m_CBoxShowNew.FInit();
	m_CBoxShowOrig.FInit();
	m_Descript.FInit();

	m_OR.bFeat ? m_CBoxFeature.SetChecked (true) : m_CBoxFeature.SetChecked (false);
	m_OR.bDelete ? m_CBoxDelete.SetChecked (true) : m_CBoxDelete.SetChecked (false);
	m_OR.bMark ? m_CBoxMark.SetChecked (true) : m_CBoxMark.SetChecked (false);

	if (m_OR.bDelete) _ASSERTE (m_OR.bMark == false);
	if (m_OR.bMark) _ASSERTE (m_OR.bDelete == false);

	m_OR.bShowNew ? m_CBoxShowNew.SetChecked (true) : m_CBoxShowNew.SetChecked (false);
	m_OR.bShowOrig ? m_CBoxShowOrig.SetChecked (true) : m_CBoxShowOrig.SetChecked (false);

	m_Descript.SetText (ResString (ResID (IDS_KOMM21, pRF), 250).Addr());

	AdjustSheetWizardBttns (this, m_dwFlags);

} // WindowInit
Esempio n. 12
0
// --------------------------------------------------------------------------------------------
// wird gerufen, wenn diese Page aktiviert werden soll (i. a. dann, wenn in der vorangehenden
// Page der Button "Weiter" bzw. in der nachfolgenden Page der Button "Zurück" gedrückt wurde)
BOOL COptionsDlg::OnSetActive (NotifyEvt e)
{
	m_Descript.SetText (ResString (ResID (IDS_KOMM21, pRF), 250).Addr());
	AdjustSheetWizardBttns (this, m_dwFlags);

	return FALSE;		// bei Gültigkeit "FALSE" sonst "TRUE" (???)
}
Esempio n. 13
0
// durch den optionalen Parameter PSH_NOAPPLYNOW wird der ApplyButton ganz einfach übergangen
CDesignDlg::CDesignDlg (Point FixPt)
		  : CEditObjectSheet (ResString(ResID(IDS_DESIGNCAP,pRF),70), g_pTE->MVWind(),
							  PSH_NOAPPLYNOW),
		    m_OK (this, IDOK)/*,
			m_Cancel (this, IDCANCEL)*/
{
	m_FixPt = FixPt;
}
Esempio n. 14
0
// --------------------------------------------------------------------------------------------
// Ermittlung der Cursorposition bei 2 Geraden
HRESULT CRestrictLine::CursorToStraightStraight (LPARAM lParam, Point EPt11, Point EPt21,
												 Point EPt12, Point EPt22, POINT* pPTCur)
{
Point SectPt;
SectScreen ssRet = StraightStraightIntersection (EPt11, EPt21, EPt12, EPt22, SectPt);

	if (INSECT == ssRet)
	{
		*pPTCur = (POINT&)SectPt;
		return S_OK;
	}

ResString rsCapt (ResID (IDS_LONGCLASSNAME, pRF), 50);

	if (OUTSECT == ssRet)
	{
	ResString rsText (ResID (IDS_OUTSECTPOINT, pRF), 200);
    	
		if (IDYES == MessageBox (__hWndM, rsText.Addr(), rsCapt.Addr(),
								MB_ICONQUESTION | MB_YESNO))
		{
			ExpandingSreenSection (SectPt);
			pPTCur->x = 0;	// an dieser Stelle könnte mehr Aufwand getrieben werden, damit die NEUE Position
			pPTCur->y = 0;	// von SectPt nach der Vergrößerung des Sichtausschnittes ermittelt wird !!!!!!!
			return S_OK;
		}
		return S_FALSE;		// IDNO
	}

	if (INFISECT == ssRet)	// beide Geraden sind deckungsgleich
		return CursorTo1RestrictLine (lParam, pPTCur);

	if (NOSECT == ssRet)
	{
	ResString rsText (ResID (IDS_NOSECTPOINT, pRF), 250);
    	
    	MessageBox (__hWndM, rsText.Addr(), rsCapt.Addr(), MB_ICONEXCLAMATION | MB_OK);
		pPTCur->x = -1;
		pPTCur->y = -1;
		return S_FALSE;
	}

	DEX_Error (RC_RestrictLine, EC_NOINTERSECTION);
	return E_FAIL;

} // CursorToStraightStraight
Esempio n. 15
0
///////////////////////////////////////////////////////////////////////////////////////////////
// EventHandler 
// Call-Back-Funktion für die Initialisierung der Controls
void CTopoRelRefDlg::WindowInit (Event)
{
ResourceFile RF (g_pDLLName);

    // explizite Initialisierung der Controls
    m_RBttnAllRefs.FInit();
	m_RBttnSomeRefs.FInit();
	m_RefTypeList.FInit();
	m_SpinCount.FInit();
	m_Descript.FInit();

	// Controls setzen
	FillComboBox();

	switch (m_iReferenceType)
	{
		case All:
			m_RBttnAllRefs.SetState (true);
			m_SpinCount.Disable();
			m_Descript.SetText (ResString (ResID (IDS_COMMALL, &RF), 250).Addr());
			break;

		case Least:
			m_RBttnSomeRefs.SetState (true);
			m_SpinCount.Enable();
			m_Descript.SetText (ResString (ResID (IDS_COMMLEAST, &RF), 250).Addr());
			break;

		case Most:
			m_RBttnSomeRefs.SetState (true);
			m_SpinCount.Enable();
			m_Descript.SetText (ResString (ResID (IDS_COMMMOST, &RF), 250).Addr());
			break;

		case Exact:
			m_RBttnSomeRefs.SetState (true);
			m_SpinCount.Enable();
			m_Descript.SetText (ResString (ResID (IDS_COMMEXACT, &RF), 250).Addr());
	}

	m_RefTypeList.ChangeCurrentIndex (m_iRefListIndex);
	m_RefTypeList.SetFocus();
	m_SpinCount.SetValue(m_lLimitCnt);

} // WindowInit
Esempio n. 16
0
// --------------------------------------------------------------------------------------------
STDMETHODIMP CAreaBuildPropAct::EndAction (DWORD, IDataObject** ppDataOut)
{
	_ASSERTE (m_ObjsIter != m_InObjs.end());

	*ppDataOut = 0;

	COM_TRY {
	WEnumLONG wEnumInObj (*m_ObjsIter);	// die zu bearbeitenden Objekte
	WEnumLONG wEnumOutObj;				// Ergebnisobjekte der ausgewählten Operation

	// Optionen abfragen
	DWORD dwOptions = 0x00;

		if (m_wOperOptions.IsValid())
			m_wOperOptions->GetOptions (&dwOptions);

		// im Dialog ausgewählte Operation ausführen
		THROW_FAILED_HRESULT (m_pAreaBuildDlg->ExecuteOperation (m_hPr, wEnumInObj, dwOptions,
																 wEnumOutObj.ppi()));

		m_ObjsIter++;

		if (wEnumOutObj.IsValid()) {
		// IDataObject abfragen
		WDataObject IDO (CLSID_DataTransferObject);

		// Ergebnisobjekte im DataObjekt IDO speichern
			THROW_FAILED_HRESULT (SetEnumLONGData ((IEnum<LONG>*)(IEnumLONG*)wEnumOutObj,
												   IDO));
		// Resultat setzen
			*ppDataOut = IDO.detach();

			if (0 == wEnumOutObj->Count()) {
			ResString resTitel (ResID (IDS_LONGCLASSNAME, pRF), 50);
			ResString resText (ResID (IDS_BOXTEXT7, pRF), 200);
	
				MessageBox (__hWndM, resText.Addr(), resTitel.Addr(),
							MB_ICONINFORMATION | MB_OK);
			}
		}
	}
	COM_CATCH_OP(
		delete m_pAreaBuildDlg;	// bei Fehler Dialog wieder freigeben
    );
Esempio n. 17
0
// FehlerAusgabeRoutine -------------------------------------------------------
int __cdecl esyntx (int errcode, int routine, ...) 
{
va_list pList;
ERROR_PARAMETER *pErrPar;

	va_start (pList, routine);
	pErrPar = va_arg (pList, ERROR_PARAMETER *);
	va_end (pList);

ResourceFile RF (g_pDLLName);
ResString resErrorCap (ResID (IDS_PARSERERRORCAP, &RF), 64);
ResString resError (ResID (IDS_PARSERERROR, &RF), 256);
char cbBuffer[_MAX_PATH];

	wsprintf (cbBuffer, resError, pErrPar -> pFile, pErrPar -> iLineNumber, pErrPar -> pString);
	MessBox mb (resErrorCap, cbBuffer, g_pTE -> MWind());
	mb.Show();
	return errcode;
}
Esempio n. 18
0
//  unique Ident lesen/erzeugen
// KK990927
//Bool Header :: GetUniqueIdent (ulong &MK) 
Bool Header :: GetUniqueIdent (ulong &MK,ulong ID) 
{

// KK 990927 - Blödsinn KK000608
/*-----
#if _MSC_VER >= 1100
	if ((MK == 0) || (MK == -1)) {
		if ( 0 == ID)
			HPROJECT hPr = DEX_GetDataSourceHandle();
		else
			HPROJECT hPr = DEX_GetObjectsProject(ID);

		MK = DEX_GetUniqueIdentMCodeEx (hPr);
	}

// KK000608 -----------------------------------
	long lMKode = MK;
	MK = DEX_MapMCodeToHandle(hPr,lMKode);
// --------------------------------------------

#else
	if ((MK == 0) || (MK == -1)) {
		MK = DEX_GetUniqueIdentMCode ();
	}
#endif
-------------------------------------------------------------*/

	if ( 0L == ID)
		return True;

	if ((MK == 0) || (MK == -1))
	{
		ResString Text (ResID (IDS_UNIQUEIDENT), 30);
		MK = UniqueIdent;

#if _MSC_VER >= 1100
		HPROJECT hPr = DEX_GetObjectsProject(ID);

// KK000608 -----------------------------------
		long lMKode = MK;
		MK = DEX_MapMCodeToHandle(hPr,lMKode);
// --------------------------------------------
#endif

		if (_GetMerkmalsKode (MK, (char *) Text.Addr ()) &&
//	   	(CreateMerkmal (MK, (pchar) Text.Addr () , UnIDLen) == EC_OKAY))
	   	(CreateMerkmal (MK, (pchar) Text.Addr () , UnIDLen, ID) == EC_OKAY))
			return True;
		else		
			return False;
	}
	else
		return True;
}
Esempio n. 19
0
// --------------------------------------------------------------------------------------------
// Editierfeld erhält den Focus
void CTopoRelRefDlg :: EditFocusChg (EditFocusChgEvt e)
{
	if (!e.gotFocus())
		return;		// Focus wurde entfernt

	if (IDC_LIMITCOUNT == (uint) e.GetControlID())
	{
	ResourceFile RF (g_pDLLName);

		m_Descript.SetText (ResString (ResID (IDS_COMMLIMITCOUNT, &RF), 250).Addr());
	}
} // EditFocusChg
Esempio n. 20
0
// --------------------------------------------------------------------------------------------
// Text in der Statuszeile entsprechend der CursorForm modifizieren
void CGeoEditExtension::StatuszeileModifizieren (CursForm CF)
{
ResString rsText (ResID (IDS_CURVERTEXMOVE, pRF), 100);		// case CURSFORM_STERN

	switch (CF)
	{
		case CURSFORM_CROSS:
			rsText = ResString (ResID (IDS_CUREDIT, pRF), 100);
			break;

		case CURSFORM_TRENNER:
			rsText = ResString (ResID (IDS_CURVERTEXADD, pRF), 100);
			break;

		case CURSFORM_KREUZ:
			rsText = ResString (ResID (IDS_CURVERTEXDEL, pRF), 100);
			break;

		case CURSFORM_INOBJEKT:
			rsText = ResString (ResID (IDS_CUROBJECTMOVE, pRF), 100);
			break;

		case CURSFORM_FANGEN:
			rsText = ResString (ResID (IDS_INMARKER, pRF), 100);
			break;
	}

	DEX_SetMessageStringNoKickIdle (rsText.Addr());

} // StatuszeileModifizieren
Esempio n. 21
0
///////////////////////////////////////////////////////////////////////////////////////////////
// IPropertyAction methods
// PropertyPages einhängen
// diese Stelle wird bei DoActions() erreicht
STDMETHODIMP CRegOperatPropAct::AddConfigPages (LPFNADDPROPSHEETPAGE lpfnAddPage,
												LPARAM lParam, LPCSTR pcDesc, UINT *puiCnt)
{
char cbCaption[_MAX_PATH];

	try
	{
		if (NULL != pcDesc)		// Caption ist gegeben
			strcpy (cbCaption, pcDesc);
		else	// von zugehöriger ClassProperty unseren Namen besorgen
			GetPropInfo (cbCaption, sizeof(cbCaption), NULL);

		// zugehörigen ConfigDialog (PropertyPage(s)) anlegen
		DELETE_OBJ (m_pRegOperDlg);	// evtl. vorherigen freigeben
		m_pRegOperDlg = CRegardOperatDlg::CreateInstance (ResID(IDD_REGOPERATPROPACT, pRF),
														  cbCaption, this, m_caSelInfo, *pRF);
		if (NULL == m_pRegOperDlg) _com_issue_error (E_OUTOFMEMORY);

		if (!IsNoShow())
		{
		// Seite hinzufügen, wenn selbige angezeigt werden soll
		HPROPSHEETPAGE hPSP = m_pRegOperDlg -> CreatePage();

			if (NULL == hPSP) return E_HANDLE;
			if (!(*lpfnAddPage) (hPSP, lParam))
				return E_UNEXPECTED;
		}

		// Initialisierungsdaten für den Dialog wurden von Load() bereitgestellt, konnten aber
		// noch nicht an diesen weitergereicht werden
		if (m_bHasInitData)
		{
		// Initialisierungsdaten jetzt an den Dialog weiterreichen
		HRESULT	hr = m_pRegOperDlg->SetSelectedInfo (&m_caSelInfo, IsNoShow());

			if (FAILED(hr)) _com_issue_error(hr);
		}

		if (NULL != puiCnt) 
			*puiCnt = IsNoShow() ? 0 : 1;	// "1" ist die Anzahl der einzuhängenden Pages

	}
	catch (_com_error& e)
	{
		DELETE_OBJ (m_pRegOperDlg);
		if (puiCnt) *puiCnt = 0;
		return _COM_ERROR (e);
	}

	return S_OK;

} // AddConfigPages
Esempio n. 22
0
// --------------------------------------------------------------------------------------------
// Call-Back-Funktion für die Initialisierung der Controls
void CEditCoordDlg::WindowInit (Event)
{
    // explizite Initialisierung der Controls
    m_X.FInit();
    m_Y.FInit();
	m_DeleteButton.FInit();
	m_DeleteText.FInit();

	// OwnerDraw-Knopf initialisieren
	if (m_DeleteButton.LoadBitmaps (ResID(IDB_DELE, pRF), ResID(IDB_DELE_SEL, pRF),
									ResID(IDB_DELE_FOCUS, pRF), ResID(IDB_DELE_DISABLED, pRF)))
		m_DeleteButton.SizeToContent(); 

    m_pED = (CEditDlg*) GetPropertySheet();

    // Zugriff auf editiertes Objekt, das in der Sheet gehalten wird
    m_wObj = m_pED->GetObject();

	m_lComONr = m_pED->GetComONr();

    ControlsSetting();
}
Esempio n. 23
0
// --------------------------------------------------------------------------------------------
// Reaktion bei Click auf einen Button
void CTopoRelRefDlg::ButtonClick (ControlEvt e)
{
ResourceFile RF (g_pDLLName);

	switch ((uint) e.GetControlID())
	{
		case IDR_ALLREFOBJECTS:
			// nachfolgende if-Anweisung ist erforderlich, weil irgendwoher ein unerklärlicher
			// ButtoClick auf den m_RBttnAllRefs-Button kommt (#WM030131)
			if (m_RBttnAllRefs.GetState())
			{
				m_SpinCount.Disable();
				m_Descript.SetText (ResString (ResID (IDS_COMMALL, &RF), 250).Addr());
			}
			break;

		case IDR_SOMEREFOBJECTS:
			m_SpinCount.Enable();
			m_RefTypeList.SetFocus();
			m_Descript.SetText (ResString (ResID (IDS_COMMSOME, &RF), 250).Addr());
	}
} // ButtonClick
Esempio n. 24
0
// --------------------------------------------------------------------------------------------
// Reaktion bei Click in die ComboBox
void CTopoRelRefDlg :: ListBoxSel (ControlEvt)
{
	m_RBttnAllRefs.SetState (false);
	m_RBttnSomeRefs.SetState (true);
	m_SpinCount.Enable();

ResourceFile RF (g_pDLLName);

	switch (m_RefTypeList.GetCurrentIndex())
	{
		case 0:
			m_Descript.SetText (ResString (ResID (IDS_COMMLEAST, &RF), 250).Addr());
			break;

		case 1:
			m_Descript.SetText (ResString (ResID (IDS_COMMMOST, &RF), 250).Addr());
			break;

		case 2:
			m_Descript.SetText (ResString (ResID (IDS_COMMEXACT, &RF), 250).Addr());
	}
}
Esempio n. 25
0
// --------------------------------------------------------------------------------------------
// Toolbar für die Bildung von Konstruktionshilfslinien aus TRiAS entfernen
HRESULT CGeoEditExtension::RemoveDesignToolbar (void)
{
	try {
	WTRiASBarContainer BarCont (m_pXtnSite);
	ResString strCap (ResID (IDS_DESIGNTOOLCAPTION, &RF()), 128);

	// ToolBar beseitigen
		return BarCont -> DeleteTRiASBar (strCap);

	} catch (_com_error &hr) {
		return _COM_ERROR(hr);
	}
}
Esempio n. 26
0
CTextSearchEngine::CTextSearchEngine (void)
{
	m_pCfgDlg = NULL;
	m_fIsDirty = false;
	m_fIsInitialized = false;

	try {
	ResourceFile RF (g_pDLLName);
	ResString resPropInfo (ResID (IDS_TEXTSEARCHENGINE_DESC, &RF), 64);

		m_strDesc = resPropInfo;
	} catch (...) {
		TX_ASSERT(false);
	}
}
Esempio n. 27
0
/////////////////////////////////////////////////////////////////////////////
// IPropertyAction methods
STDMETHODIMP CTextSearchEngine::AddConfigPages (LPFNADDPROPSHEETPAGE lpfnAddPage, 
								LPARAM lParam, LPCSTR pcDesc, UINT *puiCnt)
{
char cbCaption[128];

	try {
		if (NULL != pcDesc)		// Caption ist gegeben
			strcpy (cbCaption, pcDesc);
		else	// von zugehöriger ClassProperty unseren Namen besorgen
			GetPropInfo (cbCaption, sizeof(cbCaption), NULL);

	// Kontext des Dialoges feststellen
	WClassProperty Cls;
	bool fChoice = false;

		if (SUCCEEDED(GetSite (IID_IClassProperty, Cls.ppv()))) {
		// Kontext ist entweder PropertyChoice oder PropertySequence 
		DWORD dwFlags = 0;

			if (SUCCEEDED(Cls -> GetPropInfo (NULL, 0, &dwFlags)))
				fChoice = (dwFlags & PROPCAPS_CONTAINER_IS_CHOICE) ? true : false;
		}

	// zugehörigen ConfigDialog (PropertyPage(s)) anlegen
	ResourceFile RF (g_pDLLName);
	UINT uiRes = fChoice ? IDD_TEXTSEARCHENGINE_CFGPP : IDD_TEXTSEARCHENGINE_CFG;

		DELETE_OBJ(m_pCfgDlg);	// evtl. vorherigen freigeben
		m_pCfgDlg = CCfgTextSearch::CreateInstance (this, 
						ResID (uiRes, &RF), cbCaption);
		if (NULL == m_pCfgDlg) _com_issue_error(E_OUTOFMEMORY);

	HPROPSHEETPAGE hPSP = this -> CreatePage(m_pCfgDlg);

		if (NULL == hPSP || !lpfnAddPage(hPSP, lParam))
			_com_issue_error(E_UNEXPECTED);

		if (puiCnt) *puiCnt = 1;

		m_pCfgDlg -> InitWithData (m_Status);

	} catch (_com_error& hr_result) {
		DELETE_OBJ (m_pCfgDlg);
		if (puiCnt) *puiCnt = 0;
		return _COM_ERROR(hr_result);
	}
	return S_OK;
}
Esempio n. 28
0
Bool Header :: MatrixExists (void)
{
	ResString HVar (ResID (IDS_KOEFF11), 20);

#if _MSC_VER >= 1100
	HPROJECT hPr = DEX_GetDataSourceHandle();
	HeaderEntryX HD (HVar,hPr);
#else
	HeaderEntryX HD (HVar);
#endif

	if (HD.Status () != HE_INVALID)
		return True;
	else
		return False;
}
Esempio n. 29
0
CGenerateObjectPropertiesSelectDlg* CGenerateObjectPropertiesSelectDlg::CreateInstance (
	CGenerateObjectProperties *pParent, LPCSTR pcCaption)
{
CGenerateObjectPropertiesSelectDlg *pCfgDlg = NULL;

	COM_TRY {
	// Dialog erzeugen
	ResourceFile RF (g_pDLLName);

		pCfgDlg = new CGenerateObjectPropertiesSelectDlg(pParent, ResID(IDD, &RF), pcCaption);
		if (NULL == pCfgDlg || !pCfgDlg -> FInit()) {
			DELETE_OBJ(pCfgDlg);
			return NULL;
		}

	} COM_CATCH_OP_RETURN(delete pCfgDlg, NULL);
	return pCfgDlg; 
}
Esempio n. 30
0
Bool Header::SetTextFlag (void)
{

	ResString Text (ResID (IDS_POSTEXTATBASELINE, &g_pTE -> RF()), 30);

#if _MSC_VER >= 1100
	HPROJECT hPr = DEX_GetDataSourceHandle();
	HeaderEntryX PosTxt (Text,hPr);
#else
	HeaderEntryX PosTxt (Text);
#endif

	if (PosTxt.Status () != HE_INVALID)
		return True;

	PosTxt.SetEntryText ("1");
	if (PosTxt.WriteBack() != EC_OKAY)
		return false;
return true;
}