]> git.saurik.com Git - wxWidgets.git/commitdiff
added unknown widget support
authorVáclav Slavík <vslavik@fastmail.fm>
Sun, 17 Sep 2000 19:19:18 +0000 (19:19 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sun, 17 Sep 2000 19:19:18 +0000 (19:19 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

contrib/include/wx/xml/xh_unkwn.h [new file with mode: 0644]
contrib/src/xml/xh_unkwn.cpp [new file with mode: 0644]
contrib/utils/wxrcedit/df/unknown.df [new file with mode: 0644]

diff --git a/contrib/include/wx/xml/xh_unkwn.h b/contrib/include/wx/xml/xh_unkwn.h
new file mode 100644 (file)
index 0000000..e011236
--- /dev/null
@@ -0,0 +1,30 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        xh_unkwn.h
+// Purpose:     XML resource handler for unkown widget
+// Author:      Vaclav Slavik
+// Created:     2000/03/05
+// RCS-ID:      $Id$
+// Copyright:   (c) 2000 Vaclav Slavik
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_XH_UNKWN_H_
+#define _WX_XH_UNKWN_H_
+
+#ifdef __GNUG__
+#pragma interface "xh_unkwn.h"
+#endif
+
+#include "wx/xml/xmlres.h"
+
+
+class WXDLLEXPORT wxUnknownWidgetXmlHandler : public wxXmlResourceHandler
+{
+    public:
+        wxUnknownWidgetXmlHandler();
+        virtual wxObject *DoCreateResource();
+        virtual bool CanHandle(wxXmlNode *node);
+};
+
+
+#endif // _WX_XH_UNKWN_H_
diff --git a/contrib/src/xml/xh_unkwn.cpp b/contrib/src/xml/xh_unkwn.cpp
new file mode 100644 (file)
index 0000000..d9a05b7
--- /dev/null
@@ -0,0 +1,61 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        xh_unkwn.cpp
+// Purpose:     XML resource for unknown widget
+// Author:      Vaclav Slavik
+// Created:     2000/09/09
+// RCS-ID:      $Id$
+// Copyright:   (c) 2000 Vaclav Slavik
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+#ifdef __GNUG__
+#pragma implementation "xh_unkwn.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/xml/xh_unkwn.h"
+#include "wx/window.h"
+#include "wx/log.h"
+
+
+wxUnknownWidgetXmlHandler::wxUnknownWidgetXmlHandler() 
+: wxXmlResourceHandler() 
+{
+    AddWindowStyles();
+}
+
+wxObject *wxUnknownWidgetXmlHandler::DoCreateResource()
+{ 
+    long id = GetLong(_T("id"), -1);
+    wxString name = GetParamValue(_T("name"));
+    
+    wxWindow *wnd = NULL;
+    
+    if (id != -1)
+        wnd = m_ParentAsWindow->FindWindow(id);
+    if (wnd == NULL && !name.IsEmpty())
+        wnd = m_ParentAsWindow->FindWindow(name);
+        
+    if (wnd == NULL)
+        wxLogError(_T("Cannot find specified window for <unknown> (id=%li, name='%s')."), id, name.mb_str());
+    else
+    {
+        if (wnd->GetParent() != m_ParentAsWindow)
+            wnd->Reparent(m_ParentAsWindow);
+        SetupWindow(wnd);
+    }
+
+    return wnd;
+}
+
+bool wxUnknownWidgetXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return node->GetName() == _T("unknown");
+}
+
diff --git a/contrib/utils/wxrcedit/df/unknown.df b/contrib/utils/wxrcedit/df/unknown.df
new file mode 100644 (file)
index 0000000..ee00210
--- /dev/null
@@ -0,0 +1,4 @@
+node unknown
+var id of integer
+var name of text
+derived from control