added unknown widget support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
30
contrib/include/wx/xml/xh_unkwn.h
Normal file
30
contrib/include/wx/xml/xh_unkwn.h
Normal file
@@ -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_
|
61
contrib/src/xml/xh_unkwn.cpp
Normal file
61
contrib/src/xml/xh_unkwn.cpp
Normal file
@@ -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");
|
||||||
|
}
|
||||||
|
|
4
contrib/utils/wxrcedit/df/unknown.df
Normal file
4
contrib/utils/wxrcedit/df/unknown.df
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
node unknown
|
||||||
|
var id of integer
|
||||||
|
var name of text
|
||||||
|
derived from control
|
Reference in New Issue
Block a user