Patch #2959 2010-03-26 00:26
cryogen
Added wxHyperlinkCtrl to wxSmith.- Download
- 2959-Added_wxHyperl.patch (9.5 KB)
Index: src/plugins/contrib/wxSmith/wxSmith-unix.cbp
===================================================================
--- src/plugins/contrib/wxSmith/wxSmith-unix.cbp (revision 6195)
+++ src/plugins/contrib/wxSmith/wxSmith-unix.cbp (working copy)
@@ -456,6 +456,12 @@
<Unit filename="wxwidgets/defitems/wxshtmlwindow.h">
<Option target="wxSmithLib" />
</Unit>
+ <Unit filename="wxwidgets/defitems\wxshyperlinkctrl.cpp">
+ <Option target="wxSmithLib" />
+ </Unit>
+ <Unit filename="wxwidgets/defitems\wxshyperlinkctrl.h">
+ <Option target="wxSmithLib" />
+ </Unit>
<Unit filename="wxwidgets/defitems/wxslistbook.cpp">
<Option target="wxSmithLib" />
</Unit>
Index: src/plugins/contrib/wxSmith/wxSmith.cbp
===================================================================
--- src/plugins/contrib/wxSmith/wxSmith.cbp (revision 6195)
+++ src/plugins/contrib/wxSmith/wxSmith.cbp (working copy)
@@ -479,6 +479,12 @@
<Unit filename="wxwidgets\defitems\wxshtmlwindow.h">
<Option target="wxSmithLib" />
</Unit>
+ <Unit filename="wxwidgets\defitems\wxshyperlinkctrl.cpp">
+ <Option target="wxSmithLib" />
+ </Unit>
+ <Unit filename="wxwidgets\defitems\wxshyperlinkctrl.h">
+ <Option target="wxSmithLib" />
+ </Unit>
<Unit filename="wxwidgets\defitems\wxslistbook.cpp">
<Option target="wxSmithLib" />
</Unit>
Index: src/plugins/contrib/wxSmith/wxwidgets/defitems/Makefile.am
===================================================================
--- src/plugins/contrib/wxSmith/wxwidgets/defitems/Makefile.am (revision 6195)
+++ src/plugins/contrib/wxSmith/wxwidgets/defitems/Makefile.am (working copy)
@@ -74,7 +74,8 @@
./wxssingleinstancechecker.cpp \
./wxsstopwatch.cpp \
./wxssymbolpickerdialog.cpp \
-./wxsglcanvas.cpp
+./wxsglcanvas.cpp \
+./wxshyperlinkctrl.cpp
noinst_HEADERS = \
./wxsgauge.h \
@@ -139,5 +140,6 @@
./wxssingleinstancechecker.h \
./wxsstopwatch.h \
./wxssymbolpickerdialog.h \
-./wxsglcanvas.h
+./wxsglcanvas.h \
+./wxshyperlinkctrl.h
Index: src/plugins/contrib/wxSmith/wxwidgets/defitems/wxshyperlinkctrl.cpp
===================================================================
--- src/plugins/contrib/wxSmith/wxwidgets/defitems/wxshyperlinkctrl.cpp (revision 0)
+++ src/plugins/contrib/wxSmith/wxwidgets/defitems/wxshyperlinkctrl.cpp (revision 0)
@@ -0,0 +1,150 @@
+/*
+* This file is part of wxSmith plugin for Code::Blocks Studio
+* Copyright (C) 2010 Gary Harris
+*
+* wxSmith is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* wxSmith is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with wxSmith. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "wxshyperlinkctrl.h"
+#include "wx/hyperlink.h"
+
+
+namespace
+{
+ wxsRegisterItem<wxsHyperlinkCtrl> Reg(_T("HyperlinkCtrl"),wxsTWidget,_T("Standard"),11);
+
+ WXS_ST_BEGIN(wxsHyperlinkCtrlStyles,_T("wxHL_CONTEXTMENU|wxNO_BORDER|wxHL_ALIGN_CENTRE"))
+ WXS_ST_CATEGORY("wxHyperlinkCtrl")
+ WXS_ST(wxHL_CONTEXTMENU)
+ WXS_ST(wxHL_ALIGN_LEFT)
+ WXS_ST(wxHL_ALIGN_RIGHT)
+ WXS_ST(wxHL_ALIGN_CENTRE)
+ WXS_ST_DEFAULTS()
+ WXS_ST_END()
+
+ WXS_EV_BEGIN(wxsHyperlinkCtrlEvents)
+ WXS_EVI(EVT_HYPERLINK,wxEVT_COMMAND_HYPERLINK,wxCommandEvent,Click)
+ WXS_EV_END()
+}
+
+/*! \brief Ctor
+ *
+ * \param Data wxsItemResData* The control's resource data.
+ *
+ */
+wxsHyperlinkCtrl::wxsHyperlinkCtrl(wxsItemResData* Data):
+ wxsWidget(
+ Data,
+ &Reg.Info,
+ wxsHyperlinkCtrlEvents,
+ wxsHyperlinkCtrlStyles),
+ m_Label(_("http://www.codeblocks.org"))
+{}
+
+/*! \brief Create the initial control.
+ *
+ * \return void
+ *
+ */
+void wxsHyperlinkCtrl::OnBuildCreatingCode()
+{
+ switch ( GetLanguage() )
+ {
+ case wxsCPP:
+ {
+ AddHeader(_T("<wx/hyperlink.h>"),GetInfo().ClassName,hfInPCH);
+
+ #if wxCHECK_VERSION(2, 9, 0)
+ Codef(_T("%C(%W, %I, %t, %t, %P, %S, %T, %N);\n"),m_Label.wx_str(), m_URL.wx_str());
+ #else
+ Codef(_T("%C(%W, %I, %t, %t, %P, %S, %T, %N);\n"),m_Label.c_str(), m_URL.c_str());
+ #endif
+
+ wxString ss = m_NormalColour.BuildCode( GetCoderContext() );
+ #if wxCHECK_VERSION(2, 9, 0)
+ if (!ss.IsEmpty()) Codef(_T("%ASetNormalColour(%s);\n"), ss.wx_str());
+ #el
download for full patch...
History
cryogen 2010-03-26 00:30
I've been missing this control in wxSmith for some time. Now I need miss it no longer. :-)
cryogen 2010-03-26 02:47
Didn't test well enough, apparently. Fixed bugs.
cryogen 2010-05-16 03:11
Fixed a typo in the default label.