85 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
// NoesisGUI - http://www.noesisengine.com
 | 
						|
// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
#include <NsGui/ContextMenuService.h>
 | 
						|
#include <NsGui/SizeChangedInfo.h>
 | 
						|
 | 
						|
 | 
						|
namespace Noesis
 | 
						|
{
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
inline ContextMenuEventArgs::ContextMenuEventArgs(BaseComponent* s, const RoutedEvent* e,
 | 
						|
    float left, float top) : RoutedEventArgs(s, e), cursorLeft(left), cursorTop(top)
 | 
						|
{
 | 
						|
    NS_ASSERT(e == ContextMenuService::ContextMenuOpeningEvent ||
 | 
						|
        e == ContextMenuService::ContextMenuClosingEvent);
 | 
						|
}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
inline ToolTipEventArgs::ToolTipEventArgs(BaseComponent* s, const RoutedEvent* e):
 | 
						|
    RoutedEventArgs(s, e) {}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
inline RequestBringIntoViewEventArgs::RequestBringIntoViewEventArgs(BaseComponent* s,
 | 
						|
    DependencyObject* object, const Rect& rect): RoutedEventArgs(s,
 | 
						|
    FrameworkElement::RequestBringIntoViewEvent), targetObject(object), targetRect(rect) {}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
inline SizeChangedEventArgs::SizeChangedEventArgs(BaseComponent* s, const RoutedEvent* e,
 | 
						|
    const SizeChangedInfo& info): RoutedEventArgs(s, e), newSize(info.newSize),
 | 
						|
    previousSize(info.previousSize), widthChanged(info.widthChanged),
 | 
						|
    heightChanged(info.heightChanged) {}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
template<class T>
 | 
						|
T* FrameworkElement::GetTemplateChild(const char* name) const
 | 
						|
{
 | 
						|
    BaseComponent* child = GetTemplateChild(name);
 | 
						|
    NS_CHECK(child == 0 || DynamicCast<T*>(child) != 0, "Invalid cast");
 | 
						|
    return static_cast<T*>(child);
 | 
						|
}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
template<class T>
 | 
						|
T* FrameworkElement::FindName(const char* name) const
 | 
						|
{
 | 
						|
    BaseComponent* resource = FindName(name);
 | 
						|
    NS_CHECK(resource == 0 || DynamicCast<T*>(resource) != 0, "Invalid cast");
 | 
						|
    return static_cast<T*>(resource);
 | 
						|
}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
template<class T>
 | 
						|
T* FrameworkElement::FindResource(const char* key) const
 | 
						|
{
 | 
						|
    BaseComponent* resource = FindResource(key);
 | 
						|
    NS_CHECK(resource == 0 || DynamicCast<T*>(resource) != 0, "Invalid cast");
 | 
						|
    return static_cast<T*>(resource);
 | 
						|
}
 | 
						|
 | 
						|
#ifdef NS_PLATFORM_WINDOWS
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
template<class T>
 | 
						|
T* FrameworkElement::FindResourceW(const char* key) const
 | 
						|
{
 | 
						|
    BaseComponent* resource = FindResourceW(key);
 | 
						|
    NS_CHECK(resource == 0 || DynamicCast<T*>(resource) != 0, "Invalid cast");
 | 
						|
    return static_cast<T*>(resource);
 | 
						|
}
 | 
						|
 | 
						|
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
						|
template<class T>
 | 
						|
T* FrameworkElement::FindResourceA(const char* key) const
 | 
						|
{
 | 
						|
    BaseComponent* resource = FindResourceA(key);
 | 
						|
    NS_CHECK(resource == 0 || DynamicCast<T*>(resource) != 0, "Invalid cast");
 | 
						|
    return static_cast<T*>(resource);
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
}
 |