--- /dev/null
+//---------------------------------------------------------------------------\r
+// $RCSfile: TreeMultiItemWindow.cpp,v $\r
+// $Source: /cvs/creatis/bbtk/kernel/src/ThirdParty/wx/treemultictrl/TreeMultiItemWindow.cpp,v $\r
+// $Revision: 1.1 $\r
+// $Date: 2008/03/28 13:42:18 $\r
+//---------------------------------------------------------------------------\r
+// Author: Jorgen Bodde\r
+// Copyright: (c) Jorgen Bodde\r
+// License: wxWidgets License\r
+//---------------------------------------------------------------------------\r
+\r
+#ifdef __GNUG__\r
+ #pragma implementation "TreeMultiItemWindow.cpp"\r
+#endif\r
+\r
+/* for compilers that support precompilation\r
+ includes "wx/wx.h" */\r
+\r
+#include "wx/wxprec.h"\r
+\r
+#ifdef __BORLANDC__\r
+ #pragma hdrstop\r
+#endif\r
+\r
+#include "wx/treemultictrl/TreeMultiItemWindow.h"\r
+\r
+/** TreeMultiItemWindow\r
+ * This class is a possible end node for the tree. If you want multiple\r
+ * types of end-nodes you should copy this file and adjust it with a \r
+ * different class name.\r
+ */\r
+\r
+TreeMultiItemWindow::TreeMultiItemWindow(TreeMultiItemNode *parent, const wxString &name)\r
+ : TreeMultiItemBase(parent)\r
+ , _window(0)\r
+ , _topSpacing(0)\r
+ , _frontSpacing(0)\r
+ , _span(false)\r
+{\r
+ _name = name;\r
+\r
+ // TODO: Enter your constructor code here\r
+}\r
+\r
+TreeMultiItemWindow::~TreeMultiItemWindow()\r
+{\r
+ if(_window)\r
+ _window->Destroy();\r
+}\r
+\r
+void TreeMultiItemWindow::AssignWindow(wxWindow *wnd)\r
+{\r
+ // delete previous, assign new (even if zero)\r
+ if(_window)\r
+ _window->Destroy();\r
+\r
+ _window = wnd;\r
+\r
+ // recalculate the size\r
+ if(wnd)\r
+ {\r
+ wxSize size; \r
+\r
+ // resize the sized control by sizer or \r
+ // by single window. For a sizer handled window\r
+ // GetBestSize returns the optimal size\r
+\r
+ /// \todo This might need rivision for retaining the sizer size\r
+ /// maybe we need to check whether size is <> 0,0 before get best size\r
+\r
+ if(wnd->GetSizer())\r
+ size = wnd->GetBestSize();\r
+ else\r
+ size = wnd->GetSize();\r
+\r
+ _height = size.GetHeight();\r
+ _width = size.GetWidth();\r
+\r
+ }\r
+ else\r
+ {\r
+ _height = 0;\r
+ _width = 0;\r
+ }\r
+}\r
+\r
+#if(CHECKBOXVIEW)\r
+\r
+void TreeMultiItemWindow::SetCheckboxState(int state) {\r
+ TreeMultiItemBase::SetCheckboxState(state);\r
+\r
+ // enable or disable the window\r
+ if(GetCheckbox() && GetWindow() && state != 2)\r
+ GetWindow()->Enable(state == 1);\r
+};\r
+\r
+#endif // #if(CHECKBOXVIEW)\r