ClassDialogView

This object is in charge of presenting a class through a dialog. It basically just ties together a ClassTree and the notebook view stuff

public:

ClassDialogView( wxWindow* pParent, ClassObjectPtr pClass)

~ClassDialogView( )

ClassObjectPtr GetClassCopy( ) const

void SaveNotebookToObject( )

This becomes important during drag and drop when you want to drag something in a class. It's possible that the thing you're dragging has data in the notebook that hasn't been saved. This function saves that data to the object so that it can be dragged without loosing that data.

void SelectObject( const std::list& Path)


protected:


private:

enum ChildIDs


void OnOk( wxCommandEvent& Event)

void OnSize( wxSizeEvent& Event)

void OnTreeBeginDrag( wxTreeEvent& Event)

void OnTreeEndDrag( wxTreeEvent& Event)

void OnTreeSelectionChanged( wxTreeEvent& Event)

ClassObjectPtr m_pClassCopy

This is a copy of the class we are working with. It is not the real class because a user could press the Cancel button and need to undo all of the changes. If the user presses Ok then this object will be copied to the actual class that the user is interestd in.

NotebookViewPtr m_pNotebookView

This does the lion's share of the work. It presents whatever is selected as a notebook view for the user to interact with.

ObjectPtr m_pAttachedObject

This is a pointer to the object that is currently being edited in the notebook. When the user selects something from the tree this will need to be updated to point to that new selection

ClassTree* m_pClassTree

This is the same class tree that you see in the class windows in the main view.

wxNotebook* m_pNotebook

wxButton* m_pOkButton

wxButton* m_pCancelButton

DECLARE_EVENT_TABLE()