WindowView
This object is in charge of drawing an object in a window. It provides a lot of the parent/child relationship drawing functions.
Try not to get it confused with a ChildWindow, which is a small little square that makes up all the classes and groups in a model.
public:
virtual ~WindowView( )
void PaintChildrenToDC( wxDC& DC, const wxPoint& DeviceOrigin)
virtual bool CanParentWindowView( ) const
virtual std::string ConvertToXml( ) const =0
virtual boost::posix_time::ptime GetLatestUpdateTime( ) const =0
virtual void LoadFromXml( XMLReader& Reader) =0
virtual void CreateInheritance( ChildWindowClass* pChild)
virtual void DrawInheritance( const wxWindow* pWindow, wxDC& DC, const wxPoint& ChildPoint, const wxPoint& MidPoint, const wxPoint& ParentPoint) const
WindowView* FindChildWindow( const std::string& Name)
WindowView* GetWindowViewAtPoint( const wxPoint& ScreenPoint, wxWindow* pExclude) const
WindowView* GetWindowViewParentAtPoint( const wxPoint& ScreenPoint, wxWindow* pExclude) const
virtual void GetClassWindowList( std::list& Classes)
use this function to collect all of the ChildWindowClass pointers in the model
wxWindow* GetWindow( ) const
const wxPoint& GetActualPosition( ) const
returns the unzoomed, unscrolled position of the object
const wxSize& GetActualSize( ) const
returns the unzoomed size of the object
protected:
WindowView( wxWindow* pWindow)
virtual void PaintToDC( wxDC& DC, const wxPoint& DeviceOrigin) =0
It annoys me that wxWidgets doesn't have this kind of thing built in. I need it to paint to the Bitmap for the HTMLDoc generation. I'll probably also need it for printing.
- const wxPoint& DeviceOrigin: When you paint a window in response to an OnPaint the top left corner of your window is 0,0. When you paint to a big MemoryDC the 0,0 position is the top left of the entire DC. wxWidgets has a wxDC::SetDeviceOrigin, but no GetDeviceOrigin. This helps you figure out where you are.
virtual const std::string& GetObjectName( ) const =0
std::string ConvertChildrenToXml( ) const
boost::posix_time::ptime GetLatestChildUpdateTime( ) const
InheritanceInternalPtr GetInheritanceAtPoint( const wxPoint& ScreenPoint, double Zoom) const
void SetActualPosition( const wxPoint& Pos)
void SetActualSize( const wxSize& Size)
private:
WindowView* GetWindowViewAtPoint( const wxPoint& ScreenPoint, wxWindow* pExclude, bool bParentOnly) const
wxWindow* m_pThis
wxPoint m_ActualPosition
This it the unzoomed position of this window.
wxSize m_ActualSize
This is the unzoomed size of this window