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()