#include "pch.h" #include "trekmdl.h" #include "consoledata.h" ////////////////////////////////////////////////////////////////////////////// // // SelectModelPane // ////////////////////////////////////////////////////////////////////////////// class SelectModelPane : public ValuePane { private: TRef m_pmodelData; public: SelectModelPane(Pane* ppaneChild, ModelData* pmodelData) : ValuePane(ppaneChild), m_pmodelData(pmodelData) { } void UpdateLayout() { if (Child()) { InternalSetExpand( Child(), WinPoint( XExpand() == 0 ? 0 : XExpand(), YExpand() == 0 ? 0 : YExpand() ) ); Child()->UpdateLayout(); InternalSetSize(WinPoint( Child()->XSize(), Child()->YSize() )); InternalSetOffset(Child(), WinPoint(0, 0)); } else { InternalSetSize( WinPoint( max(0, XExpand()), max(0, YExpand()) ) ); } } MouseResult Button(IInputProvider* pprovider, const Point& point, int button, bool bCaptured, bool bInside, bool bDown) { return MouseResult(); } }; TRef SelectModelPaneFactory::Apply(ObjectStack& stack) { TRef ppaneChild; CastTo(ppaneChild, (IObject*)stack.Pop()); TRef pmodelData; CastTo(pmodelData, (IObject*)stack.Pop()); return (Pane*)new SelectModelPane(ppaneChild, pmodelData); } ////////////////////////////////////////////////////////////////////////////// // // SelectionPane // ////////////////////////////////////////////////////////////////////////////// class SelectionPane : public ValuePane, public EventTargetContainer { private: TRef m_prowPane; public: SelectionPane(IEventSource* peventSourceOnSelChange) { InsertAtBottom(m_prowPane = new RowPane()); AddEventTarget(OnSelChange, peventSourceOnSelChange); } bool OnSelChange() { return true; } void UpdateLayout() { DefaultUpdateLayout(); } }; TRef SelectionPaneFactory::Apply(ObjectStack& stack) { TRef peventSourceOnSelChange; CastTo(peventSourceOnSelChange, (IObject*)stack.Pop()); return (Pane*) new SelectionPane(peventSourceOnSelChange); }