diff --git a/Makefile.in b/Makefile.in
index 23b15ebea5..8e36d8deb4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2664,7 +2664,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_HDR = \
wx/unix/joystick.h \
wx/unix/sound.h \
wx/unix/taskbarx11.h \
- wx/gtk/animate.h
+ wx/gtk/animate.h \
+ wx/gtk/hyperlink.h
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_HDR)
COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR = \
wx/mac/carbon/drawer.h \
@@ -2704,6 +2705,7 @@ COND_WXUNIV_0_ADVANCED_HDR = \
wx/generic/gridctrl.h \
wx/generic/gridsel.h \
wx/generic/helpext.h \
+ wx/generic/hyperlink.h \
wx/generic/laywin.h \
wx/generic/propdlg.h \
wx/generic/sashwin.h \
@@ -2745,6 +2747,7 @@ COND_WXUNIV_1_ADVANCED_HDR = \
wx/generic/gridctrl.h \
wx/generic/gridsel.h \
wx/generic/helpext.h \
+ wx/generic/hyperlink.h \
wx/generic/laywin.h \
wx/generic/propdlg.h \
wx/generic/sashwin.h \
@@ -4866,6 +4869,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \
monodll_animatecmn.o \
monodll_datavcmn.o \
+ monodll_hyperlnkcmn.o \
monodll_aboutdlgg.o \
monodll_animateg.o \
monodll_bmpcboxg.o \
@@ -4876,7 +4880,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \
monodll_gridctrl.o \
monodll_gridsel.o \
monodll_helpext.o \
- monodll_hyperlink.o \
+ monodll_hyperlinkg.o \
monodll_laywin.o \
monodll_odcombo.o \
monodll_propdlg.o \
@@ -4890,6 +4894,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS = \
monodll_animatecmn.o \
monodll_datavcmn.o \
+ monodll_hyperlnkcmn.o \
monodll_aboutdlgg.o \
monodll_animateg.o \
monodll_bmpcboxg.o \
@@ -4900,7 +4905,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS = \
monodll_gridctrl.o \
monodll_gridsel.o \
monodll_helpext.o \
- monodll_hyperlink.o \
+ monodll_hyperlinkg.o \
monodll_laywin.o \
monodll_odcombo.o \
monodll_propdlg.o \
@@ -6653,6 +6658,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \
monolib_animatecmn.o \
monolib_datavcmn.o \
+ monolib_hyperlnkcmn.o \
monolib_aboutdlgg.o \
monolib_animateg.o \
monolib_bmpcboxg.o \
@@ -6663,7 +6669,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \
monolib_gridctrl.o \
monolib_gridsel.o \
monolib_helpext.o \
- monolib_hyperlink.o \
+ monolib_hyperlinkg.o \
monolib_laywin.o \
monolib_odcombo.o \
monolib_propdlg.o \
@@ -6677,6 +6683,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 = \
monolib_animatecmn.o \
monolib_datavcmn.o \
+ monolib_hyperlnkcmn.o \
monolib_aboutdlgg.o \
monolib_animateg.o \
monolib_bmpcboxg.o \
@@ -6687,7 +6694,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 = \
monolib_gridctrl.o \
monolib_gridsel.o \
monolib_helpext.o \
- monolib_hyperlink.o \
+ monolib_hyperlinkg.o \
monolib_laywin.o \
monolib_odcombo.o \
monolib_propdlg.o \
@@ -10179,6 +10186,7 @@ COND_USE_SOSYMLINKS_1___advdll___so_symlinks_uninst_cmd = rm -f \
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \
advdll_animatecmn.o \
advdll_datavcmn.o \
+ advdll_hyperlnkcmn.o \
advdll_aboutdlgg.o \
advdll_animateg.o \
advdll_bmpcboxg.o \
@@ -10189,7 +10197,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \
advdll_gridctrl.o \
advdll_gridsel.o \
advdll_helpext.o \
- advdll_hyperlink.o \
+ advdll_hyperlinkg.o \
advdll_laywin.o \
advdll_odcombo.o \
advdll_propdlg.o \
@@ -10203,6 +10211,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 = \
advdll_animatecmn.o \
advdll_datavcmn.o \
+ advdll_hyperlnkcmn.o \
advdll_aboutdlgg.o \
advdll_animateg.o \
advdll_bmpcboxg.o \
@@ -10213,7 +10222,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 = \
advdll_gridctrl.o \
advdll_gridsel.o \
advdll_helpext.o \
- advdll_hyperlink.o \
+ advdll_hyperlinkg.o \
advdll_laywin.o \
advdll_odcombo.o \
advdll_propdlg.o \
@@ -10244,6 +10253,7 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname = \
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \
advlib_animatecmn.o \
advlib_datavcmn.o \
+ advlib_hyperlnkcmn.o \
advlib_aboutdlgg.o \
advlib_animateg.o \
advlib_bmpcboxg.o \
@@ -10254,7 +10264,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \
advlib_gridctrl.o \
advlib_gridsel.o \
advlib_helpext.o \
- advlib_hyperlink.o \
+ advlib_hyperlinkg.o \
advlib_laywin.o \
advlib_odcombo.o \
advlib_propdlg.o \
@@ -10268,6 +10278,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 = \
advlib_animatecmn.o \
advlib_datavcmn.o \
+ advlib_hyperlnkcmn.o \
advlib_aboutdlgg.o \
advlib_animateg.o \
advlib_bmpcboxg.o \
@@ -10278,7 +10289,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 = \
advlib_gridctrl.o \
advlib_gridsel.o \
advlib_helpext.o \
- advlib_hyperlink.o \
+ advlib_hyperlinkg.o \
advlib_laywin.o \
advlib_odcombo.o \
advlib_propdlg.o \
@@ -11044,6 +11055,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS = \
monodll_aboutdlg.o \
monodll_animate.o \
monodll_dataview.o \
+ monodll_hyperlink.o \
monodll_taskbar.o \
monodll_eggtrayicon.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS)
@@ -11107,6 +11119,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
monolib_aboutdlg.o \
monolib_animate.o \
monolib_dataview.o \
+ monolib_hyperlink.o \
monolib_taskbar.o \
monolib_eggtrayicon.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0)
@@ -11170,6 +11183,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
advdll_aboutdlg.o \
advdll_animate.o \
advdll_dataview.o \
+ advdll_hyperlink.o \
advdll_taskbar.o \
advdll_eggtrayicon.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8)
@@ -11221,6 +11235,7 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
advlib_aboutdlg.o \
advlib_animate.o \
advlib_dataview.o \
+ advlib_hyperlink.o \
advlib_taskbar.o \
advlib_eggtrayicon.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9)
@@ -16450,6 +16465,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
+@COND_USE_GUI_1@monodll_hyperlnkcmn.o: $(srcdir)/src/common/hyperlnkcmn.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/hyperlnkcmn.cpp
+
@COND_USE_GUI_1@monodll_aboutdlgg.o: $(srcdir)/src/generic/aboutdlgg.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/aboutdlgg.cpp
@@ -16480,8 +16498,8 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_helpext.o: $(srcdir)/src/generic/helpext.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/helpext.cpp
-@COND_USE_GUI_1@monodll_hyperlink.o: $(srcdir)/src/generic/hyperlink.cpp $(MONODLL_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/hyperlink.cpp
+@COND_USE_GUI_1@monodll_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/hyperlinkg.cpp
@COND_USE_GUI_1@monodll_laywin.o: $(srcdir)/src/generic/laywin.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
@@ -16609,6 +16627,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_hyperlink.o: $(srcdir)/src/gtk/hyperlink.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/hyperlink.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_eggtrayicon.o: $(srcdir)/src/gtk/eggtrayicon.c $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CCC) -c -o $@ $(MONODLL_CFLAGS) $(srcdir)/src/gtk/eggtrayicon.c
@@ -20575,6 +20596,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
+@COND_USE_GUI_1@monolib_hyperlnkcmn.o: $(srcdir)/src/common/hyperlnkcmn.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/hyperlnkcmn.cpp
+
@COND_USE_GUI_1@monolib_aboutdlgg.o: $(srcdir)/src/generic/aboutdlgg.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/aboutdlgg.cpp
@@ -20605,8 +20629,8 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_helpext.o: $(srcdir)/src/generic/helpext.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/helpext.cpp
-@COND_USE_GUI_1@monolib_hyperlink.o: $(srcdir)/src/generic/hyperlink.cpp $(MONOLIB_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/hyperlink.cpp
+@COND_USE_GUI_1@monolib_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/hyperlinkg.cpp
@COND_USE_GUI_1@monolib_laywin.o: $(srcdir)/src/generic/laywin.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
@@ -20734,6 +20758,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_hyperlink.o: $(srcdir)/src/gtk/hyperlink.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/hyperlink.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_eggtrayicon.o: $(srcdir)/src/gtk/eggtrayicon.c $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CCC) -c -o $@ $(MONOLIB_CFLAGS) $(srcdir)/src/gtk/eggtrayicon.c
@@ -28012,6 +28039,9 @@ advdll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVDLL_ODEP)
advdll_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(ADVDLL_ODEP)
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
+advdll_hyperlnkcmn.o: $(srcdir)/src/common/hyperlnkcmn.cpp $(ADVDLL_ODEP)
+ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/hyperlnkcmn.cpp
+
advdll_aboutdlgg.o: $(srcdir)/src/generic/aboutdlgg.cpp $(ADVDLL_ODEP)
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/aboutdlgg.cpp
@@ -28042,8 +28072,8 @@ advdll_gridsel.o: $(srcdir)/src/generic/gridsel.cpp $(ADVDLL_ODEP)
advdll_helpext.o: $(srcdir)/src/generic/helpext.cpp $(ADVDLL_ODEP)
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/helpext.cpp
-advdll_hyperlink.o: $(srcdir)/src/generic/hyperlink.cpp $(ADVDLL_ODEP)
- $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/hyperlink.cpp
+advdll_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(ADVDLL_ODEP)
+ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/hyperlinkg.cpp
advdll_laywin.o: $(srcdir)/src/generic/laywin.cpp $(ADVDLL_ODEP)
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
@@ -28201,6 +28231,9 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(ADVDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_hyperlink.o: $(srcdir)/src/gtk/hyperlink.cpp $(ADVDLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/gtk/hyperlink.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_eggtrayicon.o: $(srcdir)/src/gtk/eggtrayicon.c $(ADVDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CCC) -c -o $@ $(ADVDLL_CFLAGS) $(srcdir)/src/gtk/eggtrayicon.c
@@ -28222,6 +28255,9 @@ advlib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVLIB_ODEP)
advlib_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(ADVLIB_ODEP)
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
+advlib_hyperlnkcmn.o: $(srcdir)/src/common/hyperlnkcmn.cpp $(ADVLIB_ODEP)
+ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/hyperlnkcmn.cpp
+
advlib_aboutdlgg.o: $(srcdir)/src/generic/aboutdlgg.cpp $(ADVLIB_ODEP)
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/aboutdlgg.cpp
@@ -28252,8 +28288,8 @@ advlib_gridsel.o: $(srcdir)/src/generic/gridsel.cpp $(ADVLIB_ODEP)
advlib_helpext.o: $(srcdir)/src/generic/helpext.cpp $(ADVLIB_ODEP)
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/helpext.cpp
-advlib_hyperlink.o: $(srcdir)/src/generic/hyperlink.cpp $(ADVLIB_ODEP)
- $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/hyperlink.cpp
+advlib_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(ADVLIB_ODEP)
+ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/hyperlinkg.cpp
advlib_laywin.o: $(srcdir)/src/generic/laywin.cpp $(ADVLIB_ODEP)
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
@@ -28411,6 +28447,9 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(ADVLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_hyperlink.o: $(srcdir)/src/gtk/hyperlink.cpp $(ADVLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/hyperlink.cpp
+
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_eggtrayicon.o: $(srcdir)/src/gtk/eggtrayicon.c $(ADVLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CCC) -c -o $@ $(ADVLIB_CFLAGS) $(srcdir)/src/gtk/eggtrayicon.c
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index db629bcf0f..4fd277dabf 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -2657,6 +2657,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/common/animatecmn.cpp
src/common/datavcmn.cpp
+ src/common/hyperlnkcmn.cpp
src/generic/aboutdlgg.cpp
src/generic/animateg.cpp
src/generic/bmpcboxg.cpp
@@ -2667,7 +2668,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/generic/gridctrl.cpp
src/generic/gridsel.cpp
src/generic/helpext.cpp
- src/generic/hyperlink.cpp
+ src/generic/hyperlinkg.cpp
src/generic/laywin.cpp
src/generic/odcombo.cpp
src/generic/propdlg.cpp
@@ -2696,6 +2697,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/generic/gridctrl.h
wx/generic/gridsel.h
wx/generic/helpext.h
+ wx/generic/hyperlink.h
wx/generic/laywin.h
wx/generic/propdlg.h
wx/generic/sashwin.h
@@ -2797,11 +2799,13 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/gtk/aboutdlg.cpp
src/gtk/animate.cpp
src/gtk/dataview.cpp
+ src/gtk/hyperlink.cpp
src/gtk/taskbar.cpp
src/gtk/eggtrayicon.c
wx/gtk/animate.h
+ wx/gtk/hyperlink.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index fbffb686fd..9300746015 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1767,6 +1767,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.obj \
$(OBJS)\monodll_datavcmn.obj \
+ $(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_animateg.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -1777,7 +1778,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.obj \
$(OBJS)\monodll_gridsel.obj \
$(OBJS)\monodll_helpext.obj \
- $(OBJS)\monodll_hyperlink.obj \
+ $(OBJS)\monodll_hyperlinkg.obj \
$(OBJS)\monodll_laywin.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
@@ -1796,6 +1797,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.obj \
$(OBJS)\monodll_datavcmn.obj \
+ $(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_animateg.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -1806,7 +1808,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.obj \
$(OBJS)\monodll_gridsel.obj \
$(OBJS)\monodll_helpext.obj \
- $(OBJS)\monodll_hyperlink.obj \
+ $(OBJS)\monodll_hyperlinkg.obj \
$(OBJS)\monodll_laywin.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
@@ -2385,6 +2387,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.obj \
$(OBJS)\monolib_datavcmn.obj \
+ $(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_animateg.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -2395,7 +2398,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.obj \
$(OBJS)\monolib_gridsel.obj \
$(OBJS)\monolib_helpext.obj \
- $(OBJS)\monolib_hyperlink.obj \
+ $(OBJS)\monolib_hyperlinkg.obj \
$(OBJS)\monolib_laywin.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
@@ -2414,6 +2417,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.obj \
$(OBJS)\monolib_datavcmn.obj \
+ $(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_animateg.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -2424,7 +2428,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.obj \
$(OBJS)\monolib_gridsel.obj \
$(OBJS)\monolib_helpext.obj \
- $(OBJS)\monolib_hyperlink.obj \
+ $(OBJS)\monolib_hyperlinkg.obj \
$(OBJS)\monolib_laywin.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
@@ -3368,6 +3372,7 @@ __advdll___depname = \
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.obj \
$(OBJS)\advdll_datavcmn.obj \
+ $(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_animateg.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -3378,7 +3383,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.obj \
$(OBJS)\advdll_gridsel.obj \
$(OBJS)\advdll_helpext.obj \
- $(OBJS)\advdll_hyperlink.obj \
+ $(OBJS)\advdll_hyperlinkg.obj \
$(OBJS)\advdll_laywin.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
@@ -3397,6 +3402,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.obj \
$(OBJS)\advdll_datavcmn.obj \
+ $(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_animateg.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -3407,7 +3413,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.obj \
$(OBJS)\advdll_gridsel.obj \
$(OBJS)\advdll_helpext.obj \
- $(OBJS)\advdll_hyperlink.obj \
+ $(OBJS)\advdll_hyperlinkg.obj \
$(OBJS)\advdll_laywin.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
@@ -3429,6 +3435,7 @@ __advlib___depname = \
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.obj \
$(OBJS)\advlib_datavcmn.obj \
+ $(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_animateg.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -3439,7 +3446,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.obj \
$(OBJS)\advlib_gridsel.obj \
$(OBJS)\advlib_helpext.obj \
- $(OBJS)\advlib_hyperlink.obj \
+ $(OBJS)\advlib_hyperlinkg.obj \
$(OBJS)\advlib_laywin.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
@@ -3458,6 +3465,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.obj \
$(OBJS)\advlib_datavcmn.obj \
+ $(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_animateg.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -3468,7 +3476,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.obj \
$(OBJS)\advlib_gridsel.obj \
$(OBJS)\advlib_helpext.obj \
- $(OBJS)\advlib_hyperlink.obj \
+ $(OBJS)\advlib_hyperlinkg.obj \
$(OBJS)\advlib_laywin.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
@@ -6428,6 +6436,11 @@ $(OBJS)\monodll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -6479,7 +6492,7 @@ $(OBJS)\monodll_helpext.obj: ..\..\src\generic\helpext.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monodll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
!endif
@@ -8430,6 +8443,11 @@ $(OBJS)\monolib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -8481,7 +8499,7 @@ $(OBJS)\monolib_helpext.obj: ..\..\src\generic\helpext.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monolib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
!endif
@@ -11741,6 +11759,9 @@ $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
$(OBJS)\advdll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
+$(OBJS)\advdll_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
+
$(OBJS)\advdll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
@@ -11771,7 +11792,7 @@ $(OBJS)\advdll_gridsel.obj: ..\..\src\generic\gridsel.cpp
$(OBJS)\advdll_helpext.obj: ..\..\src\generic\helpext.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
-$(OBJS)\advdll_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advdll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
$(OBJS)\advdll_laywin.obj: ..\..\src\generic\laywin.cpp
@@ -11822,6 +11843,9 @@ $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
$(OBJS)\advlib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
+$(OBJS)\advlib_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
+
$(OBJS)\advlib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
@@ -11852,7 +11876,7 @@ $(OBJS)\advlib_gridsel.obj: ..\..\src\generic\gridsel.cpp
$(OBJS)\advlib_helpext.obj: ..\..\src\generic\helpext.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
-$(OBJS)\advlib_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advlib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
$(OBJS)\advlib_laywin.obj: ..\..\src\generic\laywin.cpp
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 120b55b0c1..78e77c21de 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1780,6 +1780,7 @@ ifeq ($(WXUNIV),0)
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.o \
$(OBJS)\monodll_datavcmn.o \
+ $(OBJS)\monodll_hyperlnkcmn.o \
$(OBJS)\monodll_aboutdlgg.o \
$(OBJS)\monodll_animateg.o \
$(OBJS)\monodll_bmpcboxg.o \
@@ -1790,7 +1791,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.o \
$(OBJS)\monodll_gridsel.o \
$(OBJS)\monodll_helpext.o \
- $(OBJS)\monodll_hyperlink.o \
+ $(OBJS)\monodll_hyperlinkg.o \
$(OBJS)\monodll_laywin.o \
$(OBJS)\monodll_odcombo.o \
$(OBJS)\monodll_propdlg.o \
@@ -1809,6 +1810,7 @@ ifeq ($(WXUNIV),1)
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.o \
$(OBJS)\monodll_datavcmn.o \
+ $(OBJS)\monodll_hyperlnkcmn.o \
$(OBJS)\monodll_aboutdlgg.o \
$(OBJS)\monodll_animateg.o \
$(OBJS)\monodll_bmpcboxg.o \
@@ -1819,7 +1821,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.o \
$(OBJS)\monodll_gridsel.o \
$(OBJS)\monodll_helpext.o \
- $(OBJS)\monodll_hyperlink.o \
+ $(OBJS)\monodll_hyperlinkg.o \
$(OBJS)\monodll_laywin.o \
$(OBJS)\monodll_odcombo.o \
$(OBJS)\monodll_propdlg.o \
@@ -2404,6 +2406,7 @@ ifeq ($(WXUNIV),0)
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.o \
$(OBJS)\monolib_datavcmn.o \
+ $(OBJS)\monolib_hyperlnkcmn.o \
$(OBJS)\monolib_aboutdlgg.o \
$(OBJS)\monolib_animateg.o \
$(OBJS)\monolib_bmpcboxg.o \
@@ -2414,7 +2417,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.o \
$(OBJS)\monolib_gridsel.o \
$(OBJS)\monolib_helpext.o \
- $(OBJS)\monolib_hyperlink.o \
+ $(OBJS)\monolib_hyperlinkg.o \
$(OBJS)\monolib_laywin.o \
$(OBJS)\monolib_odcombo.o \
$(OBJS)\monolib_propdlg.o \
@@ -2433,6 +2436,7 @@ ifeq ($(WXUNIV),1)
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.o \
$(OBJS)\monolib_datavcmn.o \
+ $(OBJS)\monolib_hyperlnkcmn.o \
$(OBJS)\monolib_aboutdlgg.o \
$(OBJS)\monolib_animateg.o \
$(OBJS)\monolib_bmpcboxg.o \
@@ -2443,7 +2447,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.o \
$(OBJS)\monolib_gridsel.o \
$(OBJS)\monolib_helpext.o \
- $(OBJS)\monolib_hyperlink.o \
+ $(OBJS)\monolib_hyperlinkg.o \
$(OBJS)\monolib_laywin.o \
$(OBJS)\monolib_odcombo.o \
$(OBJS)\monolib_propdlg.o \
@@ -3415,6 +3419,7 @@ ifeq ($(WXUNIV),0)
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.o \
$(OBJS)\advdll_datavcmn.o \
+ $(OBJS)\advdll_hyperlnkcmn.o \
$(OBJS)\advdll_aboutdlgg.o \
$(OBJS)\advdll_animateg.o \
$(OBJS)\advdll_bmpcboxg.o \
@@ -3425,7 +3430,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.o \
$(OBJS)\advdll_gridsel.o \
$(OBJS)\advdll_helpext.o \
- $(OBJS)\advdll_hyperlink.o \
+ $(OBJS)\advdll_hyperlinkg.o \
$(OBJS)\advdll_laywin.o \
$(OBJS)\advdll_odcombo.o \
$(OBJS)\advdll_propdlg.o \
@@ -3444,6 +3449,7 @@ ifeq ($(WXUNIV),1)
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.o \
$(OBJS)\advdll_datavcmn.o \
+ $(OBJS)\advdll_hyperlnkcmn.o \
$(OBJS)\advdll_aboutdlgg.o \
$(OBJS)\advdll_animateg.o \
$(OBJS)\advdll_bmpcboxg.o \
@@ -3454,7 +3460,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.o \
$(OBJS)\advdll_gridsel.o \
$(OBJS)\advdll_helpext.o \
- $(OBJS)\advdll_hyperlink.o \
+ $(OBJS)\advdll_hyperlinkg.o \
$(OBJS)\advdll_laywin.o \
$(OBJS)\advdll_odcombo.o \
$(OBJS)\advdll_propdlg.o \
@@ -3480,6 +3486,7 @@ ifeq ($(WXUNIV),0)
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.o \
$(OBJS)\advlib_datavcmn.o \
+ $(OBJS)\advlib_hyperlnkcmn.o \
$(OBJS)\advlib_aboutdlgg.o \
$(OBJS)\advlib_animateg.o \
$(OBJS)\advlib_bmpcboxg.o \
@@ -3490,7 +3497,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.o \
$(OBJS)\advlib_gridsel.o \
$(OBJS)\advlib_helpext.o \
- $(OBJS)\advlib_hyperlink.o \
+ $(OBJS)\advlib_hyperlinkg.o \
$(OBJS)\advlib_laywin.o \
$(OBJS)\advlib_odcombo.o \
$(OBJS)\advlib_propdlg.o \
@@ -3509,6 +3516,7 @@ ifeq ($(WXUNIV),1)
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.o \
$(OBJS)\advlib_datavcmn.o \
+ $(OBJS)\advlib_hyperlnkcmn.o \
$(OBJS)\advlib_aboutdlgg.o \
$(OBJS)\advlib_animateg.o \
$(OBJS)\advlib_bmpcboxg.o \
@@ -3519,7 +3527,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.o \
$(OBJS)\advlib_gridsel.o \
$(OBJS)\advlib_helpext.o \
- $(OBJS)\advlib_hyperlink.o \
+ $(OBJS)\advlib_hyperlinkg.o \
$(OBJS)\advlib_laywin.o \
$(OBJS)\advlib_odcombo.o \
$(OBJS)\advlib_propdlg.o \
@@ -6657,6 +6665,11 @@ $(OBJS)\monodll_datavcmn.o: ../../src/common/datavcmn.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_hyperlnkcmn.o: ../../src/common/hyperlnkcmn.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_aboutdlgg.o: ../../src/generic/aboutdlgg.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -6708,7 +6721,7 @@ $(OBJS)\monodll_helpext.o: ../../src/generic/helpext.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_hyperlink.o: ../../src/generic/hyperlink.cpp
+$(OBJS)\monodll_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -8759,6 +8772,11 @@ $(OBJS)\monolib_datavcmn.o: ../../src/common/datavcmn.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_hyperlnkcmn.o: ../../src/common/hyperlnkcmn.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_aboutdlgg.o: ../../src/generic/aboutdlgg.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -8810,7 +8828,7 @@ $(OBJS)\monolib_helpext.o: ../../src/generic/helpext.cpp
endif
ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_hyperlink.o: ../../src/generic/hyperlink.cpp
+$(OBJS)\monolib_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -12270,6 +12288,9 @@ $(OBJS)\advdll_animatecmn.o: ../../src/common/animatecmn.cpp
$(OBJS)\advdll_datavcmn.o: ../../src/common/datavcmn.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\advdll_hyperlnkcmn.o: ../../src/common/hyperlnkcmn.cpp
+ $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\advdll_aboutdlgg.o: ../../src/generic/aboutdlgg.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -12300,7 +12321,7 @@ $(OBJS)\advdll_gridsel.o: ../../src/generic/gridsel.cpp
$(OBJS)\advdll_helpext.o: ../../src/generic/helpext.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
-$(OBJS)\advdll_hyperlink.o: ../../src/generic/hyperlink.cpp
+$(OBJS)\advdll_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\advdll_laywin.o: ../../src/generic/laywin.cpp
@@ -12351,6 +12372,9 @@ $(OBJS)\advlib_animatecmn.o: ../../src/common/animatecmn.cpp
$(OBJS)\advlib_datavcmn.o: ../../src/common/datavcmn.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\advlib_hyperlnkcmn.o: ../../src/common/hyperlnkcmn.cpp
+ $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\advlib_aboutdlgg.o: ../../src/generic/aboutdlgg.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -12381,7 +12405,7 @@ $(OBJS)\advlib_gridsel.o: ../../src/generic/gridsel.cpp
$(OBJS)\advlib_helpext.o: ../../src/generic/helpext.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
-$(OBJS)\advlib_hyperlink.o: ../../src/generic/hyperlink.cpp
+$(OBJS)\advlib_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\advlib_laywin.o: ../../src/generic/laywin.cpp
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 3362f8b4c9..2902119ae4 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1934,6 +1934,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.obj \
$(OBJS)\monodll_datavcmn.obj \
+ $(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_animateg.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -1944,7 +1945,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.obj \
$(OBJS)\monodll_gridsel.obj \
$(OBJS)\monodll_helpext.obj \
- $(OBJS)\monodll_hyperlink.obj \
+ $(OBJS)\monodll_hyperlinkg.obj \
$(OBJS)\monodll_laywin.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
@@ -1963,6 +1964,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_animatecmn.obj \
$(OBJS)\monodll_datavcmn.obj \
+ $(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_animateg.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -1973,7 +1975,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridctrl.obj \
$(OBJS)\monodll_gridsel.obj \
$(OBJS)\monodll_helpext.obj \
- $(OBJS)\monodll_hyperlink.obj \
+ $(OBJS)\monodll_hyperlinkg.obj \
$(OBJS)\monodll_laywin.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
@@ -2558,6 +2560,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.obj \
$(OBJS)\monolib_datavcmn.obj \
+ $(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_animateg.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -2568,7 +2571,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.obj \
$(OBJS)\monolib_gridsel.obj \
$(OBJS)\monolib_helpext.obj \
- $(OBJS)\monolib_hyperlink.obj \
+ $(OBJS)\monolib_hyperlinkg.obj \
$(OBJS)\monolib_laywin.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
@@ -2587,6 +2590,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_animatecmn.obj \
$(OBJS)\monolib_datavcmn.obj \
+ $(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_animateg.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -2597,7 +2601,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridctrl.obj \
$(OBJS)\monolib_gridsel.obj \
$(OBJS)\monolib_helpext.obj \
- $(OBJS)\monolib_hyperlink.obj \
+ $(OBJS)\monolib_hyperlinkg.obj \
$(OBJS)\monolib_laywin.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
@@ -3583,6 +3587,7 @@ __RUNTIME_LIBS_195 = $(__THREADSFLAG)
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.obj \
$(OBJS)\advdll_datavcmn.obj \
+ $(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_animateg.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -3593,7 +3598,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.obj \
$(OBJS)\advdll_gridsel.obj \
$(OBJS)\advdll_helpext.obj \
- $(OBJS)\advdll_hyperlink.obj \
+ $(OBJS)\advdll_hyperlinkg.obj \
$(OBJS)\advdll_laywin.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
@@ -3612,6 +3617,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_animatecmn.obj \
$(OBJS)\advdll_datavcmn.obj \
+ $(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_animateg.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -3622,7 +3628,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridctrl.obj \
$(OBJS)\advdll_gridsel.obj \
$(OBJS)\advdll_helpext.obj \
- $(OBJS)\advdll_hyperlink.obj \
+ $(OBJS)\advdll_hyperlinkg.obj \
$(OBJS)\advdll_laywin.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
@@ -3650,6 +3656,7 @@ __RUNTIME_LIBS_208 = $(__THREADSFLAG)
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.obj \
$(OBJS)\advlib_datavcmn.obj \
+ $(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_animateg.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -3660,7 +3667,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.obj \
$(OBJS)\advlib_gridsel.obj \
$(OBJS)\advlib_helpext.obj \
- $(OBJS)\advlib_hyperlink.obj \
+ $(OBJS)\advlib_hyperlinkg.obj \
$(OBJS)\advlib_laywin.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
@@ -3679,6 +3686,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_animatecmn.obj \
$(OBJS)\advlib_datavcmn.obj \
+ $(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_animateg.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -3689,7 +3697,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridctrl.obj \
$(OBJS)\advlib_gridsel.obj \
$(OBJS)\advlib_helpext.obj \
- $(OBJS)\advlib_hyperlink.obj \
+ $(OBJS)\advlib_hyperlinkg.obj \
$(OBJS)\advlib_laywin.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
@@ -6761,6 +6769,11 @@ $(OBJS)\monodll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -6812,7 +6825,7 @@ $(OBJS)\monodll_helpext.obj: ..\..\src\generic\helpext.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monodll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
!endif
@@ -8763,6 +8776,11 @@ $(OBJS)\monolib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -8814,7 +8832,7 @@ $(OBJS)\monolib_helpext.obj: ..\..\src\generic\helpext.cpp
!endif
!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monolib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
!endif
@@ -12074,6 +12092,9 @@ $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
$(OBJS)\advdll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
+$(OBJS)\advdll_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
+
$(OBJS)\advdll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
@@ -12104,7 +12125,7 @@ $(OBJS)\advdll_gridsel.obj: ..\..\src\generic\gridsel.cpp
$(OBJS)\advdll_helpext.obj: ..\..\src\generic\helpext.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
-$(OBJS)\advdll_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advdll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
$(OBJS)\advdll_laywin.obj: ..\..\src\generic\laywin.cpp
@@ -12155,6 +12176,9 @@ $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
$(OBJS)\advlib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
+$(OBJS)\advlib_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
+
$(OBJS)\advlib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
@@ -12185,7 +12209,7 @@ $(OBJS)\advlib_gridsel.obj: ..\..\src\generic\gridsel.cpp
$(OBJS)\advlib_helpext.obj: ..\..\src\generic\helpext.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
-$(OBJS)\advlib_hyperlink.obj: ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advlib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
$(OBJS)\advlib_laywin.obj: ..\..\src\generic\laywin.cpp
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 4c83bf8df6..3d0d4f2543 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -663,6 +663,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =
____ADVANCED_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_animatecmn.obj &
$(OBJS)\monodll_datavcmn.obj &
+ $(OBJS)\monodll_hyperlnkcmn.obj &
$(OBJS)\monodll_aboutdlgg.obj &
$(OBJS)\monodll_animateg.obj &
$(OBJS)\monodll_bmpcboxg.obj &
@@ -673,7 +674,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_gridctrl.obj &
$(OBJS)\monodll_gridsel.obj &
$(OBJS)\monodll_helpext.obj &
- $(OBJS)\monodll_hyperlink.obj &
+ $(OBJS)\monodll_hyperlinkg.obj &
$(OBJS)\monodll_laywin.obj &
$(OBJS)\monodll_odcombo.obj &
$(OBJS)\monodll_propdlg.obj &
@@ -692,6 +693,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
____ADVANCED_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_animatecmn.obj &
$(OBJS)\monodll_datavcmn.obj &
+ $(OBJS)\monodll_hyperlnkcmn.obj &
$(OBJS)\monodll_aboutdlgg.obj &
$(OBJS)\monodll_animateg.obj &
$(OBJS)\monodll_bmpcboxg.obj &
@@ -702,7 +704,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_gridctrl.obj &
$(OBJS)\monodll_gridsel.obj &
$(OBJS)\monodll_helpext.obj &
- $(OBJS)\monodll_hyperlink.obj &
+ $(OBJS)\monodll_hyperlinkg.obj &
$(OBJS)\monodll_laywin.obj &
$(OBJS)\monodll_odcombo.obj &
$(OBJS)\monodll_propdlg.obj &
@@ -1291,6 +1293,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =
____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_animatecmn.obj &
$(OBJS)\monolib_datavcmn.obj &
+ $(OBJS)\monolib_hyperlnkcmn.obj &
$(OBJS)\monolib_aboutdlgg.obj &
$(OBJS)\monolib_animateg.obj &
$(OBJS)\monolib_bmpcboxg.obj &
@@ -1301,7 +1304,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_gridctrl.obj &
$(OBJS)\monolib_gridsel.obj &
$(OBJS)\monolib_helpext.obj &
- $(OBJS)\monolib_hyperlink.obj &
+ $(OBJS)\monolib_hyperlinkg.obj &
$(OBJS)\monolib_laywin.obj &
$(OBJS)\monolib_odcombo.obj &
$(OBJS)\monolib_propdlg.obj &
@@ -1320,6 +1323,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_animatecmn.obj &
$(OBJS)\monolib_datavcmn.obj &
+ $(OBJS)\monolib_hyperlnkcmn.obj &
$(OBJS)\monolib_aboutdlgg.obj &
$(OBJS)\monolib_animateg.obj &
$(OBJS)\monolib_bmpcboxg.obj &
@@ -1330,7 +1334,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_gridctrl.obj &
$(OBJS)\monolib_gridsel.obj &
$(OBJS)\monolib_helpext.obj &
- $(OBJS)\monolib_hyperlink.obj &
+ $(OBJS)\monolib_hyperlinkg.obj &
$(OBJS)\monolib_laywin.obj &
$(OBJS)\monolib_odcombo.obj &
$(OBJS)\monolib_propdlg.obj &
@@ -2312,6 +2316,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =
____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\advdll_animatecmn.obj &
$(OBJS)\advdll_datavcmn.obj &
+ $(OBJS)\advdll_hyperlnkcmn.obj &
$(OBJS)\advdll_aboutdlgg.obj &
$(OBJS)\advdll_animateg.obj &
$(OBJS)\advdll_bmpcboxg.obj &
@@ -2322,7 +2327,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\advdll_gridctrl.obj &
$(OBJS)\advdll_gridsel.obj &
$(OBJS)\advdll_helpext.obj &
- $(OBJS)\advdll_hyperlink.obj &
+ $(OBJS)\advdll_hyperlinkg.obj &
$(OBJS)\advdll_laywin.obj &
$(OBJS)\advdll_odcombo.obj &
$(OBJS)\advdll_propdlg.obj &
@@ -2341,6 +2346,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\advdll_animatecmn.obj &
$(OBJS)\advdll_datavcmn.obj &
+ $(OBJS)\advdll_hyperlnkcmn.obj &
$(OBJS)\advdll_aboutdlgg.obj &
$(OBJS)\advdll_animateg.obj &
$(OBJS)\advdll_bmpcboxg.obj &
@@ -2351,7 +2357,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\advdll_gridctrl.obj &
$(OBJS)\advdll_gridsel.obj &
$(OBJS)\advdll_helpext.obj &
- $(OBJS)\advdll_hyperlink.obj &
+ $(OBJS)\advdll_hyperlinkg.obj &
$(OBJS)\advdll_laywin.obj &
$(OBJS)\advdll_odcombo.obj &
$(OBJS)\advdll_propdlg.obj &
@@ -2379,6 +2385,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =
____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\advlib_animatecmn.obj &
$(OBJS)\advlib_datavcmn.obj &
+ $(OBJS)\advlib_hyperlnkcmn.obj &
$(OBJS)\advlib_aboutdlgg.obj &
$(OBJS)\advlib_animateg.obj &
$(OBJS)\advlib_bmpcboxg.obj &
@@ -2389,7 +2396,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\advlib_gridctrl.obj &
$(OBJS)\advlib_gridsel.obj &
$(OBJS)\advlib_helpext.obj &
- $(OBJS)\advlib_hyperlink.obj &
+ $(OBJS)\advlib_hyperlinkg.obj &
$(OBJS)\advlib_laywin.obj &
$(OBJS)\advlib_odcombo.obj &
$(OBJS)\advlib_propdlg.obj &
@@ -2408,6 +2415,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\advlib_animatecmn.obj &
$(OBJS)\advlib_datavcmn.obj &
+ $(OBJS)\advlib_hyperlnkcmn.obj &
$(OBJS)\advlib_aboutdlgg.obj &
$(OBJS)\advlib_animateg.obj &
$(OBJS)\advlib_bmpcboxg.obj &
@@ -2418,7 +2426,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\advlib_gridctrl.obj &
$(OBJS)\advlib_gridsel.obj &
$(OBJS)\advlib_helpext.obj &
- $(OBJS)\advlib_hyperlink.obj &
+ $(OBJS)\advlib_hyperlinkg.obj &
$(OBJS)\advlib_laywin.obj &
$(OBJS)\advlib_odcombo.obj &
$(OBJS)\advlib_propdlg.obj &
@@ -6887,6 +6895,11 @@ $(OBJS)\monodll_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
+!ifeq USE_GUI 1
+$(OBJS)\monodll_hyperlnkcmn.obj : .AUTODEPEND ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
!ifeq USE_GUI 1
$(OBJS)\monodll_aboutdlgg.obj : .AUTODEPEND ..\..\src\generic\aboutdlgg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -6938,7 +6951,7 @@ $(OBJS)\monodll_helpext.obj : .AUTODEPEND ..\..\src\generic\helpext.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\monodll_hyperlink.obj : .AUTODEPEND ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monodll_hyperlinkg.obj : .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
@@ -8989,6 +9002,11 @@ $(OBJS)\monolib_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
+!ifeq USE_GUI 1
+$(OBJS)\monolib_hyperlnkcmn.obj : .AUTODEPEND ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
!ifeq USE_GUI 1
$(OBJS)\monolib_aboutdlgg.obj : .AUTODEPEND ..\..\src\generic\aboutdlgg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -9040,7 +9058,7 @@ $(OBJS)\monolib_helpext.obj : .AUTODEPEND ..\..\src\generic\helpext.cpp
!endif
!ifeq USE_GUI 1
-$(OBJS)\monolib_hyperlink.obj : .AUTODEPEND ..\..\src\generic\hyperlink.cpp
+$(OBJS)\monolib_hyperlinkg.obj : .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
@@ -12500,6 +12518,9 @@ $(OBJS)\advdll_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
$(OBJS)\advdll_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+$(OBJS)\advdll_hyperlnkcmn.obj : .AUTODEPEND ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+
$(OBJS)\advdll_aboutdlgg.obj : .AUTODEPEND ..\..\src\generic\aboutdlgg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
@@ -12530,7 +12551,7 @@ $(OBJS)\advdll_gridsel.obj : .AUTODEPEND ..\..\src\generic\gridsel.cpp
$(OBJS)\advdll_helpext.obj : .AUTODEPEND ..\..\src\generic\helpext.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
-$(OBJS)\advdll_hyperlink.obj : .AUTODEPEND ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advdll_hyperlinkg.obj : .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
$(OBJS)\advdll_laywin.obj : .AUTODEPEND ..\..\src\generic\laywin.cpp
@@ -12581,6 +12602,9 @@ $(OBJS)\advlib_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
$(OBJS)\advlib_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+$(OBJS)\advlib_hyperlnkcmn.obj : .AUTODEPEND ..\..\src\common\hyperlnkcmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+
$(OBJS)\advlib_aboutdlgg.obj : .AUTODEPEND ..\..\src\generic\aboutdlgg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
@@ -12611,7 +12635,7 @@ $(OBJS)\advlib_gridsel.obj : .AUTODEPEND ..\..\src\generic\gridsel.cpp
$(OBJS)\advlib_helpext.obj : .AUTODEPEND ..\..\src\generic\helpext.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
-$(OBJS)\advlib_hyperlink.obj : .AUTODEPEND ..\..\src\generic\hyperlink.cpp
+$(OBJS)\advlib_hyperlinkg.obj : .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
$(OBJS)\advlib_laywin.obj : .AUTODEPEND ..\..\src\generic\laywin.cpp
diff --git a/build/msw/wx_adv.dsp b/build/msw/wx_adv.dsp
index 237d467f2d..c96d594e6b 100644
--- a/build/msw/wx_adv.dsp
+++ b/build/msw/wx_adv.dsp
@@ -466,6 +466,10 @@ SOURCE=..\..\src\common\dummy.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\src\common\hyperlnkcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\common\taskbarcmn.cpp
# End Source File
# End Group
@@ -660,7 +664,7 @@ SOURCE=..\..\src\generic\helpext.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\src\generic\hyperlink.cpp
+SOURCE=..\..\src\generic\hyperlinkg.cpp
# End Source File
# Begin Source File
@@ -696,141 +700,6 @@ SOURCE=..\..\src\generic\wizard.cpp
# PROP Default_Filter ""
# Begin Source File
-SOURCE=..\..\include\wx\univ\setup.h
-
-!IF "$(CFG)" == "adv - Win32 DLL Universal Unicode Release"
-
-# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_dll\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_dll\mswunivu\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Unicode Debug"
-
-# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_dll\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_dll\mswunivud\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Release"
-
-# Begin Custom Build - Creating ..\..\lib\vc_dll\mswuniv\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_dll\mswuniv\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_dll\mswuniv\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Debug"
-
-# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivd\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_dll\mswunivd\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_dll\mswunivd\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Unicode Release"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Unicode Debug"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Release"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 DLL Debug"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Universal Unicode Release"
-
-# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_lib\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_lib\mswunivu\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Universal Unicode Debug"
-
-# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_lib\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_lib\mswunivud\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Universal Release"
-
-# Begin Custom Build - Creating ..\..\lib\vc_lib\mswuniv\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_lib\mswuniv\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_lib\mswuniv\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Universal Debug"
-
-# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivd\wx\setup.h
-InputPath=..\..\include\wx\univ\setup.h
-
-"..\..\lib\vc_lib\mswunivd\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy "$(InputPath)" ..\..\lib\vc_lib\mswunivd\wx\setup.h
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Unicode Release"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Unicode Debug"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Release"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "adv - Win32 Debug"
-
-# Begin Custom Build -
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
SOURCE=..\..\include\wx\msw\setup.h
!IF "$(CFG)" == "adv - Win32 DLL Universal Unicode Release"
@@ -963,6 +832,141 @@ InputPath=..\..\include\wx\msw\setup.h
!ENDIF
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\include\wx\univ\setup.h
+
+!IF "$(CFG)" == "adv - Win32 DLL Universal Unicode Release"
+
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_dll\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_dll\mswunivu\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Unicode Debug"
+
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_dll\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_dll\mswunivud\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Release"
+
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswuniv\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_dll\mswuniv\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_dll\mswuniv\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Debug"
+
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivd\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_dll\mswunivd\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_dll\mswunivd\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Unicode Release"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Unicode Debug"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Release"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 DLL Debug"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Universal Unicode Release"
+
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_lib\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_lib\mswunivu\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Universal Unicode Debug"
+
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_lib\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_lib\mswunivud\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Universal Release"
+
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswuniv\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_lib\mswuniv\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_lib\mswuniv\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Universal Debug"
+
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivd\wx\setup.h
+InputPath=..\..\include\wx\univ\setup.h
+
+"..\..\lib\vc_lib\mswunivd\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ copy "$(InputPath)" ..\..\lib\vc_lib\mswunivd\wx\setup.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Unicode Release"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Unicode Debug"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Release"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "adv - Win32 Debug"
+
+# Begin Custom Build -
+
+# End Custom Build
+
+!ENDIF
+
# End Source File
# End Group
# Begin Group "MSW Headers"
@@ -1197,6 +1201,10 @@ SOURCE=..\..\include\wx\generic\helpext.h
# End Source File
# Begin Source File
+SOURCE=..\..\include\wx\generic\hyperlink.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\wx\generic\laywin.h
# End Source File
# Begin Source File
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index 79811420ae..5f7a2e70c8 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -8313,6 +8313,10 @@ SOURCE=..\..\include\wx\generic\helpext.h
# End Source File
# Begin Source File
+SOURCE=..\..\include\wx\generic\hyperlink.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\wx\generic\laywin.h
# End Source File
# Begin Source File
diff --git a/docs/changes.txt b/docs/changes.txt
index f1636910cc..668df944db 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -38,6 +38,7 @@ All:
wxGTK:
+- Native implementation for wxHyperlinkCtrl (Francesco Montorsi)
- Implemented support for underlined fonts in wxStaticText.
- wxTopLevelWindow::SetSizeHints size increments now work.
- wxTopLevelWindow::GetSize() returns the size including the WM decorations.
diff --git a/include/wx/generic/hyperlink.h b/include/wx/generic/hyperlink.h
new file mode 100644
index 0000000000..93a086f565
--- /dev/null
+++ b/include/wx/generic/hyperlink.h
@@ -0,0 +1,142 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/generic/hyperlink.h
+// Purpose: Hyperlink control
+// Author: David Norris , Otto Wyss
+// Modified by: Ryan Norton, Francesco Montorsi
+// Created: 04/02/2005
+// RCS-ID: $Id$
+// Copyright: (c) 2005 David Norris
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GENERICHYPERLINKCTRLH__
+#define __GENERICHYPERLINKCTRLH__
+
+#include "wx/defs.h"
+#include "wx/control.h"
+
+
+// ----------------------------------------------------------------------------
+// wxGenericHyperlinkCtrl
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxGenericHyperlinkCtrl : public wxHyperlinkCtrlBase
+{
+public:
+ // Default constructor (for two-step construction).
+ wxGenericHyperlinkCtrl() { }
+
+ // Constructor.
+ wxGenericHyperlinkCtrl(wxWindow *parent,
+ wxWindowID id,
+ const wxString& label, const wxString& url,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxHL_DEFAULT_STYLE,
+ const wxString& name = wxHyperlinkCtrlNameStr)
+ {
+ (void)Create(parent, id, label, url, pos, size, style, name);
+ }
+
+ // Creation function (for two-step construction).
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& label, const wxString& url,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxHL_DEFAULT_STYLE,
+ const wxString& name = wxHyperlinkCtrlNameStr);
+
+
+ // get/set
+ wxColour GetHoverColour() const { return m_hoverColour; }
+ void SetHoverColour(const wxColour &colour) { m_hoverColour = colour; }
+
+ wxColour GetNormalColour() const { return m_normalColour; }
+ void SetNormalColour(const wxColour &colour);
+
+ wxColour GetVisitedColour() const { return m_visitedColour; }
+ void SetVisitedColour(const wxColour &colour);
+
+ wxString GetURL() const { return m_url; }
+ void SetURL (const wxString &url) { m_url=url; }
+
+ void SetVisited(bool visited = true) { m_visited=visited; }
+ bool GetVisited() const { return m_visited; }
+
+ // NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour,
+ // wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important !
+
+
+protected:
+ // event handlers
+
+ // Renders the hyperlink.
+ void OnPaint(wxPaintEvent& event);
+
+ // Returns the wxRect of the label of this hyperlink.
+ // This is different from the clientsize's rectangle when
+ // clientsize != bestsize and this rectangle is influenced
+ // by the alignment of the label (wxHL_ALIGN_*).
+ wxRect GetLabelRect() const;
+
+ // If the click originates inside the bounding box of the label,
+ // a flag is set so that an event will be fired when the left
+ // button is released.
+ void OnLeftDown(wxMouseEvent& event);
+
+ // If the click both originated and finished inside the bounding box
+ // of the label, a HyperlinkEvent is fired.
+ void OnLeftUp(wxMouseEvent& event);
+ void OnRightUp(wxMouseEvent& event);
+
+ // Changes the cursor to a hand, if the mouse is inside the label's
+ // bounding box.
+ void OnMotion(wxMouseEvent& event);
+
+ // Changes the cursor back to the default, if necessary.
+ void OnLeaveWindow(wxMouseEvent& event);
+
+ // handles "Copy URL" menuitem
+ void OnPopUpCopy(wxCommandEvent& event);
+
+ // Refreshes the control to update label's position if necessary
+ void OnSize(wxSizeEvent& event);
+
+
+ // overridden base class virtuals
+
+ // Returns the best size for the window, which is the size needed
+ // to display the text label.
+ virtual wxSize DoGetBestSize() const;
+
+ // creates a context menu with "Copy URL" menuitem
+ virtual void DoContextMenu(const wxPoint &);
+
+private:
+ // URL associated with the link. This is transmitted inside
+ // the HyperlinkEvent fired when the user clicks on the label.
+ wxString m_url;
+
+ // Foreground colours for various link types.
+ // NOTE: wxWindow::m_backgroundColour is used for background,
+ // wxWindow::m_foregroundColour is used to render non-visited links
+ wxColour m_hoverColour;
+ wxColour m_normalColour;
+ wxColour m_visitedColour;
+
+ // True if the mouse cursor is inside the label's bounding box.
+ bool m_rollover;
+
+ // True if the link has been clicked before.
+ bool m_visited;
+
+ // True if a click is in progress (left button down) and the click
+ // originated inside the label's bounding box.
+ bool m_clicking;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxGenericHyperlinkCtrl)
+};
+
+#endif // __GENERICHYPERLINKCTRLH__
diff --git a/include/wx/gtk/hyperlink.h b/include/wx/gtk/hyperlink.h
new file mode 100644
index 0000000000..91308f9153
--- /dev/null
+++ b/include/wx/gtk/hyperlink.h
@@ -0,0 +1,77 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/gtk/hyperlink.h
+// Purpose: Hyperlink control
+// Author: Francesco Montorsi
+// Modified by:
+// Created: 14/2/2007
+// RCS-ID: $Id$
+// Copyright: (c) 2007 Francesco Montorsi
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GTKHYPERLINKCTRLH__
+#define __GTKHYPERLINKCTRLH__
+
+#include "wx/generic/hyperlink.h"
+
+// ----------------------------------------------------------------------------
+// wxHyperlinkCtrl
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxGenericHyperlinkCtrl
+{
+public:
+ // Default constructor (for two-step construction).
+ wxHyperlinkCtrl() { }
+
+ // Constructor.
+ wxHyperlinkCtrl(wxWindow *parent,
+ wxWindowID id,
+ const wxString& label, const wxString& url,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxHL_DEFAULT_STYLE,
+ const wxString& name = wxHyperlinkCtrlNameStr)
+ {
+ (void)Create(parent, id, label, url, pos, size, style, name);
+ }
+
+ // Creation function (for two-step construction).
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& label, const wxString& url,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxHL_DEFAULT_STYLE,
+ const wxString& name = wxHyperlinkCtrlNameStr);
+
+
+ // get/set
+ virtual wxColour GetHoverColour() const;
+ virtual void SetHoverColour(const wxColour &colour);
+
+ virtual wxColour GetNormalColour() const;
+ virtual void SetNormalColour(const wxColour &colour);
+
+ virtual wxColour GetVisitedColour() const;
+ virtual void SetVisitedColour(const wxColour &colour);
+
+ virtual wxString GetURL() const;
+ virtual void SetURL(const wxString &url);
+
+ virtual void SetLabel(const wxString &label);
+
+protected:
+ // overridden base class virtuals
+
+ // Returns the best size for the window, which is the size needed
+ // to display the text label.
+ virtual wxSize DoGetBestSize() const;
+
+ virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxHyperlinkCtrl)
+};
+
+#endif // __GTKHYPERLINKCTRLH__
diff --git a/include/wx/hyperlink.h b/include/wx/hyperlink.h
index 4ebe3bc98b..586f1c583d 100644
--- a/include/wx/hyperlink.h
+++ b/include/wx/hyperlink.h
@@ -45,124 +45,41 @@ extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxHyperlinkCtrlNameStr[];
// just like a wxCommandEvent.
//
// Use the EVT_HYPERLINK() to catch link events.
-class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxControl
+class WXDLLIMPEXP_ADV wxHyperlinkCtrlBase : public wxControl
{
public:
- // Default constructor (for two-step construction).
- wxHyperlinkCtrl() { }
-
- // Constructor.
- wxHyperlinkCtrl(wxWindow *parent,
- wxWindowID id,
- const wxString& label, const wxString& url,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxHL_DEFAULT_STYLE,
- const wxString& name = wxHyperlinkCtrlNameStr)
- {
- (void)Create(parent, id, label, url, pos, size, style, name);
- }
-
- // Creation function (for two-step construction).
- bool Create(wxWindow *parent,
- wxWindowID id,
- const wxString& label, const wxString& url,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxHL_DEFAULT_STYLE,
- const wxString& name = wxHyperlinkCtrlNameStr);
-
// get/set
- wxColour GetHoverColour() const { return m_hoverColour; }
- void SetHoverColour(const wxColour &colour) { m_hoverColour = colour; }
+ virtual wxColour GetHoverColour() const = 0;
+ virtual void SetHoverColour(const wxColour &colour) = 0;
- wxColour GetNormalColour() const { return m_normalColour; }
- void SetNormalColour(const wxColour &colour);
+ virtual wxColour GetNormalColour() const = 0;
+ virtual void SetNormalColour(const wxColour &colour) = 0;
- wxColour GetVisitedColour() const { return m_visitedColour; }
- void SetVisitedColour(const wxColour &colour);
+ virtual wxColour GetVisitedColour() const = 0;
+ virtual void SetVisitedColour(const wxColour &colour) = 0;
- wxString GetURL() const { return m_url; }
- void SetURL (const wxString &url) { m_url=url; }
+ virtual wxString GetURL() const = 0;
+ virtual void SetURL (const wxString &url) = 0;
- void SetVisited(bool visited = true) { m_visited=visited; }
- bool GetVisited() const { return m_visited; }
+ virtual void SetVisited(bool visited = true) = 0;
+ virtual bool GetVisited() const = 0;
// NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour,
// wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important !
-
protected:
- // event handlers
+#ifdef __WXDEBUG__
+ // checks for validity some of the ctor/Create() function parameters
+ void CheckParams(const wxString& label, const wxString& url, long style);
+#else
+ void CheckParams() {}
+#endif
- // Renders the hyperlink.
- void OnPaint(wxPaintEvent& event);
-
- // Returns the wxRect of the label of this hyperlink.
- // This is different from the clientsize's rectangle when
- // clientsize != bestsize and this rectangle is influenced
- // by the alignment of the label (wxHL_ALIGN_*).
- wxRect GetLabelRect() const;
-
- // If the click originates inside the bounding box of the label,
- // a flag is set so that an event will be fired when the left
- // button is released.
- void OnLeftDown(wxMouseEvent& event);
-
- // If the click both originated and finished inside the bounding box
- // of the label, a HyperlinkEvent is fired.
- void OnLeftUp(wxMouseEvent& event);
- void OnRightUp(wxMouseEvent& event);
-
- // Changes the cursor to a hand, if the mouse is inside the label's
- // bounding box.
- void OnMotion(wxMouseEvent& event);
-
- // Changes the cursor back to the default, if necessary.
- void OnLeaveWindow(wxMouseEvent& event);
-
- // handles "Copy URL" menuitem
- void OnPopUpCopy(wxCommandEvent& event);
-
- // Refreshes the control to update label's position if necessary
- void OnSize(wxSizeEvent& event);
-
-
- // overridden base class virtuals
-
- // Returns the best size for the window, which is the size needed
- // to display the text label.
- virtual wxSize DoGetBestSize() const;
-
- // creates a context menu with "Copy URL" menuitem
- virtual void DoContextMenu(const wxPoint &);
-
-private:
- // URL associated with the link. This is transmitted inside
- // the HyperlinkEvent fired when the user clicks on the label.
- wxString m_url;
-
- // Foreground colours for various link types.
- // NOTE: wxWindow::m_backgroundColour is used for background,
- // wxWindow::m_foregroundColour is used to render non-visited links
- wxColour m_hoverColour;
- wxColour m_normalColour;
- wxColour m_visitedColour;
-
- // True if the mouse cursor is inside the label's bounding box.
- bool m_rollover;
-
- // True if the link has been clicked before.
- bool m_visited;
-
- // True if a click is in progress (left button down) and the click
- // originated inside the label's bounding box.
- bool m_clicking;
-
-private:
- DECLARE_DYNAMIC_CLASS(wxHyperlinkCtrl)
- DECLARE_EVENT_TABLE()
+public:
+ // not part of the public API but needs to be public as used by
+ // GTK+ callbacks:
+ void SendEvent();
};
@@ -226,6 +143,15 @@ typedef void (wxEvtHandler::*wxHyperlinkEventFunction)(wxHyperlinkEvent&);
#endif
+
+#if defined(__WXGTK210__)
+ #include "wx/gtk/hyperlink.h"
+#else
+ #include "wx/generic/hyperlink.h"
+ #define wxHyperlinkCtrl wxGenericHyperlinkCtrl
+#endif
+
+
#endif // wxUSE_HYPERLINKCTRL
#endif // _WX_HYPERLINK_H__
diff --git a/src/common/hyperlnkcmn.cpp b/src/common/hyperlnkcmn.cpp
new file mode 100644
index 0000000000..d72bca7601
--- /dev/null
+++ b/src/common/hyperlnkcmn.cpp
@@ -0,0 +1,77 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/common/hyperlnkcmn.cpp
+// Purpose: Hyperlink control
+// Author: David Norris , Otto Wyss
+// Modified by: Ryan Norton, Francesco Montorsi
+// Created: 04/02/2005
+// RCS-ID: $Id$
+// Copyright: (c) 2005 David Norris
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+//---------------------------------------------------------------------------
+// Pre-compiled header stuff
+//---------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_HYPERLINKCTRL
+
+//---------------------------------------------------------------------------
+// Includes
+//---------------------------------------------------------------------------
+
+#include "wx/hyperlink.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/menu.h"
+ #include "wx/log.h"
+ #include "wx/dataobj.h"
+#endif
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkEvent, wxCommandEvent)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_HYPERLINK)
+
+const wxChar wxHyperlinkCtrlNameStr[] = wxT("hyperlink");
+
+// ----------------------------------------------------------------------------
+// wxHyperlinkCtrlBase
+// ----------------------------------------------------------------------------
+
+#ifdef __WXDEBUG__
+void wxHyperlinkCtrlBase::CheckParams(const wxString& label, const wxString& url, long style)
+{
+ wxASSERT_MSG(!url.empty() || !label.empty(),
+ wxT("Both URL and label are empty ?"));
+
+ int alignment = (int)((style & wxHL_ALIGN_LEFT) != 0) +
+ (int)((style & wxHL_ALIGN_CENTRE) != 0) +
+ (int)((style & wxHL_ALIGN_RIGHT) != 0);
+ wxASSERT_MSG(alignment == 1,
+ wxT("Specify exactly one align flag!"));
+}
+#endif
+
+void wxHyperlinkCtrlBase::SendEvent()
+{
+ wxString url = GetURL();
+ wxHyperlinkEvent linkEvent(this, GetId(), url);
+ if (!GetEventHandler()->ProcessEvent(linkEvent)) // was the event skipped ?
+ if (!wxLaunchDefaultBrowser(url))
+ wxLogWarning(wxT("Could not launch the default browser with url '%s' !"), url.c_str());
+}
+
+#endif // wxUSE_HYPERLINKCTRL
diff --git a/src/generic/hyperlink.cpp b/src/generic/hyperlinkg.cpp
similarity index 69%
rename from src/generic/hyperlink.cpp
rename to src/generic/hyperlinkg.cpp
index 21f80fc131..573c18d178 100644
--- a/src/generic/hyperlink.cpp
+++ b/src/generic/hyperlinkg.cpp
@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: src/generic/hyperlink.cpp
+// Name: src/generic/hyperlinkg.cpp
// Purpose: Hyperlink control
// Author: David Norris , Otto Wyss
// Modified by: Ryan Norton, Francesco Montorsi
@@ -46,60 +46,28 @@
// implementation
// ============================================================================
-IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkCtrl, wxControl)
-IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkEvent, wxCommandEvent)
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_HYPERLINK)
+IMPLEMENT_DYNAMIC_CLASS(wxGenericHyperlinkCtrl, wxControl)
// reserved for internal use only
-#define wxHYPERLINKCTRL_POPUP_COPY_ID 16384
-
-const wxChar wxHyperlinkCtrlNameStr[] = wxT("hyperlink");
+#define wxHYPERLINK_POPUP_COPY_ID 16384
// ----------------------------------------------------------------------------
-// wxHyperlinkCtrl
+// wxGenericHyperlinkCtrl
// ----------------------------------------------------------------------------
-BEGIN_EVENT_TABLE(wxHyperlinkCtrl, wxControl)
- EVT_PAINT(wxHyperlinkCtrl::OnPaint)
- EVT_LEFT_DOWN(wxHyperlinkCtrl::OnLeftDown)
- EVT_LEFT_UP(wxHyperlinkCtrl::OnLeftUp)
- EVT_RIGHT_UP(wxHyperlinkCtrl::OnRightUp)
- EVT_MOTION(wxHyperlinkCtrl::OnMotion)
- EVT_LEAVE_WINDOW(wxHyperlinkCtrl::OnLeaveWindow)
- EVT_SIZE(wxHyperlinkCtrl::OnSize)
-
- // for the context menu
- EVT_MENU(wxHYPERLINKCTRL_POPUP_COPY_ID, wxHyperlinkCtrl::OnPopUpCopy)
-END_EVENT_TABLE()
-
-bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
+bool wxGenericHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
const wxString& label, const wxString& url, const wxPoint& pos,
const wxSize& size, long style, const wxString& name)
{
- wxASSERT_MSG(!url.empty() || !label.empty(),
- wxT("Both URL and label are empty ?"));
-
-#ifdef __WXDEBUG__
- int alignment = (int)((style & wxHL_ALIGN_LEFT) != 0) +
- (int)((style & wxHL_ALIGN_CENTRE) != 0) +
- (int)((style & wxHL_ALIGN_RIGHT) != 0);
- wxASSERT_MSG(alignment == 1,
- wxT("Specify exactly one align flag!"));
-#endif
+ // do validation checks:
+ CheckParams(label, url, style);
if (!wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name))
return false;
// set to non empty strings both the url and the label
- if(url.empty())
- SetURL(label);
- else
- SetURL(url);
-
- if(label.empty())
- SetLabel(url);
- else
- SetLabel(label);
+ SetURL(url.empty() ? label : url);
+ SetLabel(label.empty() ? url : label);
m_rollover = false;
m_clicking = false;
@@ -116,11 +84,31 @@ bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
SetFont(f);
SetInitialSize(size);
-
+
+
+ // connect our event handlers:
+ // NOTE: since this class is the base class of the GTK+'s native implementation
+ // of wxHyperlinkCtrl, we cannot use the static macros in BEGIN/END_EVENT_TABLE
+ // blocks, otherwise the GTK+'s native impl of wxHyperlinkCtrl would not
+ // behave correctly (as we intercept events doing things which interfere
+ // with GTK+'s native handling):
+
+ Connect( wxEVT_PAINT, wxPaintEventHandler(wxGenericHyperlinkCtrl::OnPaint) );
+ Connect( wxEVT_SIZE, wxSizeEventHandler(wxGenericHyperlinkCtrl::OnSize) );
+ Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler(wxGenericHyperlinkCtrl::OnLeaveWindow) );
+
+ Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler(wxGenericHyperlinkCtrl::OnLeftDown) );
+ Connect( wxEVT_LEFT_UP, wxMouseEventHandler(wxGenericHyperlinkCtrl::OnLeftUp) );
+ Connect( wxEVT_RIGHT_UP, wxMouseEventHandler(wxGenericHyperlinkCtrl::OnRightUp) );
+ Connect( wxEVT_MOTION, wxMouseEventHandler(wxGenericHyperlinkCtrl::OnMotion) );
+
+ Connect( wxHYPERLINK_POPUP_COPY_ID, wxEVT_COMMAND_MENU_SELECTED,
+ wxCommandEventHandler(wxGenericHyperlinkCtrl::OnPopUpCopy) );
+
return true;
}
-wxSize wxHyperlinkCtrl::DoGetBestSize() const
+wxSize wxGenericHyperlinkCtrl::DoGetBestSize() const
{
int w, h;
@@ -134,7 +122,7 @@ wxSize wxHyperlinkCtrl::DoGetBestSize() const
}
-void wxHyperlinkCtrl::SetNormalColour(const wxColour &colour)
+void wxGenericHyperlinkCtrl::SetNormalColour(const wxColour &colour)
{
m_normalColour = colour;
if (!m_visited)
@@ -144,7 +132,7 @@ void wxHyperlinkCtrl::SetNormalColour(const wxColour &colour)
}
}
-void wxHyperlinkCtrl::SetVisitedColour(const wxColour &colour)
+void wxGenericHyperlinkCtrl::SetVisitedColour(const wxColour &colour)
{
m_visitedColour = colour;
if (m_visited)
@@ -154,15 +142,15 @@ void wxHyperlinkCtrl::SetVisitedColour(const wxColour &colour)
}
}
-void wxHyperlinkCtrl::DoContextMenu(const wxPoint &pos)
+void wxGenericHyperlinkCtrl::DoContextMenu(const wxPoint &pos)
{
wxMenu *menuPopUp = new wxMenu(wxEmptyString, wxMENU_TEAROFF);
- menuPopUp->Append(wxHYPERLINKCTRL_POPUP_COPY_ID, wxT("Copy URL"));
+ menuPopUp->Append(wxHYPERLINK_POPUP_COPY_ID, wxT("Copy URL"));
PopupMenu( menuPopUp, pos );
delete menuPopUp;
}
-wxRect wxHyperlinkCtrl::GetLabelRect() const
+wxRect wxGenericHyperlinkCtrl::GetLabelRect() const
{
// our best size is always the size of the label without borders
wxSize c(GetClientSize()), b(GetBestSize());
@@ -183,10 +171,10 @@ wxRect wxHyperlinkCtrl::GetLabelRect() const
// ----------------------------------------------------------------------------
-// wxHyperlinkCtrl - event handlers
+// wxGenericHyperlinkCtrl - event handlers
// ----------------------------------------------------------------------------
-void wxHyperlinkCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
+void wxGenericHyperlinkCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
{
wxPaintDC dc(this);
dc.SetFont(GetFont());
@@ -196,13 +184,13 @@ void wxHyperlinkCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
dc.DrawText(GetLabel(), GetLabelRect().GetTopLeft());
}
-void wxHyperlinkCtrl::OnLeftDown(wxMouseEvent& event)
+void wxGenericHyperlinkCtrl::OnLeftDown(wxMouseEvent& event)
{
// the left click must start from the hyperlink rect
m_clicking = GetLabelRect().Contains(event.GetPosition());
}
-void wxHyperlinkCtrl::OnLeftUp(wxMouseEvent& event)
+void wxGenericHyperlinkCtrl::OnLeftUp(wxMouseEvent& event)
{
// the click must be started and ended in the hyperlink rect
if (!m_clicking || !GetLabelRect().Contains(event.GetPosition()))
@@ -213,20 +201,17 @@ void wxHyperlinkCtrl::OnLeftUp(wxMouseEvent& event)
m_clicking = false;
// send the event
- wxHyperlinkEvent linkEvent(this, GetId(), m_url);
- if (!GetEventHandler()->ProcessEvent(linkEvent)) // was the event skipped ?
- if (!wxLaunchDefaultBrowser(m_url))
- wxLogWarning(wxT("Could not launch the default browser with url '%s' !"), m_url.c_str());
+ SendEvent();
}
-void wxHyperlinkCtrl::OnRightUp(wxMouseEvent& event)
+void wxGenericHyperlinkCtrl::OnRightUp(wxMouseEvent& event)
{
if( GetWindowStyle() & wxHL_CONTEXTMENU )
if ( GetLabelRect().Contains(event.GetPosition()) )
DoContextMenu(wxPoint(event.m_x, event.m_y));
}
-void wxHyperlinkCtrl::OnMotion(wxMouseEvent& event)
+void wxGenericHyperlinkCtrl::OnMotion(wxMouseEvent& event)
{
wxRect textrc = GetLabelRect();
@@ -246,7 +231,7 @@ void wxHyperlinkCtrl::OnMotion(wxMouseEvent& event)
}
}
-void wxHyperlinkCtrl::OnLeaveWindow(wxMouseEvent& WXUNUSED(event) )
+void wxGenericHyperlinkCtrl::OnLeaveWindow(wxMouseEvent& WXUNUSED(event) )
{
// NB: when the label rect and the client size rect have the same
// height this function is indispensable to remove the "rollover"
@@ -262,7 +247,7 @@ void wxHyperlinkCtrl::OnLeaveWindow(wxMouseEvent& WXUNUSED(event) )
}
}
-void wxHyperlinkCtrl::OnPopUpCopy( wxCommandEvent& WXUNUSED(event) )
+void wxGenericHyperlinkCtrl::OnPopUpCopy( wxCommandEvent& WXUNUSED(event) )
{
#if wxUSE_CLIPBOARD
if (!wxTheClipboard->Open())
@@ -274,7 +259,7 @@ void wxHyperlinkCtrl::OnPopUpCopy( wxCommandEvent& WXUNUSED(event) )
#endif // wxUSE_CLIPBOARD
}
-void wxHyperlinkCtrl::OnSize(wxSizeEvent& WXUNUSED(event))
+void wxGenericHyperlinkCtrl::OnSize(wxSizeEvent& WXUNUSED(event))
{
// update the position of the label in the screen respecting
// the selected align flag
diff --git a/src/gtk/hyperlink.cpp b/src/gtk/hyperlink.cpp
new file mode 100644
index 0000000000..4093de2957
--- /dev/null
+++ b/src/gtk/hyperlink.cpp
@@ -0,0 +1,248 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/gtk/hyperlink.cpp
+// Purpose: Hyperlink control
+// Author: Francesco Montorsi
+// Created: 14/2/2007
+// RCS-ID: $Id$
+// Copyright: (c) 2007 Francesco Montorsi
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// --------------------------------------------------------------------------
+// headers
+// --------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_HYPERLINKCTRL && defined(__WXGTK210__)
+
+#include "wx/hyperlink.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#include
+#include "wx/gtk/private.h"
+
+// ----------------------------------------------------------------------------
+// local functions
+// ----------------------------------------------------------------------------
+
+inline bool UseNative()
+{
+ // native gtk_link_button widget is only available in GTK+ 2.10 and later
+ return !gtk_check_version(2, 10, 0);
+}
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkCtrl, wxGenericHyperlinkCtrl)
+
+
+// ----------------------------------------------------------------------------
+// "clicked"
+// ----------------------------------------------------------------------------
+
+extern "C" {
+static void gtk_hyperlink_clicked_callback( GtkWidget *WXUNUSED(widget),
+ wxHyperlinkCtrl *linkCtrl )
+{
+ // send the event
+ linkCtrl->SendEvent();
+}
+}
+
+// ----------------------------------------------------------------------------
+// wxHyperlinkCtrl
+// ----------------------------------------------------------------------------
+
+bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
+ const wxString& label, const wxString& url, const wxPoint& pos,
+ const wxSize& size, long style, const wxString& name)
+{
+ if ( UseNative() )
+ {
+ // do validation checks:
+ CheckParams(label, url, style);
+
+ m_needParent = true;
+ m_acceptsFocus = true;
+
+ if (!PreCreation( parent, pos, size ) ||
+ !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
+ {
+ wxFAIL_MSG( wxT("wxHyperlinkCtrl creation failed") );
+ return false;
+ }
+
+ m_widget = gtk_link_button_new("asdfsaf asdfdsaf asdfdsa");
+ gtk_widget_show( GTK_WIDGET(m_widget) );
+
+ // alignment
+ float x_alignment = 0.5;
+ if (HasFlag(wxHL_ALIGN_LEFT))
+ x_alignment = 0.0;
+ else if (HasFlag(wxHL_ALIGN_RIGHT))
+ x_alignment = 1.0;
+ gtk_button_set_alignment(GTK_BUTTON(m_widget), x_alignment, 0.5);
+
+ // set to non empty strings both the url and the label
+ SetURL(url.empty() ? label : url);
+ SetLabel(label.empty() ? url : label);
+
+ // our signal handlers:
+ g_signal_connect_after (m_widget, "clicked",
+ G_CALLBACK (gtk_hyperlink_clicked_callback),
+ this);
+
+ m_parent->DoAddChild( this );
+
+ PostCreation(size);
+ SetInitialSize(size);
+
+ // wxWindowGTK will connect to the enter_notify and leave_notify GTK+ signals
+ // thus overriding GTK+'s internal signal handlers which set the cursor of
+ // the widget - thus we need to manually set it here:
+ SetCursor(wxCursor(wxCURSOR_HAND));
+ }
+ else
+ return wxGenericHyperlinkCtrl::Create(parent, id, label, url, pos, size, style, name);
+
+ return true;
+}
+
+wxSize wxHyperlinkCtrl::DoGetBestSize() const
+{
+ if ( UseNative() )
+ return wxControl::DoGetBestSize();
+ return wxGenericHyperlinkCtrl::DoGetBestSize();
+}
+
+void wxHyperlinkCtrl::SetLabel(const wxString &label)
+{
+ if ( UseNative() )
+ {
+ wxControl::SetLabel(label);
+ const wxString labelGTK = GTKConvertMnemonics(label);
+ gtk_button_set_label(GTK_BUTTON(m_widget), wxGTK_CONV(labelGTK));
+ }
+ else
+ wxGenericHyperlinkCtrl::SetLabel(label);
+}
+
+void wxHyperlinkCtrl::SetURL(const wxString &uri)
+{
+ if ( UseNative() )
+ gtk_link_button_set_uri(GTK_LINK_BUTTON(m_widget), uri.c_str());
+ else
+ wxGenericHyperlinkCtrl::SetURL(uri);
+}
+
+wxString wxHyperlinkCtrl::GetURL() const
+{
+ if ( UseNative() )
+ {
+ const gchar *str = gtk_link_button_get_uri(GTK_LINK_BUTTON(m_widget));
+ return wxConvFileName->cMB2WX(str);
+ }
+
+ return wxGenericHyperlinkCtrl::GetURL();
+}
+
+void wxHyperlinkCtrl::SetNormalColour(const wxColour &colour)
+{
+ if ( UseNative() )
+ {
+ // simply do nothing: GTK+ does not allow us to change it :(
+ }
+ else
+ wxGenericHyperlinkCtrl::SetNormalColour(colour);
+}
+
+wxColour wxHyperlinkCtrl::GetNormalColour() const
+{
+ if ( UseNative() )
+ {
+ GdkColor *link_color = NULL;
+ wxColour ret = wxNullColour;
+
+ // convert GdkColor in wxColour
+ gtk_widget_style_get(m_widget, "link-color", &link_color, NULL);
+ if (link_color)
+ ret.Set(link_color->red, link_color->green, link_color->blue);
+ gdk_color_free (link_color);
+
+ return ret;
+ }
+ else
+ return wxGenericHyperlinkCtrl::GetNormalColour();
+}
+
+void wxHyperlinkCtrl::SetVisitedColour(const wxColour &colour)
+{
+ if ( UseNative() )
+ {
+ // simply do nothing: GTK+ does not allow us to change it :(
+ }
+ else
+ wxGenericHyperlinkCtrl::SetVisitedColour(colour);
+}
+
+wxColour wxHyperlinkCtrl::GetVisitedColour() const
+{
+ if ( UseNative() )
+ {
+ GdkColor *link_color = NULL;
+ wxColour ret = wxNullColour;
+
+ // convert GdkColor in wxColour
+ gtk_widget_style_get(m_widget, "visited-link-color", &link_color, NULL);
+ if (link_color)
+ ret.Set(link_color->red, link_color->green, link_color->blue);
+ gdk_color_free (link_color);
+
+ return ret;
+ }
+ else
+ return wxGenericHyperlinkCtrl::GetVisitedColour();
+}
+
+void wxHyperlinkCtrl::SetHoverColour(const wxColour &colour)
+{
+ if ( UseNative() )
+ {
+ // simply do nothing: GTK+ does not allow us to change it :(
+ }
+ else
+ wxGenericHyperlinkCtrl::SetHoverColour(colour);
+}
+
+wxColour wxHyperlinkCtrl::GetHoverColour() const
+{
+ if ( UseNative() )
+ {
+ // hover colour == normal colour for native GTK+ widget
+ return GetNormalColour();
+ }
+
+ return wxGenericHyperlinkCtrl::GetHoverColour();
+}
+
+GdkWindow *wxHyperlinkCtrl::GTKGetWindow(wxArrayGdkWindows& windows) const
+{
+ return UseNative() ? GTK_BUTTON(m_widget)->event_window
+ : wxGenericHyperlinkCtrl::GTKGetWindow(windows);
+}
+
+#endif // wxUSE_HYPERLINKCTRL && GTK+ 2.10+