]> git.saurik.com Git - wxWidgets.git/blob - src/xrc/xh_hyperlink.cpp
added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
[wxWidgets.git] / src / xrc / xh_hyperlink.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/xrc/xh_hyperlink.cpp
3 // Purpose: Hyperlink control
4 // Author: David Norris <danorris@gmail.com>
5 // Modified by: Ryan Norton, Francesco Montorsi
6 // Created: 04/02/2005
7 // RCS-ID: $Id$
8 // Copyright: (c) 2005 David Norris
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 //===========================================================================
13 // Declarations
14 //===========================================================================
15
16 //---------------------------------------------------------------------------
17 // Pre-compiled header stuff
18 //---------------------------------------------------------------------------
19
20 // For compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
22
23 #ifdef __BORLANDC__
24 #pragma hdrstop
25 #endif
26
27 #if wxUSE_XRC && wxUSE_HYPERLINKCTRL
28
29 //---------------------------------------------------------------------------
30 // Includes
31 //---------------------------------------------------------------------------
32
33 #include "wx/xrc/xh_hyperlink.h"
34
35 #ifndef WX_PRECOMP
36 #endif
37
38 #include "wx/hyperlink.h"
39 #include "wx/xrc/xmlres.h"
40
41 //===========================================================================
42 // Implementation
43 //===========================================================================
44
45 //---------------------------------------------------------------------------
46 // wxHyperlinkCtrlXmlHandler
47 //---------------------------------------------------------------------------
48
49 // Register with wxWindows' dynamic class subsystem.
50 IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkCtrlXmlHandler, wxXmlResourceHandler)
51
52 wxHyperlinkCtrlXmlHandler::wxHyperlinkCtrlXmlHandler()
53 {
54 XRC_ADD_STYLE(wxHL_CONTEXTMENU);
55 XRC_ADD_STYLE(wxHL_ALIGN_LEFT);
56 XRC_ADD_STYLE(wxHL_ALIGN_RIGHT);
57 XRC_ADD_STYLE(wxHL_ALIGN_CENTRE);
58 XRC_ADD_STYLE(wxHL_DEFAULT_STYLE);
59
60 AddWindowStyles();
61 }
62
63 wxObject *wxHyperlinkCtrlXmlHandler::DoCreateResource()
64 {
65 XRC_MAKE_INSTANCE(control, wxHyperlinkCtrl)
66
67 control->Create
68 (
69 m_parentAsWindow,
70 GetID(),
71 GetText(wxT("label")),
72 GetParamValue(wxT("url")),
73 GetPosition(), GetSize(),
74 GetStyle(wxT("style"), wxHL_DEFAULT_STYLE),
75 GetName()
76 );
77
78 SetupWindow(control);
79
80 return control;
81 }
82
83 bool wxHyperlinkCtrlXmlHandler::CanHandle(wxXmlNode *node)
84 {
85 return IsOfClass(node, wxT("wxHyperlinkCtrl"));
86 }
87
88 #endif // wxUSE_XRC && wxUSE_HYPERLINKCTRL