X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d43638db10823193952af62215f4c9e900f312a..4f3c5f06ff074f4cd466e8d6b0c69e7b7ce7e142:/utils/serialize/serctrl.cpp diff --git a/utils/serialize/serctrl.cpp b/utils/serialize/serctrl.cpp index 982dbc5440..e9e0d56af4 100644 --- a/utils/serialize/serctrl.cpp +++ b/utils/serialize/serctrl.cpp @@ -35,17 +35,23 @@ #include "serctrl.h" IMPLEMENT_ALIAS_SERIAL_CLASS(wxControl, wxWindow) +#ifdef __WINDOWS__ +IMPLEMENT_SERIAL_CLASS(wxSlider95, wxControl) +IMPLEMENT_SERIAL_CLASS(wxGauge95, wxControl) +#else IMPLEMENT_SERIAL_CLASS(wxSlider, wxControl) +IMPLEMENT_SERIAL_CLASS(wxGauge, wxControl) +#endif IMPLEMENT_SERIAL_CLASS(wxCheckBox, wxControl) IMPLEMENT_SERIAL_CLASS(wxChoice, wxControl) IMPLEMENT_SERIAL_CLASS(wxComboBox, wxControl) -IMPLEMENT_SERIAL_CLASS(wxGauge, wxControl) IMPLEMENT_SERIAL_CLASS(wxListBox, wxControl) IMPLEMENT_SERIAL_CLASS(wxNotebook, wxControl) IMPLEMENT_SERIAL_CLASS(wxRadioBox, wxControl) IMPLEMENT_SERIAL_CLASS(wxRadioButton, wxControl) IMPLEMENT_SERIAL_CLASS(wxButton, wxControl) IMPLEMENT_SERIAL_CLASS(wxStaticText, wxControl) +IMPLEMENT_SERIAL_CLASS(wxStaticBox, wxControl) //----------------------------------------------------------------------------- @@ -58,6 +64,9 @@ void WXSERIAL(wxButton)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxButton *button = (wxButton *)Object(); printf("label = %s\n", WXSTRINGCAST m_label); @@ -82,6 +91,9 @@ void WXSERIAL(wxCheckBox)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxCheckBox *chkbox = (wxCheckBox *)Object(); @@ -93,7 +105,11 @@ void WXSERIAL(wxCheckBox)::LoadObject(wxObjectInputStream& s) //----------------------------------------------------------------------------- +#ifdef __WXMSW__ +void WXSERIAL(wxSlider95)::StoreObject(wxObjectOutputStream& s) +#else void WXSERIAL(wxSlider)::StoreObject(wxObjectOutputStream& s) +#endif { WXSERIAL(wxControl)::StoreObject(s); @@ -114,10 +130,17 @@ void WXSERIAL(wxSlider)::StoreObject(wxObjectOutputStream& s) data_s.Write32( slider->GetThumbLength() ); } +#ifdef __WXMSW__ +void WXSERIAL(wxSlider95)::LoadObject(wxObjectInputStream& s) +#else void WXSERIAL(wxSlider)::LoadObject(wxObjectInputStream& s) +#endif { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxSlider *slider = (wxSlider *)Object(); int value, min, max; @@ -140,7 +163,11 @@ void WXSERIAL(wxSlider)::LoadObject(wxObjectInputStream& s) //----------------------------------------------------------------------------- +#ifdef __WXMSW__ +void WXSERIAL(wxGauge95)::StoreObject(wxObjectOutputStream& s) +#else void WXSERIAL(wxGauge)::StoreObject(wxObjectOutputStream& s) +#endif { WXSERIAL(wxControl)::StoreObject(s); @@ -156,10 +183,17 @@ void WXSERIAL(wxGauge)::StoreObject(wxObjectOutputStream& s) data_s.Write32( gauge->GetValue() ); } +#ifdef __WXMSW__ +void WXSERIAL(wxGauge95)::LoadObject(wxObjectInputStream& s) +#else void WXSERIAL(wxGauge)::LoadObject(wxObjectInputStream& s) +#endif { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxGauge *gauge = (wxGauge *)Object(); int range; @@ -195,6 +229,9 @@ void WXSERIAL(wxChoice)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxChoice *choice = (wxChoice *)Object(); int i,num = data_s.Read32(); @@ -228,6 +265,9 @@ void WXSERIAL(wxListBox)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxListBox)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxListBox *listbox = (wxListBox *)Object(); int i, num = data_s.Read32(); @@ -244,40 +284,45 @@ void WXSERIAL(wxNotebook)::StoreObject(wxObjectOutputStream& s) wxImageList *imaglist = notebook->GetImageList(); int i, pcount = notebook->GetPageCount(); + WXSERIAL(wxControl)::StoreObject(s); if (s.FirstStage()) { s.AddChild(imaglist); - WXSERIAL(wxControl)::StoreObject(s); return; } wxDataOutputStream data_s(s); data_s.Write8( pcount ); - WXSERIAL(wxControl)::StoreObject(s); for (i=0;iGetPageText(i) ); - } void WXSERIAL(wxNotebook)::LoadObject(wxObjectInputStream& s) { wxNotebook *notebook = (wxNotebook *)Object(); - int i, pcount; + int i; wxImageList *imaglist; - imaglist = (wxImageList *)s.GetChild(); - WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) { + for (i=0;iAddPage( (wxWindow *)s.GetChild(), m_stringlist[i] ); + return; + } + + imaglist = (wxImageList *)s.GetChild(); + notebook->Create(m_parent, m_id, wxPoint(m_x, m_y), wxSize(m_w, m_h), m_style, m_name); wxDataInputStream data_s(s); - pcount = data_s.Read8(); - for (i=0;iSetPageText(i, data_s.ReadString() ); + m_pcount = data_s.Read8(); + for (i=0;iSetValue( (bool)data_s.Read8() ); } @@ -369,6 +421,9 @@ void WXSERIAL(wxComboBox)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + wxDataInputStream data_s(s); wxComboBox *box = (wxComboBox *)Object(); int i, num, selection; @@ -397,6 +452,9 @@ void WXSERIAL(wxStaticText)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + if (s.SecondCall()) + return; + ((wxStaticText *)Object())->Create(m_parent, m_id, m_label, wxPoint(m_x, m_y), wxSize(m_w, m_h), m_style, m_name); } @@ -411,6 +469,9 @@ void WXSERIAL(wxStaticBox)::StoreObject(wxObjectOutputStream& s) void WXSERIAL(wxStaticBox)::LoadObject(wxObjectInputStream& s) { WXSERIAL(wxControl)::LoadObject(s); + + if (s.SecondCall()) + return; ((wxStaticBox *)Object())->Create(m_parent, m_id, m_label, wxPoint(m_x, m_y), wxSize(m_w, m_h), m_style, m_name);