Browse Source

add missing methods

Kolja Strohm 2 years ago
parent
commit
9995613524
2 changed files with 27 additions and 2 deletions
  1. 25 0
      UIMLView.cpp
  2. 2 2
      UIMLView.h

+ 25 - 0
UIMLView.cpp

@@ -493,6 +493,29 @@ void UIMLView::doMausEreignis(MausEreignis& me, bool userRet)
 	}
 }
 
+//! entfernt alle bekannten elemente, die im uiml verwendet werden können
+void UIMLView::removeAllKnownElements()
+{
+	knownElements.leeren();
+}
+
+//! fügt ein neues bekanntes element hinzu, dass danach im uiml verwendet werden kann.
+void UIMLView::addKnownElement(UIMLElement* element)
+{
+	knownElements.add(element);
+}
+
+//! prüft, ob ein xml Element ein bekanntes uiml Element ist;
+bool UIMLView::isKnownElement(XML::Element* zElement)
+{
+	for (UIMLElement* element : knownElements)
+	{
+		if (element->isApplicableFor(*zElement))
+			return 1;
+	}
+	return 0;
+}
+
 // setzt den inhalt der view
 //  uiml: Ein xml element gemät des ksg uiml standarts
 void UIMLView::setUIML(XML::Element* uiml)
@@ -748,6 +771,8 @@ Zeichnung* UIMLView::parseElement(XML::Element& element, UIMLContainer& generalF
 		if (z)
 			members->set(id, id.getLength(), z);
 	}
+	else
+		z->getThis();
 	return z;
 }
 

+ 2 - 2
UIMLView.h

@@ -29,7 +29,7 @@ namespace Framework
 		//! erstellt eine neue Zeichnung zu einem gegebenen xml Element
 		virtual Zeichnung* parseElement(XML::Element& element, UIMLContainer& generalFactory) = 0;
 		//! wendet die layout parameter zu einer Zeichnung an
-		virtual void layout(XML::Element& element, Zeichnung& z, int pWidth, int pHeight, UIMLContainer& generalLayouter);
+		DLLEXPORT virtual void layout(XML::Element& element, Zeichnung& z, int pWidth, int pHeight, UIMLContainer& generalLayouter);
 	};
 
 	class UIMLContainer : public UIMLElement
@@ -192,7 +192,7 @@ namespace Framework
 		//! fügt ein neues bekanntes element hinzu, dass danach im uiml verwendet werden kann.
 		DLLEXPORT void addKnownElement(UIMLElement* element);
 		//! prüft, ob ein xml Element ein bekanntes uiml Element ist;
-		DLLEXPORT void isKnownElement(XML::Element* zElement);
+		DLLEXPORT bool isKnownElement(XML::Element* zElement);
 		//! setzt den inhalt der view
 		//! \param uiml Ein xml element gemät des KSG UIML standarts
 		DLLEXPORT void setUIML(XML::Element* uiml);