Compare commits
206 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
11b1694b60 | ||
|
8d4ecc7aca | ||
|
027c53b163 | ||
|
26a1755583 | ||
|
009605231a | ||
|
443fb14a30 | ||
|
eeddd5583c | ||
|
3b2f059d98 | ||
|
2ee6af03cb | ||
|
b8c38c4509 | ||
|
f29fe86a76 | ||
|
3ba967c80b | ||
|
b8e40fb308 | ||
|
c02398c6f2 | ||
|
a8e65f2336 | ||
|
1438596e5d | ||
|
4f547123b6 | ||
|
9353f8892e | ||
|
f100df9bf6 | ||
|
d9f2f5d145 | ||
|
93f6cd7984 | ||
|
7fd10fa2d7 | ||
|
dd36bd26da | ||
|
2a493911d8 | ||
|
9159b2722e | ||
|
ec8237456c | ||
|
02cfa300e7 | ||
|
702026dab5 | ||
|
04f1d418f6 | ||
|
7ac410e8b7 | ||
|
893ffe7482 | ||
|
79a0cca038 | ||
|
1588bf86f4 | ||
|
bb9ba5a815 | ||
|
0ab2444233 | ||
|
f46874b01f | ||
|
3053ecbd72 | ||
|
f837582af4 | ||
|
d4e889f3c7 | ||
|
dc0071da65 | ||
|
ceaf599d64 | ||
|
68db272e35 | ||
|
d774a149d5 | ||
|
7bdd98dc13 | ||
|
21182a4762 | ||
|
be33ac8477 | ||
|
62b8f1fc35 | ||
|
60e82f36d3 | ||
|
7abb1a56f1 | ||
|
1c802b3b14 | ||
|
3b14cd750c | ||
|
a2170565cb | ||
|
d060ae855f | ||
|
e3959a350e | ||
|
76ae7f748b | ||
|
e50f48d518 | ||
|
a4c76fe11e | ||
|
2e6e6e6641 | ||
|
5e4a7d7825 | ||
|
fd19a674ad | ||
|
441b14b09c | ||
|
5875590747 | ||
|
c5301893b2 | ||
|
f493fe3249 | ||
|
2e1ff9a2df | ||
|
34785fc861 | ||
|
1bf1c271b3 | ||
|
cdcd2013d1 | ||
|
e87b77933f | ||
|
dbcb86a4dc | ||
|
833770ca91 | ||
|
3f69d4b904 | ||
|
49ad7c5115 | ||
|
b43a0635a2 | ||
|
8c42541999 | ||
|
ba7ef3304e | ||
|
4f3118c4b2 | ||
|
cc68a5bd69 | ||
|
0930be303a | ||
|
c53016953a | ||
|
7de0d6637c | ||
|
d1fcc2c2c7 | ||
|
89e59df375 | ||
|
9fae82ec59 | ||
|
46205f5352 | ||
|
eaafc5e972 | ||
|
ad48736221 | ||
|
307c2b253f | ||
|
e3cdca140e | ||
|
54fa957a48 | ||
|
c91aeed0a8 | ||
|
62e1396736 | ||
|
00a6c15a74 | ||
|
8679c16313 | ||
|
7bd43065b4 | ||
|
9530dade7c | ||
|
c57f3188ff | ||
|
71fd0e9fa9 | ||
|
81b8e40161 | ||
|
40f1280e0d | ||
|
7e8f47db5e | ||
|
bc217fe9dc | ||
|
49d9fc10e4 | ||
|
469342afaa | ||
|
c8dfe1e82b | ||
|
2d1590a4bb | ||
|
85f0ca4cdf | ||
|
0babb5fa2a | ||
|
f7d2f0f9e7 | ||
|
ef00e5367e | ||
|
f770962e9e | ||
|
9c521e0003 | ||
|
b65ce02c69 | ||
|
d6ba5a24d8 | ||
|
23512f453f | ||
|
2c02248f15 | ||
|
cfb265f172 | ||
|
b2a8de5a15 | ||
|
f671cd5668 | ||
|
c712f3a701 | ||
|
88ec1a0722 | ||
|
95a695cd54 | ||
|
b792497e3c | ||
|
51157e65e8 | ||
|
305a46fd55 | ||
|
db8472d601 | ||
|
1b8cb9ac59 | ||
|
5b774e5249 | ||
|
239aad9461 | ||
|
f90b293de6 | ||
|
23c883b71a | ||
|
c64b101c34 | ||
|
55bef83fe0 | ||
|
2c6ca6f1fa | ||
|
141d3d9563 | ||
|
b71d96c5d4 | ||
|
1cdcc99947 | ||
|
8ea3ec21dc | ||
|
2821d49f4c | ||
|
f4727ef952 | ||
|
649aee2a92 | ||
|
71d4b88bdf | ||
|
063b161dec | ||
|
6169b1f960 | ||
|
f5482726ac | ||
|
ac706d114d | ||
|
64ec9666a6 | ||
|
79c723cb5e | ||
|
bc26d147ac | ||
|
6cc415390f | ||
|
c5c703efea | ||
|
f89a4c2df5 | ||
|
c7739476c7 | ||
|
ba4fb41424 | ||
|
e95308c0ae | ||
|
f8ae0bd260 | ||
|
2b0ff79bb6 | ||
|
aae461d4ff | ||
|
1989629a23 | ||
|
8827d7b444 | ||
|
ab6608cb9f | ||
|
01e2f8bbd1 | ||
|
5f492309e8 | ||
|
00687e20f5 | ||
|
021e69e5b0 | ||
|
e21c350472 | ||
|
fc37284dfb | ||
|
3b32df32af | ||
|
e96b728de9 | ||
|
dec0ad4bb9 | ||
|
cc8cb9c274 | ||
|
6425e8747b | ||
|
84ef02fea0 | ||
|
dcfcdd75a7 | ||
|
b69b11c40c | ||
|
c3e7fde30f | ||
|
11d4aa9d05 | ||
|
c2bf832bee | ||
|
6586262593 | ||
|
2e312581a5 | ||
|
d9b78cd63d | ||
|
c3f80e6c6b | ||
|
5a1a494861 | ||
|
364452f494 | ||
|
180e65df2d | ||
|
8aba745d1d | ||
|
453c35deaf | ||
|
10d24cc2f5 | ||
|
9bf4a4249a | ||
|
d9f3bf6e1b | ||
|
c6b44b6c88 | ||
|
4133114e30 | ||
|
9609c21f00 | ||
|
ef87bd2ccc | ||
|
54160f3c64 | ||
|
cf92614370 | ||
|
44de0d66d2 | ||
|
d2a6e31b73 | ||
|
770756327c | ||
|
185903c018 | ||
|
4a0b9504ee | ||
|
b8dd5d063d | ||
|
d56ca4d3f7 | ||
|
d079ccd92d | ||
|
2b3586c1b9 | ||
|
49237f5937 |
21
Makefile.in
21
Makefile.in
@@ -1438,7 +1438,8 @@ AUIDLL_OBJECTS = \
|
||||
auidll_dockart.o \
|
||||
auidll_floatpane.o \
|
||||
auidll_auibook.o \
|
||||
auidll_tabmdi.o
|
||||
auidll_tabmdi.o \
|
||||
auidll_auibar.o
|
||||
AUIDLL_ODEP = $(___pch_wxprec_auidll_wx_wxprec_h_gch___depname)
|
||||
AUILIB_CXXFLAGS = $(__auilib_PCH_INC) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
@@ -1449,7 +1450,8 @@ AUILIB_OBJECTS = \
|
||||
auilib_dockart.o \
|
||||
auilib_floatpane.o \
|
||||
auilib_auibook.o \
|
||||
auilib_tabmdi.o
|
||||
auilib_tabmdi.o \
|
||||
auilib_auibar.o
|
||||
AUILIB_ODEP = $(___pch_wxprec_auilib_wx_wxprec_h_gch___depname)
|
||||
RICHTEXTDLL_CXXFLAGS = $(__richtextdll_PCH_INC) -D__WX$(TOOLKIT)__ \
|
||||
$(__WXUNIV_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
@@ -3122,6 +3124,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||
wx/aui/floatpane.h \
|
||||
wx/aui/auibook.h \
|
||||
wx/aui/tabmdi.h \
|
||||
wx/aui/auibar.h \
|
||||
wx/aui/aui.h \
|
||||
wx/richtext/richtextctrl.h \
|
||||
wx/richtext/richtextbuffer.h \
|
||||
@@ -3438,6 +3441,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \
|
||||
monodll_floatpane.o \
|
||||
monodll_auibook.o \
|
||||
monodll_tabmdi.o \
|
||||
monodll_auibar.o \
|
||||
monodll_richtextctrl.o \
|
||||
monodll_richtextbuffer.o \
|
||||
monodll_richtextstyles.o \
|
||||
@@ -5224,6 +5228,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \
|
||||
monolib_floatpane.o \
|
||||
monolib_auibook.o \
|
||||
monolib_tabmdi.o \
|
||||
monolib_auibar.o \
|
||||
monolib_richtextctrl.o \
|
||||
monolib_richtextbuffer.o \
|
||||
monolib_richtextstyles.o \
|
||||
@@ -13335,6 +13340,9 @@ monodll_auibook.o: $(srcdir)/src/aui/auibook.cpp $(MONODLL_ODEP)
|
||||
monodll_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
|
||||
|
||||
monodll_auibar.o: $(srcdir)/src/aui/auibar.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
|
||||
|
||||
monodll_richtextctrl.o: $(srcdir)/src/richtext/richtextctrl.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/richtext/richtextctrl.cpp
|
||||
|
||||
@@ -17466,6 +17474,9 @@ monolib_auibook.o: $(srcdir)/src/aui/auibook.cpp $(MONOLIB_ODEP)
|
||||
monolib_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
|
||||
|
||||
monolib_auibar.o: $(srcdir)/src/aui/auibar.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
|
||||
|
||||
monolib_richtextctrl.o: $(srcdir)/src/richtext/richtextctrl.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/richtext/richtextctrl.cpp
|
||||
|
||||
@@ -29112,6 +29123,9 @@ auidll_auibook.o: $(srcdir)/src/aui/auibook.cpp $(AUIDLL_ODEP)
|
||||
auidll_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(AUIDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
|
||||
|
||||
auidll_auibar.o: $(srcdir)/src/aui/auibar.cpp $(AUIDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
|
||||
|
||||
auilib_framemanager.o: $(srcdir)/src/aui/framemanager.cpp $(AUILIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/framemanager.cpp
|
||||
|
||||
@@ -29127,6 +29141,9 @@ auilib_auibook.o: $(srcdir)/src/aui/auibook.cpp $(AUILIB_ODEP)
|
||||
auilib_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(AUILIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
|
||||
|
||||
auilib_auibar.o: $(srcdir)/src/aui/auibar.cpp $(AUILIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
|
||||
|
||||
richtextdll_version_rc.o: $(srcdir)/src/msw/version.rc $(RICHTEXTDLL_ODEP)
|
||||
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_58) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_p_57) $(__INC_JPEG_p_58) $(__INC_PNG_p_57) $(__INC_ZLIB_p_59) $(__INC_ODBC_p_57) $(__INC_REGEX_p_57) $(__INC_EXPAT_p_57) --define WXUSINGDLL --define WXMAKINGDLL_RICHTEXT
|
||||
|
||||
|
@@ -3151,6 +3151,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/aui/floatpane.cpp
|
||||
src/aui/auibook.cpp
|
||||
src/aui/tabmdi.cpp
|
||||
src/aui/auibar.cpp
|
||||
</set>
|
||||
<set var="AUI_HDR" hints="files">
|
||||
wx/aui/framemanager.h
|
||||
@@ -3158,6 +3159,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/aui/floatpane.h
|
||||
wx/aui/auibook.h
|
||||
wx/aui/tabmdi.h
|
||||
wx/aui/auibar.h
|
||||
wx/aui/aui.h
|
||||
</set>
|
||||
|
||||
|
@@ -1075,7 +1075,8 @@ AUIDLL_OBJECTS = \
|
||||
$(OBJS)\auidll_dockart.obj \
|
||||
$(OBJS)\auidll_floatpane.obj \
|
||||
$(OBJS)\auidll_auibook.obj \
|
||||
$(OBJS)\auidll_tabmdi.obj
|
||||
$(OBJS)\auidll_tabmdi.obj \
|
||||
$(OBJS)\auidll_auibar.obj
|
||||
AUILIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
|
||||
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
@@ -1090,7 +1091,8 @@ AUILIB_OBJECTS = \
|
||||
$(OBJS)\auilib_dockart.obj \
|
||||
$(OBJS)\auilib_floatpane.obj \
|
||||
$(OBJS)\auilib_auibook.obj \
|
||||
$(OBJS)\auilib_tabmdi.obj
|
||||
$(OBJS)\auilib_tabmdi.obj \
|
||||
$(OBJS)\auilib_auibar.obj
|
||||
RICHTEXTDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
|
||||
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
@@ -1306,6 +1308,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_floatpane.obj \
|
||||
$(OBJS)\monodll_auibook.obj \
|
||||
$(OBJS)\monodll_tabmdi.obj \
|
||||
$(OBJS)\monodll_auibar.obj \
|
||||
$(OBJS)\monodll_richtextctrl.obj \
|
||||
$(OBJS)\monodll_richtextbuffer.obj \
|
||||
$(OBJS)\monodll_richtextstyles.obj \
|
||||
@@ -1923,6 +1926,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_floatpane.obj \
|
||||
$(OBJS)\monolib_auibook.obj \
|
||||
$(OBJS)\monolib_tabmdi.obj \
|
||||
$(OBJS)\monolib_auibar.obj \
|
||||
$(OBJS)\monolib_richtextctrl.obj \
|
||||
$(OBJS)\monolib_richtextbuffer.obj \
|
||||
$(OBJS)\monolib_richtextstyles.obj \
|
||||
@@ -5261,6 +5265,9 @@ $(OBJS)\monodll_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monodll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\monodll_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\monodll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
|
||||
|
||||
@@ -7261,6 +7268,9 @@ $(OBJS)\monolib_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monolib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\monolib_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\monolib_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
|
||||
|
||||
@@ -12501,6 +12511,9 @@ $(OBJS)\auidll_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auidll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\auidll_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp
|
||||
|
||||
@@ -12519,6 +12532,9 @@ $(OBJS)\auilib_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) -q -c -P -o$@ $(RICHTEXTDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
|
||||
|
||||
|
@@ -1077,7 +1077,8 @@ AUIDLL_OBJECTS = \
|
||||
$(OBJS)\auidll_dockart.o \
|
||||
$(OBJS)\auidll_floatpane.o \
|
||||
$(OBJS)\auidll_auibook.o \
|
||||
$(OBJS)\auidll_tabmdi.o
|
||||
$(OBJS)\auidll_tabmdi.o \
|
||||
$(OBJS)\auidll_auibar.o
|
||||
AUILIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
|
||||
-DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
@@ -1092,7 +1093,8 @@ AUILIB_OBJECTS = \
|
||||
$(OBJS)\auilib_dockart.o \
|
||||
$(OBJS)\auilib_floatpane.o \
|
||||
$(OBJS)\auilib_auibook.o \
|
||||
$(OBJS)\auilib_tabmdi.o
|
||||
$(OBJS)\auilib_tabmdi.o \
|
||||
$(OBJS)\auilib_auibar.o
|
||||
RICHTEXTDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
|
||||
$(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
@@ -1317,6 +1319,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_floatpane.o \
|
||||
$(OBJS)\monodll_auibook.o \
|
||||
$(OBJS)\monodll_tabmdi.o \
|
||||
$(OBJS)\monodll_auibar.o \
|
||||
$(OBJS)\monodll_richtextctrl.o \
|
||||
$(OBJS)\monodll_richtextbuffer.o \
|
||||
$(OBJS)\monodll_richtextstyles.o \
|
||||
@@ -1940,6 +1943,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_floatpane.o \
|
||||
$(OBJS)\monolib_auibook.o \
|
||||
$(OBJS)\monolib_tabmdi.o \
|
||||
$(OBJS)\monolib_auibar.o \
|
||||
$(OBJS)\monolib_richtextctrl.o \
|
||||
$(OBJS)\monolib_richtextbuffer.o \
|
||||
$(OBJS)\monolib_richtextstyles.o \
|
||||
@@ -5380,6 +5384,9 @@ $(OBJS)\monodll_auibook.o: ../../src/aui/auibook.cpp
|
||||
$(OBJS)\monodll_tabmdi.o: ../../src/aui/tabmdi.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monodll_auibar.o: ../../src/aui/auibar.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monodll_richtextctrl.o: ../../src/richtext/richtextctrl.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -7480,6 +7487,9 @@ $(OBJS)\monolib_auibook.o: ../../src/aui/auibook.cpp
|
||||
$(OBJS)\monolib_tabmdi.o: ../../src/aui/tabmdi.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monolib_auibar.o: ../../src/aui/auibar.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monolib_richtextctrl.o: ../../src/richtext/richtextctrl.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -13020,6 +13030,9 @@ $(OBJS)\auidll_auibook.o: ../../src/aui/auibook.cpp
|
||||
$(OBJS)\auidll_tabmdi.o: ../../src/aui/tabmdi.cpp
|
||||
$(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\auidll_auibar.o: ../../src/aui/auibar.cpp
|
||||
$(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\auilib_dummy.o: ../../src/common/dummy.cpp
|
||||
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -13038,6 +13051,9 @@ $(OBJS)\auilib_auibook.o: ../../src/aui/auibook.cpp
|
||||
$(OBJS)\auilib_tabmdi.o: ../../src/aui/tabmdi.cpp
|
||||
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\auilib_auibar.o: ../../src/aui/auibar.cpp
|
||||
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\richtextdll_dummy.o: ../../src/common/dummy.cpp
|
||||
$(CXX) -c -o $@ $(RICHTEXTDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
|
@@ -1161,7 +1161,8 @@ AUIDLL_OBJECTS = \
|
||||
$(OBJS)\auidll_dockart.obj \
|
||||
$(OBJS)\auidll_floatpane.obj \
|
||||
$(OBJS)\auidll_auibook.obj \
|
||||
$(OBJS)\auidll_tabmdi.obj
|
||||
$(OBJS)\auidll_tabmdi.obj \
|
||||
$(OBJS)\auidll_auibar.obj
|
||||
AUILIB_CXXFLAGS = /M$(__RUNTIME_LIBS_424)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) \
|
||||
/Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.pdb \
|
||||
@@ -1178,7 +1179,8 @@ AUILIB_OBJECTS = \
|
||||
$(OBJS)\auilib_dockart.obj \
|
||||
$(OBJS)\auilib_floatpane.obj \
|
||||
$(OBJS)\auilib_auibook.obj \
|
||||
$(OBJS)\auilib_tabmdi.obj
|
||||
$(OBJS)\auilib_tabmdi.obj \
|
||||
$(OBJS)\auilib_auibar.obj
|
||||
RICHTEXTDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_438)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) \
|
||||
/Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG).pdb \
|
||||
@@ -1280,13 +1282,13 @@ WXUNICODEFLAG = u
|
||||
!if "$(WXUNIV)" == "1"
|
||||
WXUNIVNAME = univ
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
DIR_SUFFIX_CPU = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
@@ -1301,13 +1303,13 @@ LIBTYPE_SUFFIX = lib
|
||||
!if "$(SHARED)" == "1"
|
||||
LIBTYPE_SUFFIX = dll
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
@@ -1473,6 +1475,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_floatpane.obj \
|
||||
$(OBJS)\monodll_auibook.obj \
|
||||
$(OBJS)\monodll_tabmdi.obj \
|
||||
$(OBJS)\monodll_auibar.obj \
|
||||
$(OBJS)\monodll_richtextctrl.obj \
|
||||
$(OBJS)\monodll_richtextbuffer.obj \
|
||||
$(OBJS)\monodll_richtextstyles.obj \
|
||||
@@ -2096,6 +2099,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_floatpane.obj \
|
||||
$(OBJS)\monolib_auibook.obj \
|
||||
$(OBJS)\monolib_tabmdi.obj \
|
||||
$(OBJS)\monolib_auibar.obj \
|
||||
$(OBJS)\monolib_richtextctrl.obj \
|
||||
$(OBJS)\monolib_richtextbuffer.obj \
|
||||
$(OBJS)\monolib_richtextstyles.obj \
|
||||
@@ -5594,6 +5598,9 @@ $(OBJS)\monodll_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monodll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\monodll_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\monodll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
|
||||
|
||||
@@ -7594,6 +7601,9 @@ $(OBJS)\monolib_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monolib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\monolib_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\monolib_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
|
||||
|
||||
@@ -12834,6 +12844,9 @@ $(OBJS)\auidll_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auidll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\auidll_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
|
||||
|
||||
@@ -12852,6 +12865,9 @@ $(OBJS)\auilib_auibook.obj: ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
|
||||
|
||||
$(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
|
||||
|
||||
$(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(RICHTEXTDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
|
||||
|
||||
|
@@ -195,6 +195,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_floatpane.obj &
|
||||
$(OBJS)\monodll_auibook.obj &
|
||||
$(OBJS)\monodll_tabmdi.obj &
|
||||
$(OBJS)\monodll_auibar.obj &
|
||||
$(OBJS)\monodll_richtextctrl.obj &
|
||||
$(OBJS)\monodll_richtextbuffer.obj &
|
||||
$(OBJS)\monodll_richtextstyles.obj &
|
||||
@@ -822,6 +823,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_floatpane.obj &
|
||||
$(OBJS)\monolib_auibook.obj &
|
||||
$(OBJS)\monolib_tabmdi.obj &
|
||||
$(OBJS)\monolib_auibar.obj &
|
||||
$(OBJS)\monolib_richtextctrl.obj &
|
||||
$(OBJS)\monolib_richtextbuffer.obj &
|
||||
$(OBJS)\monolib_richtextstyles.obj &
|
||||
@@ -3823,7 +3825,8 @@ AUIDLL_OBJECTS = &
|
||||
$(OBJS)\auidll_dockart.obj &
|
||||
$(OBJS)\auidll_floatpane.obj &
|
||||
$(OBJS)\auidll_auibook.obj &
|
||||
$(OBJS)\auidll_tabmdi.obj
|
||||
$(OBJS)\auidll_tabmdi.obj &
|
||||
$(OBJS)\auidll_auibar.obj
|
||||
AUILIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
|
||||
$(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
|
||||
@@ -3838,7 +3841,8 @@ AUILIB_OBJECTS = &
|
||||
$(OBJS)\auilib_dockart.obj &
|
||||
$(OBJS)\auilib_floatpane.obj &
|
||||
$(OBJS)\auilib_auibook.obj &
|
||||
$(OBJS)\auilib_tabmdi.obj
|
||||
$(OBJS)\auilib_tabmdi.obj &
|
||||
$(OBJS)\auilib_auibar.obj
|
||||
RICHTEXTDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
|
||||
$(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
|
||||
@@ -5606,6 +5610,9 @@ $(OBJS)\monodll_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monodll_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\monodll_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\monodll_richtextctrl.obj : .AUTODEPEND ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
|
||||
@@ -7706,6 +7713,9 @@ $(OBJS)\monolib_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\monolib_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\monolib_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\monolib_richtextctrl.obj : .AUTODEPEND ..\..\src\richtext\richtextctrl.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
|
||||
@@ -13246,6 +13256,9 @@ $(OBJS)\auidll_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auidll_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(AUIDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\auidll_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(AUIDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\auilib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
|
||||
|
||||
@@ -13264,6 +13277,9 @@ $(OBJS)\auilib_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
|
||||
$(OBJS)\auilib_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\auilib_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\richtextdll_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(RICHTEXTDLL_CXXFLAGS) $<
|
||||
|
||||
|
@@ -978,6 +978,10 @@ SOURCE=..\..\include\wx\aui\aui.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\aui\auibar.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\aui\auibook.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -1002,6 +1006,10 @@ SOURCE=..\..\include\wx\aui\tabmdi.h
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\aui\auibar.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\aui\auibook.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@@ -8669,6 +8669,10 @@ SOURCE=..\..\include\wx\aui\aui.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\aui\auibar.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\aui\auibook.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@@ -1,5 +1,5 @@
|
||||
rem Uncomment the next line to set the version; used also in wxWidgets.iss
|
||||
SET WXW_VER=2.8.8
|
||||
SET WXW_VER=2.8.9
|
||||
|
||||
|
||||
if (%WXW_VER%)==() SET WXW_VER=CVS
|
||||
|
508
configure
vendored
508
configure
vendored
@@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# From configure.in Id: configure.in 53975 2008-06-04 10:52:33Z SN .
|
||||
# From configure.in Id: configure.in 55211 2008-08-23 18:30:30Z VZ .
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.59 for wxWidgets 2.8.8.
|
||||
#
|
||||
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='wxWidgets'
|
||||
PACKAGE_TARNAME='wxwidgets'
|
||||
PACKAGE_VERSION='2.8.8'
|
||||
PACKAGE_STRING='wxWidgets 2.8.8'
|
||||
PACKAGE_VERSION='2.8.9'
|
||||
PACKAGE_STRING='wxWidgets 2.8.9'
|
||||
PACKAGE_BUGREPORT='wx-dev@lists.wxwidgets.org'
|
||||
|
||||
ac_unique_file="wx-config.in"
|
||||
@@ -866,7 +866,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures wxWidgets 2.8.8 to adapt to many kinds of systems.
|
||||
\`configure' configures wxWidgets 2.8.9 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -932,7 +932,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of wxWidgets 2.8.8:";;
|
||||
short | recursive ) echo "Configuration of wxWidgets 2.8.9:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -947,7 +947,7 @@ Optional Features:
|
||||
--disable-gtk2 use GTK+ 1.2 instead of 2.0
|
||||
--enable-gpe use GNOME PDA Environment features if possible
|
||||
--enable-shared create shared library code
|
||||
--enable-optimise create optimised code
|
||||
--enable-optimise compile without optimisations
|
||||
--enable-debug same as debug_flag and debug_info
|
||||
--enable-stl use STL for containers
|
||||
--enable-omf use OMF object format
|
||||
@@ -1338,7 +1338,7 @@ fi
|
||||
test -n "$ac_init_help" && exit 0
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
wxWidgets configure 2.8.8
|
||||
wxWidgets configure 2.8.9
|
||||
generated by GNU Autoconf 2.59
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
@@ -1352,7 +1352,7 @@ cat >&5 <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by wxWidgets $as_me 2.8.8, which was
|
||||
It was created by wxWidgets $as_me 2.8.9, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -1803,7 +1803,7 @@ test -n "$target_alias" &&
|
||||
|
||||
wx_major_version_number=2
|
||||
wx_minor_version_number=8
|
||||
wx_release_number=8
|
||||
wx_release_number=9
|
||||
wx_subrelease_number=0
|
||||
|
||||
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
|
||||
@@ -24115,6 +24115,479 @@ _ACEOF
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
echo "$as_me:$LINENO: checking for unordered_map" >&5
|
||||
echo $ECHO_N "checking for unordered_map... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_unordered_map+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
||||
|
||||
#include <unordered_map>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_header_unordered_map=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_header_unordered_map=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_unordered_map" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_unordered_map" >&6
|
||||
if test $ac_cv_header_unordered_map = yes; then
|
||||
echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std" >&5
|
||||
echo $ECHO_N "checking for unordered_map and unordered_set in std... $ECHO_C" >&6
|
||||
if test "${wx_cv_class_stdunorderedmapset+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
std::unordered_map<double*, char*> test1;
|
||||
std::unordered_set<char*> test2;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wx_cv_class_stdunorderedmapset=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
wx_cv_class_stdunorderedmapset=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wx_cv_class_stdunorderedmapset" >&5
|
||||
echo "${ECHO_T}$wx_cv_class_stdunorderedmapset" >&6
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "$wx_cv_class_stdunorderedmapset" = yes; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_STD_UNORDERED_MAP 1
|
||||
_ACEOF
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_STD_UNORDERED_SET 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for tr1/unordered_map" >&5
|
||||
echo $ECHO_N "checking for tr1/unordered_map... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_tr1_unordered_map+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
||||
|
||||
#include <tr1/unordered_map>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_header_tr1_unordered_map=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_header_tr1_unordered_map=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_tr1_unordered_map" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_tr1_unordered_map" >&6
|
||||
if test $ac_cv_header_tr1_unordered_map = yes; then
|
||||
echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std::tr1" >&5
|
||||
echo $ECHO_N "checking for unordered_map and unordered_set in std::tr1... $ECHO_C" >&6
|
||||
if test "${wx_cv_class_tr1unorderedmapset+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <tr1/unordered_map>
|
||||
#include <tr1/unordered_set>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
std::tr1::unordered_map<double*, char*> test1;
|
||||
std::tr1::unordered_set<char*> test2;
|
||||
#if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
|
||||
#error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
|
||||
#endif
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wx_cv_class_tr1unorderedmapset=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
wx_cv_class_tr1unorderedmapset=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wx_cv_class_tr1unorderedmapset" >&5
|
||||
echo "${ECHO_T}$wx_cv_class_tr1unorderedmapset" >&6
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "$wx_cv_class_tr1unorderedmapset" = yes; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_TR1_UNORDERED_MAP 1
|
||||
_ACEOF
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_TR1_UNORDERED_SET 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for hash_map" >&5
|
||||
echo $ECHO_N "checking for hash_map... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_hash_map+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
||||
|
||||
#include <hash_map>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_header_hash_map=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_header_hash_map=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_hash_map" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_hash_map" >&6
|
||||
if test $ac_cv_header_hash_map = yes; then
|
||||
echo "$as_me:$LINENO: checking for std::hash_map and hash_set" >&5
|
||||
echo $ECHO_N "checking for std::hash_map and hash_set... $ECHO_C" >&6
|
||||
if test "${wx_cv_class_stdhashmapset+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <hash_map>
|
||||
#include <hash_set>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
|
||||
std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wx_cv_class_stdhashmapset=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
wx_cv_class_stdhashmapset=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wx_cv_class_stdhashmapset" >&5
|
||||
echo "${ECHO_T}$wx_cv_class_stdhashmapset" >&6
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "$wx_cv_class_stdhashmapset" = yes; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_HASH_MAP 1
|
||||
_ACEOF
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_STD_HASH_MAP 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
echo "$as_me:$LINENO: checking for ext/hash_map" >&5
|
||||
echo $ECHO_N "checking for ext/hash_map... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_ext_hash_map+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
||||
|
||||
#include <ext/hash_map>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_header_ext_hash_map=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_header_ext_hash_map=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_ext_hash_map" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_ext_hash_map" >&6
|
||||
if test $ac_cv_header_ext_hash_map = yes; then
|
||||
echo "$as_me:$LINENO: checking for GNU hash_map and hash_set" >&5
|
||||
echo $ECHO_N "checking for GNU hash_map and hash_set... $ECHO_C" >&6
|
||||
if test "${wx_cv_class_gnuhashmapset+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <ext/hash_map>
|
||||
#include <ext/hash_set>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
|
||||
__gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wx_cv_class_gnuhashmapset=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
wx_cv_class_gnuhashmapset=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wx_cv_class_gnuhashmapset" >&5
|
||||
echo "${ECHO_T}$wx_cv_class_gnuhashmapset" >&6
|
||||
fi
|
||||
|
||||
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
ac_ext=c
|
||||
@@ -24872,7 +25345,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
if test "wxUSE_UNICODE" = "yes"; then
|
||||
if test "$wxUSE_UNICODE" = "yes"; then
|
||||
|
||||
for wx_func in wcstoull
|
||||
do
|
||||
@@ -24890,7 +25363,7 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
||||
#include <wchar.h>
|
||||
$ac_includes_default
|
||||
|
||||
int
|
||||
@@ -45581,6 +46054,15 @@ _ACEOF
|
||||
|
||||
USES_CONTROLS=1
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define wxUSE_RICHEDIT 1
|
||||
_ACEOF
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define wxUSE_RICHEDIT2 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
if test "$wxUSE_TOGGLEBTN" = "yes"; then
|
||||
@@ -50459,7 +50941,7 @@ _ASBOX
|
||||
} >&5
|
||||
cat >&5 <<_CSEOF
|
||||
|
||||
This file was extended by wxWidgets $as_me 2.8.8, which was
|
||||
This file was extended by wxWidgets $as_me 2.8.9, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -50522,7 +51004,7 @@ _ACEOF
|
||||
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
ac_cs_version="\\
|
||||
wxWidgets config.status 2.8.8
|
||||
wxWidgets config.status 2.8.9
|
||||
configured by $0, generated by GNU Autoconf 2.59,
|
||||
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
95
configure.in
95
configure.in
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
|
||||
dnl initialization
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_INIT([wxWidgets], [2.8.8], [wx-dev@lists.wxwidgets.org])
|
||||
AC_INIT([wxWidgets], [2.8.9], [wx-dev@lists.wxwidgets.org])
|
||||
|
||||
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
|
||||
AC_CONFIG_SRCDIR([wx-config.in])
|
||||
@@ -34,7 +34,7 @@ dnl wx_release_number += 1
|
||||
|
||||
wx_major_version_number=2
|
||||
wx_minor_version_number=8
|
||||
wx_release_number=8
|
||||
wx_release_number=9
|
||||
wx_subrelease_number=0
|
||||
|
||||
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
|
||||
@@ -944,7 +944,7 @@ dnl compile options
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
|
||||
WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
|
||||
WX_ARG_ENABLE(optimise, [ --enable-optimise compile without optimisations], wxUSE_OPTIMISE)
|
||||
WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
|
||||
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
|
||||
if test "$USE_OS2" = "1"; then
|
||||
@@ -2540,6 +2540,86 @@ if test "$wxUSE_STL" = "yes"; then
|
||||
AC_DEFINE(HAVE_EXT_HASH_MAP)
|
||||
AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER([unordered_map],
|
||||
[AC_CACHE_CHECK([for unordered_map and unordered_set in std],
|
||||
wx_cv_class_stdunorderedmapset,
|
||||
[AC_TRY_COMPILE([#include <unordered_map>
|
||||
#include <unordered_set>],
|
||||
[std::unordered_map<double*, char*> test1;
|
||||
std::unordered_set<char*> test2;],
|
||||
wx_cv_class_stdunorderedmapset=yes,
|
||||
wx_cv_class_stdunorderedmapset=no)
|
||||
]
|
||||
)],
|
||||
[],
|
||||
[ ]
|
||||
)
|
||||
|
||||
if test "$wx_cv_class_stdunorderedmapset" = yes; then
|
||||
AC_DEFINE(HAVE_STD_UNORDERED_MAP)
|
||||
AC_DEFINE(HAVE_STD_UNORDERED_SET)
|
||||
else
|
||||
AC_CHECK_HEADER([tr1/unordered_map],
|
||||
[AC_CACHE_CHECK([for unordered_map and unordered_set in std::tr1],
|
||||
wx_cv_class_tr1unorderedmapset,
|
||||
[AC_TRY_COMPILE([#include <tr1/unordered_map>
|
||||
#include <tr1/unordered_set>],
|
||||
[std::tr1::unordered_map<double*, char*> test1;
|
||||
std::tr1::unordered_set<char*> test2;
|
||||
#if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
|
||||
#error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
|
||||
#endif],
|
||||
wx_cv_class_tr1unorderedmapset=yes,
|
||||
wx_cv_class_tr1unorderedmapset=no)
|
||||
]
|
||||
)],
|
||||
[],
|
||||
[ ]
|
||||
)
|
||||
|
||||
if test "$wx_cv_class_tr1unorderedmapset" = yes; then
|
||||
AC_DEFINE(HAVE_TR1_UNORDERED_MAP)
|
||||
AC_DEFINE(HAVE_TR1_UNORDERED_SET)
|
||||
else
|
||||
dnl check for hash_map and hash_set headers
|
||||
AC_CHECK_HEADER([hash_map],
|
||||
[AC_CACHE_CHECK([for std::hash_map and hash_set],
|
||||
wx_cv_class_stdhashmapset,
|
||||
[AC_TRY_COMPILE([#include <hash_map>
|
||||
#include <hash_set>],
|
||||
[std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
|
||||
std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
|
||||
wx_cv_class_stdhashmapset=yes,
|
||||
wx_cv_class_stdhashmapset=no)
|
||||
]
|
||||
)],
|
||||
[],
|
||||
[ ]
|
||||
)
|
||||
|
||||
if test "$wx_cv_class_stdhashmapset" = yes; then
|
||||
AC_DEFINE(HAVE_HASH_MAP)
|
||||
AC_DEFINE(HAVE_STD_HASH_MAP)
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER([ext/hash_map],
|
||||
[AC_CACHE_CHECK([for GNU hash_map and hash_set],
|
||||
wx_cv_class_gnuhashmapset,
|
||||
[AC_TRY_COMPILE([#include <ext/hash_map>
|
||||
#include <ext/hash_set>],
|
||||
[__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
|
||||
__gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
|
||||
wx_cv_class_gnuhashmapset=yes,
|
||||
wx_cv_class_gnuhashmapset=no)
|
||||
]
|
||||
)],
|
||||
[],
|
||||
[ ]
|
||||
)
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl pop C++
|
||||
@@ -2786,8 +2866,8 @@ dnl
|
||||
dnl at least under SGI these functions are only available in C99 code and not
|
||||
dnl in C++ so do these tests using C++ compiler
|
||||
AC_LANG_PUSH(C++)
|
||||
if test "wxUSE_UNICODE" = "yes"; then
|
||||
WX_CHECK_FUNCS(wcstoull)
|
||||
if test "$wxUSE_UNICODE" = "yes"; then
|
||||
WX_CHECK_FUNCS(wcstoull,,,[#include <wchar.h>])
|
||||
else
|
||||
WX_CHECK_FUNCS(strtoull)
|
||||
fi
|
||||
@@ -7283,6 +7363,11 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
|
||||
AC_DEFINE(wxUSE_TEXTCTRL)
|
||||
USES_CONTROLS=1
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
|
||||
|
||||
dnl we don't have special switches to disable wxUSE_RICHEDIT[2], it doesn't
|
||||
dnl seem useful to allow disabling them
|
||||
AC_DEFINE(wxUSE_RICHEDIT)
|
||||
AC_DEFINE(wxUSE_RICHEDIT2)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_TOGGLEBTN" = "yes"; then
|
||||
|
@@ -111,13 +111,13 @@ WXUNICODEFLAG = u
|
||||
!if "$(WXUNIV)" == "1"
|
||||
WXUNIVNAME = univ
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
DIR_SUFFIX_CPU = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
@@ -132,13 +132,13 @@ LIBTYPE_SUFFIX = lib
|
||||
!if "$(SHARED)" == "1"
|
||||
LIBTYPE_SUFFIX = dll
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
|
@@ -239,13 +239,13 @@ WXUNICODEFLAG = u
|
||||
!if "$(WXUNIV)" == "1"
|
||||
WXUNIVNAME = univ
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
DIR_SUFFIX_CPU = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
@@ -260,13 +260,13 @@ LIBTYPE_SUFFIX = lib
|
||||
!if "$(SHARED)" == "1"
|
||||
LIBTYPE_SUFFIX = dll
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
[OPTIONS]
|
||||
BMROOT=c:\wx2dev\wxwind~1\contrib\docs\latex\ogl
|
||||
BMROOT=c:\wx\wxw28b\contrib\docs\latex\ogl ; Assume that bitmaps are where the source is
|
||||
TITLE=OGL Manual
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
@@ -265,6 +265,10 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int WXUNUSED(posHoriz), int posVer
|
||||
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
|
||||
#endif // USE_GENERIC_TREECTRL
|
||||
{
|
||||
// JLD - 2008-07-31 - call SetScrollInfo() - Vista ignores nPos passed in WM_VSCROLL wParam
|
||||
SCROLLINFO si = {sizeof(SCROLLINFO), SIF_POS, 0, 0, 0, posVert, 0};
|
||||
SetScrollInfo((HWND) GetHWND(), SB_VERT, &si, FALSE);
|
||||
|
||||
UINT sbCode = SB_THUMBPOSITION;
|
||||
HWND vertScrollBar = 0;
|
||||
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXLPARAM) vertScrollBar);
|
||||
@@ -373,7 +377,7 @@ void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars()
|
||||
if (scrolledWindow)
|
||||
{
|
||||
wxRect itemRect;
|
||||
if (GetBoundingRect(GetFirstVisibleItem(), itemRect))
|
||||
if (GetBoundingRect(GetRootItem(), itemRect))
|
||||
{
|
||||
// Actually, the real height seems to be 1 less than reported
|
||||
// (e.g. 16 instead of 16)
|
||||
|
@@ -682,11 +682,15 @@ bool ScintillaWX::DestroySystemCaret() {
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
long ScintillaWX::DefWndProc(unsigned int /*iMessage*/, unsigned long /*wParam*/, long /*lParam*/) {
|
||||
sptr_t ScintillaWX::DefWndProc(unsigned int /*iMessage*/,
|
||||
uptr_t /*wParam*/,
|
||||
sptr_t /*lParam*/) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lParam) {
|
||||
sptr_t ScintillaWX::WndProc(unsigned int iMessage,
|
||||
uptr_t wParam,
|
||||
sptr_t lParam) {
|
||||
switch (iMessage) {
|
||||
case SCI_CALLTIPSHOW: {
|
||||
// NOTE: This is copied here from scintilla/src/ScintillaBase.cxx
|
||||
|
@@ -111,12 +111,12 @@ public:
|
||||
virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true);
|
||||
virtual void ClaimSelection();
|
||||
|
||||
virtual long DefWndProc(unsigned int iMessage,
|
||||
unsigned long wParam,
|
||||
long lParam);
|
||||
virtual long WndProc(unsigned int iMessage,
|
||||
unsigned long wParam,
|
||||
long lParam);
|
||||
virtual sptr_t DefWndProc(unsigned int iMessage,
|
||||
uptr_t wParam,
|
||||
sptr_t lParam);
|
||||
virtual sptr_t WndProc(unsigned int iMessage,
|
||||
uptr_t wParam,
|
||||
sptr_t lParam);
|
||||
|
||||
virtual void NotifyChange();
|
||||
virtual void NotifyParent(SCNotification scn);
|
||||
|
17
debian/changelog
vendored
17
debian/changelog
vendored
@@ -1,3 +1,20 @@
|
||||
wxwidgets2.8 (2.8.8.1-0) unstable; urgency=low
|
||||
|
||||
* Fixed bug in wxScrolledWindow when child focus events caused
|
||||
unneccessary or incorrect scrolling.
|
||||
* Fixed a bug in wxGridBagSizer where hidden items were not ignored in
|
||||
part of the layout algorithm.
|
||||
|
||||
|
||||
|
||||
-- Robin Dunn <robin@alldunn.com> Fri, 18 Jul 2008 10:59:05 -0700
|
||||
|
||||
wxwidgets2.8 (2.8.8.0-0) unstable; urgency=low
|
||||
|
||||
* New upstream stable release. See docs/changes.txt for details.
|
||||
|
||||
-- Robin Dunn <robin@alldunn.com> Fri, 20 Jun 2008 12:03:37 -0700
|
||||
|
||||
wxwidgets2.8 (2.8.7.1-0) unstable; urgency=low
|
||||
|
||||
* wxPython: New version of XRCed from Google SoC project
|
||||
|
4
debian/python-wxtools.menu
vendored
4
debian/python-wxtools.menu
vendored
@@ -3,8 +3,8 @@
|
||||
icon="/usr/share/pixmaps/pycrust.png"
|
||||
?package(python-wxtools):needs="X11" section="Apps/Programming"\
|
||||
title="pyshell" command="/usr/bin/pyshell"\
|
||||
icon="/usr/share/pixmaps/pyshell.png"
|
||||
icon="/usr/share/pixmaps/pyshell.png"
|
||||
?package(python-wxtools):needs="X11" section="Apps/Programming"\
|
||||
title="xrced" command="/usr/bin/xrced"
|
||||
title="xrced" command="/usr/bin/xrced"\
|
||||
icon="/usr/share/pixmaps/xrced.png"
|
||||
|
||||
|
@@ -18,7 +18,7 @@ DOCDIR=${WX_TEMP_DIR}/wxWidgets/docs/
|
||||
CURDATE=`date -I`
|
||||
|
||||
# build info
|
||||
BUILD_VERSION=2.8.8
|
||||
BUILD_VERSION=2.8.9
|
||||
BUILD_TAG=HEAD
|
||||
|
||||
|
||||
|
@@ -88,6 +88,90 @@ Major new features in 2.8 release
|
||||
wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
|
||||
|
||||
|
||||
2.8.9
|
||||
-----
|
||||
|
||||
All:
|
||||
|
||||
- Optimize wxString::Replace() for single character arguments.
|
||||
- Updated Hindi translation (Priyank Bolia).
|
||||
- Use tr1::unordered_{map,set} for wxHash{Map,Set} implementation if available
|
||||
in STL build; in particular do not use deprecated hash_{map,set} which
|
||||
results in a lot of warnings from newer g++ (Jan Van Dijk and Pete Stieber).
|
||||
|
||||
All (GUI):
|
||||
|
||||
- Added support for reading alpha channel in BMP format (Kevin Wright).
|
||||
- Fixed help viewer bug whereby the splitter sash in wxHtmlHelpWindow could
|
||||
go underneath the left-hand pane, permanently, after resizing the
|
||||
help window.
|
||||
- Fixed wxHTML default font size for printing to be 12pt regardless of the
|
||||
platform, instead of depending on GUI toolkit's screen configuration.
|
||||
- Support wxDP_ALLOWNONE style in generic wxDatePickerCtrl version.
|
||||
- Set wxKeyEvent::m_uniChar correctly in the events generated by generic
|
||||
wxListCtrl (Mikkel S).
|
||||
- Fix changing size of merged cells in wxGrid (Laurent Humbertclaude).
|
||||
- Fixed wrapping bug in wxRichTextCtrl when there were images present;
|
||||
now sets the cursor to the next line after pressing Shift+Enter.
|
||||
- Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl.
|
||||
- Fix crash when reading malformed PCX images.
|
||||
- Fix bug with wrong transparency in GIF animations (troelsk).
|
||||
- Store palette information for XPM images in wxImage (troelsk).
|
||||
- Fixed selection bugs and auto list numbering in wxRichTextCtrl.
|
||||
- Significantly optimize wxGrid::BlockToDeviceRect() for large grids (kjones).
|
||||
- Introduced new wxAuiToolBar class for better integration and look-and-feel.
|
||||
- Fix a crash in wxAuiFrameManager when Update() was called in between mouse-up
|
||||
and mouse-down events
|
||||
- wxAUI: added various NULL-ptr asserts.
|
||||
- Fixed problem with Floatable(false) not working in wxAuiFrameManager.
|
||||
- Fixed maximize bug in wxAUI.
|
||||
- Allow period in link anchors in wxHTML.
|
||||
- Fixed memory corruption in wxHTML when parsing "&;" in the markup.
|
||||
- Fixed event type in EVT_GRID_CMD_COL_MOVE and EVT_GRID_COL_MOVE.
|
||||
- wxGrid doesn't steal focus when hiding editor any more (Tom Eckert).
|
||||
|
||||
All (Unix):
|
||||
|
||||
- MIME types reading fixed when running under GNOME, reading .desktop
|
||||
files and also the default application list.
|
||||
- Added filesys.no-mimetypesmanager system option so that applications that
|
||||
must load an XRC file at program startup don't have to incur the
|
||||
mime types manager initialization penalty.
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Potentially incompatible change: wxExecute() arguments are now quoted if they
|
||||
contain spaces and existing quotes are escaped with a backslash. However, to
|
||||
preserve compatibility, the argument is unchanged if it is already quoted.
|
||||
Notice that this behaviour will change in wxWidgets 3.0 where all arguments
|
||||
will be quoted, please update your code now if you are affected and use only
|
||||
wxWidgets 2.8.9 or later.
|
||||
- Fix keyboard support in wxSpinCtrl broken in 2.8.8.
|
||||
- Compile fix for WinCE in window.cpp (no VkKeyScan in Windows CE).
|
||||
- Support disabling items before adding them to the menu (Christian Walther).
|
||||
- Allow to call SetFont(wxNullFont) to reset the font to default.
|
||||
- Implement UUID::operator==() and !=() (SQLAware Corporation).
|
||||
- Fixed long standing (introduced in 2.6.3) bug which resulted in always
|
||||
creating a DIB and not DDB in wxBitmap(const wxImage&) ctor.
|
||||
- Fix the bug with wxFileDialog not being shown at all if the default file name
|
||||
was invalid.
|
||||
- Fix hang in keyboard navigation code with radio buttons under Windows 2000.
|
||||
- Implement wxWinINetInputStream::GetSize() (spicerno).
|
||||
- Always copy "has alpha" flag when copying bitmaps (SQLAware Corporation).
|
||||
|
||||
wxGTK:
|
||||
|
||||
- Fixed masking of disabled bitmaps in wxMenuItem and wxStaticBitmap.
|
||||
- Fixed generation of events for an initially empty wxDirPickerCtrl.
|
||||
- Fixed detection of Meta key state so that NumLock isn't misdetected
|
||||
as Meta (requires GTK+ 2.10).
|
||||
- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
|
||||
|
||||
wxMac:
|
||||
|
||||
- Fixed a glitch where clicking on a scrollbar (but not moving the scrollbar)
|
||||
would cause the window to scroll.
|
||||
|
||||
2.8.8
|
||||
-----
|
||||
|
||||
@@ -378,7 +462,7 @@ All:
|
||||
overlaps UTF-8 characters boundary.
|
||||
- Account for lines without newline at the end in wxExecute().
|
||||
- Added wxString::char_str(), wchar_str(), From8BitData(), To8BitData(),
|
||||
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatiblity
|
||||
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatibility
|
||||
with wxWidgets 3.
|
||||
|
||||
All (Unix):
|
||||
|
@@ -122,7 +122,7 @@ accept CTRL-Enter as meaning `OK' (but not in GTK+ at present).
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{table}}
|
||||
|
||||
Copy constructor, uses \helpref{reference counting}{trefcount}.
|
||||
|
||||
|
@@ -26,13 +26,13 @@
|
||||
%\special{!/@scaleunit 1 def}
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{wxWidgets 2.8.8: A portable C++ and Python GUI toolkit}
|
||||
\title{wxWidgets 2.8.9: A portable C++ and Python GUI toolkit}
|
||||
\winhelponly{\author{by Julian Smart et al
|
||||
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||
}}
|
||||
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
|
||||
Robin Dunn, et al}
|
||||
\date{November, 2007}
|
||||
\date{August, 2008}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
|
@@ -218,31 +218,10 @@ return type (without const).
|
||||
|
||||
\membersection{wxMBConv::FromWChar}\label{wxmbconvfromwchar}
|
||||
|
||||
\constfunc{virtual size\_t}{FromWChar}{\param{wchar\_t *}{dst}, \param{size\_t }{dstLen}, \param{const char *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
|
||||
|
||||
The most general function for converting a multibyte string to a wide string.
|
||||
The main case is when \arg{dst} is not \NULL and \arg{srcLen} is not
|
||||
\texttt{wxNO\_LEN} (which is defined as \texttt{(size\_t)$-1$}): then
|
||||
the function converts exactly \arg{srcLen} bytes starting at \arg{src} into
|
||||
wide string which it output to \arg{dst}. If the length of the resulting wide
|
||||
string is greater than \arg{dstLen}, an error is returned. Note that if
|
||||
\arg{srcLen} bytes don't include \NUL characters, the resulting wide string is
|
||||
not \NUL-terminated neither.
|
||||
|
||||
If \arg{srcLen} is \texttt{wxNO\_LEN}, the function supposes that the string is
|
||||
properly (i.e. as necessary for the encoding handled by this conversion)
|
||||
\NUL-terminated and converts the entire string, including any trailing \NUL
|
||||
bytes. In this case the wide string is also \NUL-terminated.
|
||||
|
||||
Finally, if \arg{dst} is \NULL, the function returns the length of the needed
|
||||
buffer.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The number of characters written to \arg{dst} (or the number of characters
|
||||
which would have been written to it if it were non-\NULL) on success or
|
||||
\texttt{wxCONV\_FAILED} on error.
|
||||
\constfunc{virtual size\_t}{FromWChar}{\param{char\_t *}{dst}, \param{size\_t }{dstLen}, \param{const wchar\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
|
||||
|
||||
This function has the same semantics as \helpref{ToWChar}{wxmbconvtowchar}
|
||||
except that it converts a wide string to multibyte one.
|
||||
|
||||
\membersection{wxMBConv::GetMaxMBNulLen}\label{wxmbconvgetmaxmbnullen}
|
||||
|
||||
@@ -269,9 +248,28 @@ The other cases are not currently supported and \texttt{wxCONV\_FAILED}
|
||||
|
||||
\membersection{wxMBConv::ToWChar}\label{wxmbconvtowchar}
|
||||
|
||||
\constfunc{virtual size\_t}{ToWChar}{\param{char\_t *}{dst}, \param{size\_t }{dstLen}, \param{const wchar\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
|
||||
\constfunc{virtual size\_t}{ToWChar}{\param{wchar\_t *}{dst}, \param{size\_t }{dstLen}, \param{const char\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
|
||||
|
||||
This function has the same semantics as \helpref{FromWChar}{wxmbconvfromwchar}
|
||||
except that it converts a wide string to multibyte one.
|
||||
The most general function for converting a multibyte string to a wide string.
|
||||
The main case is when \arg{dst} is not \NULL and \arg{srcLen} is not
|
||||
\texttt{wxNO\_LEN} (which is defined as \texttt{(size\_t)$-1$}): then
|
||||
the function converts exactly \arg{srcLen} bytes starting at \arg{src} into
|
||||
wide string which it output to \arg{dst}. If the length of the resulting wide
|
||||
string is greater than \arg{dstLen}, an error is returned. Note that if
|
||||
\arg{srcLen} bytes don't include \NUL characters, the resulting wide string is
|
||||
not \NUL-terminated neither.
|
||||
|
||||
If \arg{srcLen} is \texttt{wxNO\_LEN}, the function supposes that the string is
|
||||
properly (i.e. as necessary for the encoding handled by this conversion)
|
||||
\NUL-terminated and converts the entire string, including any trailing \NUL
|
||||
bytes. In this case the wide string is also \NUL-terminated.
|
||||
|
||||
Finally, if \arg{dst} is \NULL, the function returns the length of the needed
|
||||
buffer.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The number of characters written to \arg{dst} (or the number of characters
|
||||
which would have been written to it if it were non-\NULL) on success or
|
||||
\texttt{wxCONV\_FAILED} on error.
|
||||
|
||||
|
@@ -170,6 +170,18 @@ the list.
|
||||
\helpref{SetImageList}{wxnotebooksetimagelist}
|
||||
|
||||
|
||||
\membersection{wxNotebook::ChangeSelection}\label{wxnotebookchangeselection}
|
||||
|
||||
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
|
||||
|
||||
Changes the selection for the given page, returning the previous selection.
|
||||
|
||||
The call to this function \emph{does not} generate the page changing events.
|
||||
This is the only difference with \helpref{SetSelection}{wxnotebooksetselection}.
|
||||
See \helpref{this topic}{progevent} for more info.
|
||||
|
||||
|
||||
|
||||
\membersection{wxNotebook::Create}\label{wxnotebookcreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
@@ -410,15 +422,3 @@ This function is deprecated and should not be used in new code. Please use the
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
|
||||
|
||||
|
||||
\membersection{wxNotebook::ChangeSelection}\label{wxnotebookchangeselection}
|
||||
|
||||
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
|
||||
|
||||
Changes the selection for the given page, returning the previous selection.
|
||||
|
||||
The call to this function \emph{does not} generate the page changing events.
|
||||
This is the only difference with \helpref{SetSelection}{wxnotebooksetselection}.
|
||||
See \helpref{this topic}{progevent} for more info.
|
||||
|
||||
|
@@ -311,7 +311,7 @@ Returns the name of the list style.
|
||||
|
||||
\membersection{wxRichTextAttr::GetOutlineLevel}\label{wxrichtextattrgetoutlinelevel}
|
||||
|
||||
\constfunc{bool}{GetOutlineLevel}{\void}
|
||||
\constfunc{int}{GetOutlineLevel}{\void}
|
||||
|
||||
Returns the outline level.
|
||||
|
||||
|
@@ -39,6 +39,10 @@ to the Apple guidelines. Again, this class doesn't help you to do it.
|
||||
This class is MT-safe: its methods may be called concurrently from different
|
||||
threads without additional locking.
|
||||
|
||||
Note that you don't allocate an instance of class wxStandardPaths, but retrieve the
|
||||
global standard paths object using \texttt{wxStandardPaths::Get} on which you call the
|
||||
desired methods.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
@@ -7,6 +7,34 @@ but is still important to be able to configure.
|
||||
|
||||
These options are currently recognised by wxWidgets.
|
||||
|
||||
\wxheading{All platforms}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf Option}}{{\bf Value}}
|
||||
\twocolitem{filesys.no-mimetypesmanager}{Set to 1 to avoid using the mime types manager in wxFileSystemHandler.
|
||||
This can cut down loading time when loading an XRC file at startup, for example.}
|
||||
\twocolitem{msw.window.no-clip-children}{If 1, windows will not automatically get the WS\_CLIPCHILDREN
|
||||
style. This restores the way windows are refreshed back to the method used in versions of wxWidgets
|
||||
earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may
|
||||
still specify wxCLIP\_CHILDREN for individual windows.}
|
||||
\twocolitem{msw.notebook.themed-background}{If set to 0, globally disables themed backgrounds on notebook
|
||||
pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no
|
||||
pages).}
|
||||
\twocolitem{msw.staticbox.optimized-paint}{If set to 0, switches off optimized wxStaticBox painting.
|
||||
Setting this to 0 causes more flicker, but allows applications to paint graphics on the parent of a static box
|
||||
(the optimized refresh causes any such drawing to disappear).}
|
||||
\twocolitem{msw.display.directdraw}{If set to 1, use DirectDraw-based implementation of
|
||||
\helpref{wxDisplay}{wxdisplay}. By default the standard Win32 functions are
|
||||
used.}
|
||||
\twocolitem{msw.font.no-proof-quality}{If set to 1, use default fonts quality
|
||||
instead of proof quality when creating fonts. With proof quality the fonts
|
||||
have slightly better appearance but not all fonts are available in this
|
||||
quality, e.g. the Terminal font in small sizes is not and this option may be
|
||||
used if wider fonts selection is more important than higher quality.}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
\wxheading{Windows}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
|
@@ -223,7 +223,7 @@ Returns the name of the list style.
|
||||
|
||||
\membersection{wxTextAttrEx::GetOutlineLevel}\label{wxtextattrexgetoutlinelevel}
|
||||
|
||||
\constfunc{bool}{GetOutlineLevel}{\void}
|
||||
\constfunc{int}{GetOutlineLevel}{\void}
|
||||
|
||||
Returns the outline level.
|
||||
|
||||
|
@@ -130,6 +130,19 @@ Sets the image list for the page control and takes ownership of the list.
|
||||
|
||||
|
||||
|
||||
\membersection{wxTreebook::ChangeSelection}\label{wxtreebookchangeselection}
|
||||
|
||||
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
|
||||
|
||||
Changes the selection for the given page, returning the previous selection.
|
||||
|
||||
The call to this function \emph{does not} generate the page changing events.
|
||||
This is the only difference with \helpref{SetSelection}{wxtreebooksetselection}.
|
||||
See \helpref{this topic}{progevent} for more info.
|
||||
|
||||
|
||||
|
||||
|
||||
\membersection{wxTreebook::CollapseNode}\label{wxtreebookcollapsenode}
|
||||
|
||||
\func{bool}{CollapseNode}{\param{size\_t }{pageId}}
|
||||
@@ -277,16 +290,3 @@ This function is deprecated and should not be used in new code. Please use the
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreebook::GetSelection}{wxtreebookgetselection}
|
||||
|
||||
|
||||
|
||||
\membersection{wxTreebook::ChangeSelection}\label{wxtreebookchangeselection}
|
||||
|
||||
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
|
||||
|
||||
Changes the selection for the given page, returning the previous selection.
|
||||
|
||||
The call to this function \emph{does not} generate the page changing events.
|
||||
This is the only difference with \helpref{SetSelection}{wxtreebooksetselection}.
|
||||
See \helpref{this topic}{progevent} for more info.
|
||||
|
||||
|
@@ -101,7 +101,7 @@ Their Unicode debug counterparts in wxUniversal build would be
|
||||
wxmswuniv28ud_adv.lib
|
||||
|
||||
These directories also contain subdirectory with wx/setup.h header. This
|
||||
subdirectory is named after port, Unicode, wxUniv and debug settings and
|
||||
subdirectory is named after port, Unicode, wxUniv and debug settings and
|
||||
you must add it to include paths when compiling your application. Some
|
||||
examples:
|
||||
|
||||
@@ -292,7 +292,7 @@ Compiling using the makefiles:
|
||||
This produces a couple of libraries in the lib\bcc_lib directory.
|
||||
|
||||
2. Change directory to a sample or demo such as samples\minimal, and type
|
||||
'make -f makefile.bcc'. This produces a windows exe file - by default
|
||||
'make -f makefile.bcc'. This produces a windows exe file - by default
|
||||
in the bcc_mswd subdirectory.
|
||||
|
||||
Note (1): the wxWidgets makefiles assume dword structure alignment. Please
|
||||
@@ -308,10 +308,10 @@ recompile wxWidgets. The same applies if compiling using the IDE.
|
||||
Note (3): If you wish debug messages to be sent to the console in
|
||||
debug mode, edit makefile.bcc and change /aa to /Tpe in link commands.
|
||||
|
||||
Cmpilation succeeds with CBuilderX personal edition and CBuilder6, but
|
||||
Cmpilation succeeds with CBuilderX personal edition and CBuilder6, but
|
||||
you may have to copy make.exe from the 5.5 download to the new bin directory.
|
||||
Compiling using the IDE files for Borland C++ 5.0 and using CBuilder IDE
|
||||
(v1-v6): not supported
|
||||
Compiling using the IDE files for Borland C++ 5.0 and using CBuilder IDE
|
||||
(v1-v6): not supported
|
||||
|
||||
|
||||
** REMEMBER **
|
||||
@@ -470,23 +470,23 @@ NOTE: The makefile.gcc makefiles are for compilation under MinGW using
|
||||
other environments (such as UNIX or Unix-like, e.g. MSYS where you have
|
||||
to use configure instead, see the section below)
|
||||
|
||||
Here are the steps required using the provided makefiles:
|
||||
First, if you are using gcc-2.95, edit build\msw\config.gcc and set the
|
||||
GCC_VERSION variable to "2.95".
|
||||
|
||||
- If you are using gcc-2.95, edit build\msw\config.gcc and set the GCC_VERSION
|
||||
variable to "2.95".
|
||||
|
||||
- Use the makefile.gcc files for compiling wxWidgets and samples,
|
||||
e.g. to compile a debugging version of wxWidgets:
|
||||
Use the makefile.gcc files for compiling wxWidgets and samples,
|
||||
e.g. to compile a debugging version of wxWidgets:
|
||||
> cd c:\wx\build\msw
|
||||
> make -f makefile.gcc BUILD=debug
|
||||
> mingw32-make -f makefile.gcc BUILD=debug
|
||||
> cd c:\wx\samples\minimal
|
||||
> make -f makefile.gcc BUILD=debug
|
||||
> mingw32-make -f makefile.gcc BUILD=debug
|
||||
(See below for more options.)
|
||||
|
||||
Ignore the warning about the default entry point.
|
||||
Notice that Windows command interpreter (cmd.exe) and mingw32-make must be
|
||||
used, using Bash (sh.exe) and make.exe from MSYS will only work when using
|
||||
configure-based build procedure described below!
|
||||
|
||||
- Use the 'strip' command to reduce executable/dll size (note that
|
||||
stripping an executable/dll will remove debug information!).
|
||||
You can also Use the 'strip' command to reduce executable/dll size (note that
|
||||
stripping an executable/dll will remove debug information!).
|
||||
|
||||
All targets have 'clean' targets to allow removal of object files
|
||||
and other intermediate compiler files.
|
||||
@@ -594,7 +594,7 @@ Symantec & DigitalMars C++ compilation
|
||||
|
||||
The DigitalMars compiler is a free succssor to the Symantec compiler
|
||||
and can be downloaded from http://www.digitalmars.com/
|
||||
|
||||
|
||||
1. You need to download and unzip in turn (later packages will overwrite
|
||||
older files)
|
||||
Digital Mars C/C++ Compiler Version 8.40 or later
|
||||
@@ -681,9 +681,9 @@ Basic options
|
||||
----------------------------------------------------------------
|
||||
|
||||
BUILD=release
|
||||
Builds release version of the library. It differs from default 'debug'
|
||||
Builds release version of the library. It differs from default 'debug'
|
||||
in lack of appended 'd' in name of library, does not define __WXDEBUG__
|
||||
and not include debug information compiled into object files and the
|
||||
and not include debug information compiled into object files and the
|
||||
executable.
|
||||
|
||||
SHARED=1
|
||||
@@ -706,7 +706,7 @@ Advanced options
|
||||
----------------------------------------------------------------
|
||||
|
||||
MONOLITHIC=1
|
||||
Starting with version 2.5.1, wxWidgets has the ability to be built as
|
||||
Starting with version 2.5.1, wxWidgets has the ability to be built as
|
||||
several smaller libraries instead of single big one as used to be the case
|
||||
in 2.4 and older versions. This is called "multilib build" and is the
|
||||
default behaviour of makefiles. You can still build single library
|
||||
@@ -786,7 +786,7 @@ Compiler specific options
|
||||
* MinGW
|
||||
|
||||
If you are using gcc-2.95 instead of gcc3, you must set GCC_VERSION to
|
||||
2.95. In build\msw\config.gcc, change
|
||||
2.95. In build\msw\config.gcc, change
|
||||
> GCC_VERSION = 3
|
||||
to
|
||||
> GCC_VERSION = 2.95
|
||||
@@ -822,7 +822,7 @@ compiler name. Examples of directory names:
|
||||
build\msw\bcc_mswunivd SHARED=0, WXUNIV=1, BUILD=debug
|
||||
build\msw\vc_mswunivd ditto, with Visual C++
|
||||
|
||||
Libraries and DLLs are copied into subdirectory of lib directory with
|
||||
Libraries and DLLs are copied into subdirectory of lib directory with
|
||||
name derived from compiler and static/DLL setting and setup.h into directory
|
||||
with name that contains other settings:
|
||||
|
||||
@@ -843,7 +843,7 @@ to setup.h, you should do them in this file, _not_ in include\wx\msw\setup.h.
|
||||
|
||||
If you set CFG to something, the value is appended to directory names. E.g.
|
||||
for CFG=MyBuild, you'll have object files in
|
||||
|
||||
|
||||
build\msw\bcc_mswMyBuild
|
||||
build\msw\bcc_mswdllMyBuild
|
||||
etc.
|
||||
@@ -855,7 +855,7 @@ and libraries in
|
||||
etc.
|
||||
|
||||
By now it is clear what CFG is for: builds with different CFG settings don't
|
||||
share any files and they use different setup.h files. This allows you to e.g.
|
||||
share any files and they use different setup.h files. This allows you to e.g.
|
||||
have two static debug builds, one with wxUSE_SOCKETS=0 and one with sockets
|
||||
enabled (without CFG, both of them would be put into same directory and there
|
||||
would be conflicts between the files).
|
||||
|
@@ -1,4 +1,4 @@
|
||||
wxWidgets 2.8.8
|
||||
wxWidgets 2.8.9
|
||||
---------------------------------------------------------
|
||||
|
||||
Welcome to wxWidgets, a sophisticated cross-platform C++
|
||||
|
@@ -12,7 +12,7 @@
|
||||
{wx}/*.spec
|
||||
{wx}/include/wx/version.h
|
||||
{wx}/include/msvc/wx/setup.h {major release only}
|
||||
{wx}/docs/latex/wx/manual.tex
|
||||
{wx}/docs/latex/wx/manual.tex {and change the date}
|
||||
{wx}/docs/msw/install.txt {major release only}
|
||||
{wx}/docs/changes.txt
|
||||
{wx}/docs/readme.txt
|
||||
|
@@ -15,6 +15,7 @@
|
||||
#include "wx/aui/framemanager.h"
|
||||
#include "wx/aui/dockart.h"
|
||||
#include "wx/aui/floatpane.h"
|
||||
#include "wx/aui/auibar.h"
|
||||
#include "wx/aui/auibook.h"
|
||||
#include "wx/aui/tabmdi.h"
|
||||
|
||||
|
684
include/wx/aui/auibar.h
Normal file
684
include/wx/aui/auibar.h
Normal file
@@ -0,0 +1,684 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/aui/toolbar.h
|
||||
// Purpose: wxaui: wx advanced user interface - docking window manager
|
||||
// Author: Benjamin I. Williams
|
||||
// Modified by:
|
||||
// Created: 2008-08-04
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
|
||||
// Licence: wxWindows Library Licence, Version 3.1
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_AUIBAR_H_
|
||||
#define _WX_AUIBAR_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_AUI
|
||||
|
||||
#if wxABI_VERSION >= 20809
|
||||
|
||||
#include "wx/control.h"
|
||||
|
||||
enum wxAuiToolBarStyle
|
||||
{
|
||||
wxAUI_TB_TEXT = 1 << 0,
|
||||
wxAUI_TB_NO_TOOLTIPS = 1 << 1,
|
||||
wxAUI_TB_NO_AUTORESIZE = 1 << 2,
|
||||
wxAUI_TB_GRIPPER = 1 << 3,
|
||||
wxAUI_TB_OVERFLOW = 1 << 4,
|
||||
wxAUI_TB_VERTICAL = 1 << 5,
|
||||
wxAUI_TB_HORZ_LAYOUT = 1 << 6,
|
||||
wxAUI_TB_HORZ_TEXT = (wxAUI_TB_HORZ_LAYOUT | wxAUI_TB_TEXT),
|
||||
wxAUI_TB_DEFAULT_STYLE = 0
|
||||
};
|
||||
|
||||
enum wxAuiToolBarArtSetting
|
||||
{
|
||||
wxAUI_TBART_SEPARATOR_SIZE = 0,
|
||||
wxAUI_TBART_GRIPPER_SIZE = 1,
|
||||
wxAUI_TBART_OVERFLOW_SIZE = 2
|
||||
};
|
||||
|
||||
enum wxAuiToolBarToolTextOrientation
|
||||
{
|
||||
wxAUI_TBTOOL_TEXT_LEFT = 0, // unused/unimplemented
|
||||
wxAUI_TBTOOL_TEXT_RIGHT = 1,
|
||||
wxAUI_TBTOOL_TEXT_TOP = 2, // unused/unimplemented
|
||||
wxAUI_TBTOOL_TEXT_BOTTOM = 3
|
||||
};
|
||||
|
||||
|
||||
// aui toolbar event class
|
||||
|
||||
class WXDLLIMPEXP_AUI wxAuiToolBarEvent : public wxNotifyEvent
|
||||
{
|
||||
public:
|
||||
wxAuiToolBarEvent(wxEventType command_type = wxEVT_NULL,
|
||||
int win_id = 0)
|
||||
: wxNotifyEvent(command_type, win_id)
|
||||
{
|
||||
is_dropdown_clicked = false;
|
||||
click_pt = wxPoint(-1, -1);
|
||||
rect = wxRect(-1,-1, 0, 0);
|
||||
tool_id = -1;
|
||||
}
|
||||
#ifndef SWIG
|
||||
wxAuiToolBarEvent(const wxAuiToolBarEvent& c) : wxNotifyEvent(c)
|
||||
{
|
||||
is_dropdown_clicked = c.is_dropdown_clicked;
|
||||
click_pt = c.click_pt;
|
||||
rect = c.rect;
|
||||
tool_id = c.tool_id;
|
||||
}
|
||||
#endif
|
||||
wxEvent *Clone() const { return new wxAuiToolBarEvent(*this); }
|
||||
|
||||
bool IsDropDownClicked() const { return is_dropdown_clicked; }
|
||||
void SetDropDownClicked(bool c) { is_dropdown_clicked = c; }
|
||||
|
||||
wxPoint GetClickPoint() const { return click_pt; }
|
||||
void SetClickPoint(const wxPoint& p) { click_pt = p; }
|
||||
|
||||
wxRect GetItemRect() const { return rect; }
|
||||
void SetItemRect(const wxRect& r) { rect = r; }
|
||||
|
||||
int GetToolId() const { return tool_id; }
|
||||
void SetToolId(int id) { tool_id = id; }
|
||||
|
||||
private:
|
||||
|
||||
bool is_dropdown_clicked;
|
||||
wxPoint click_pt;
|
||||
wxRect rect;
|
||||
int tool_id;
|
||||
|
||||
#ifndef SWIG
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxAuiToolBarEvent)
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
class WXDLLIMPEXP_AUI wxAuiToolBarItem
|
||||
{
|
||||
friend class wxAuiToolBar;
|
||||
|
||||
public:
|
||||
|
||||
wxAuiToolBarItem()
|
||||
{
|
||||
window = NULL;
|
||||
sizer_item = NULL;
|
||||
spacer_pixels = 0;
|
||||
id = 0;
|
||||
kind = wxITEM_NORMAL;
|
||||
state = 0; // normal, enabled
|
||||
proportion = 0;
|
||||
active = true;
|
||||
dropdown = true;
|
||||
sticky = true;
|
||||
user_data = 0;
|
||||
}
|
||||
|
||||
wxAuiToolBarItem(const wxAuiToolBarItem& c)
|
||||
{
|
||||
Assign(c);
|
||||
}
|
||||
|
||||
wxAuiToolBarItem& operator=(const wxAuiToolBarItem& c)
|
||||
{
|
||||
Assign(c);
|
||||
return *this;
|
||||
}
|
||||
|
||||
void Assign(const wxAuiToolBarItem& c)
|
||||
{
|
||||
window = c.window;
|
||||
label = c.label;
|
||||
bitmap = c.bitmap;
|
||||
disabled_bitmap = c.disabled_bitmap;
|
||||
hover_bitmap = c.hover_bitmap;
|
||||
short_help = c.short_help;
|
||||
long_help = c.long_help;
|
||||
sizer_item = c.sizer_item;
|
||||
min_size = c.min_size;
|
||||
spacer_pixels = c.spacer_pixels;
|
||||
id = c.id;
|
||||
kind = c.kind;
|
||||
state = c.state;
|
||||
proportion = c.proportion;
|
||||
active = c.active;
|
||||
dropdown = c.dropdown;
|
||||
sticky = c.sticky;
|
||||
user_data = c.user_data;
|
||||
}
|
||||
|
||||
|
||||
void SetWindow(wxWindow* w) { window = w; }
|
||||
wxWindow* GetWindow() { return window; }
|
||||
|
||||
void SetId(int new_id) { id = new_id; }
|
||||
int GetId() const { return id; }
|
||||
|
||||
void SetKind(int new_kind) { kind = new_kind; }
|
||||
int GetKind() const { return kind; }
|
||||
|
||||
void SetState(int new_state) { state = new_state; }
|
||||
int GetState() const { return state; }
|
||||
|
||||
void SetSizerItem(wxSizerItem* s) { sizer_item = s; }
|
||||
wxSizerItem* GetSizerItem() const { return sizer_item; }
|
||||
|
||||
void SetLabel(const wxString& s) { label = s; }
|
||||
const wxString& GetLabel() const { return label; }
|
||||
|
||||
void SetBitmap(const wxBitmap& bmp) { bitmap = bmp; }
|
||||
const wxBitmap& GetBitmap() const { return bitmap; }
|
||||
|
||||
void SetDisabledBitmap(const wxBitmap& bmp) { disabled_bitmap = bmp; }
|
||||
const wxBitmap& GetDisabledBitmap() const { return disabled_bitmap; }
|
||||
|
||||
void SetHoverBitmap(const wxBitmap& bmp) { hover_bitmap = bmp; }
|
||||
const wxBitmap& GetHoverBitmap() const { return hover_bitmap; }
|
||||
|
||||
void SetShortHelp(const wxString& s) { short_help = s; }
|
||||
const wxString& GetShortHelp() const { return short_help; }
|
||||
|
||||
void SetLongHelp(const wxString& s) { long_help = s; }
|
||||
const wxString& GetLongHelp() const { return long_help; }
|
||||
|
||||
void SetMinSize(const wxSize& s) { min_size = s; }
|
||||
const wxSize& GetMinSize() const { return min_size; }
|
||||
|
||||
void SetSpacerPixels(int s) { spacer_pixels = s; }
|
||||
int GetSpacerPixels() const { return spacer_pixels; }
|
||||
|
||||
void SetProportion(int p) { proportion = p; }
|
||||
int GetProportion() const { return proportion; }
|
||||
|
||||
void SetActive(bool b) { active = b; }
|
||||
bool IsActive() const { return active; }
|
||||
|
||||
void SetHasDropDown(bool b) { dropdown = b; }
|
||||
bool HasDropDown() const { return dropdown; }
|
||||
|
||||
void SetSticky(bool b) { sticky = b; }
|
||||
bool IsSticky() const { return sticky; }
|
||||
|
||||
void SetUserData(long l) { user_data = l; }
|
||||
long GetUserData() const { return user_data; }
|
||||
|
||||
private:
|
||||
|
||||
wxWindow* window; // item's associated window
|
||||
wxString label; // label displayed on the item
|
||||
wxBitmap bitmap; // item's bitmap
|
||||
wxBitmap disabled_bitmap; // item's disabled bitmap
|
||||
wxBitmap hover_bitmap; // item's hover bitmap
|
||||
wxString short_help; // short help (for tooltip)
|
||||
wxString long_help; // long help (for status bar)
|
||||
wxSizerItem* sizer_item; // sizer item
|
||||
wxSize min_size; // item's minimum size
|
||||
int spacer_pixels; // size of a spacer
|
||||
int id; // item's id
|
||||
int kind; // item's kind
|
||||
int state; // state
|
||||
int proportion; // proportion
|
||||
bool active; // true if the item is currently active
|
||||
bool dropdown; // true if the item has a dropdown button
|
||||
bool sticky; // overrides button states if true (always active)
|
||||
long user_data; // user-specified data
|
||||
};
|
||||
|
||||
#ifndef SWIG
|
||||
WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiToolBarItem, wxAuiToolBarItemArray, WXDLLIMPEXP_AUI);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
// tab art class
|
||||
|
||||
class WXDLLIMPEXP_AUI wxAuiToolBarArt
|
||||
{
|
||||
public:
|
||||
|
||||
wxAuiToolBarArt() { }
|
||||
virtual ~wxAuiToolBarArt() { }
|
||||
|
||||
virtual wxAuiToolBarArt* Clone() = 0;
|
||||
virtual void SetFlags(unsigned int flags) = 0;
|
||||
virtual void SetFont(const wxFont& font) = 0;
|
||||
virtual void SetTextOrientation(int orientation) = 0;
|
||||
|
||||
virtual void DrawBackground(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawLabel(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawDropDownButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawControlLabel(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawSeparator(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawGripper(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect) = 0;
|
||||
|
||||
virtual void DrawOverflowButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect,
|
||||
int state) = 0;
|
||||
|
||||
virtual wxSize GetLabelSize(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item) = 0;
|
||||
|
||||
virtual wxSize GetToolSize(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item) = 0;
|
||||
|
||||
virtual int GetElementSize(int element_id) = 0;
|
||||
virtual void SetElementSize(int element_id, int size) = 0;
|
||||
|
||||
virtual int ShowDropDown(
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItemArray& items) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
class WXDLLIMPEXP_AUI wxAuiDefaultToolBarArt : public wxAuiToolBarArt
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
wxAuiDefaultToolBarArt();
|
||||
virtual ~wxAuiDefaultToolBarArt();
|
||||
|
||||
virtual wxAuiToolBarArt* Clone();
|
||||
virtual void SetFlags(unsigned int flags);
|
||||
virtual void SetFont(const wxFont& font);
|
||||
virtual void SetTextOrientation(int orientation);
|
||||
|
||||
virtual void DrawBackground(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawLabel(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawDropDownButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawControlLabel(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawSeparator(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawGripper(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect);
|
||||
|
||||
virtual void DrawOverflowButton(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxRect& rect,
|
||||
int state);
|
||||
|
||||
virtual wxSize GetLabelSize(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item);
|
||||
|
||||
virtual wxSize GetToolSize(
|
||||
wxDC& dc,
|
||||
wxWindow* wnd,
|
||||
const wxAuiToolBarItem& item);
|
||||
|
||||
virtual int GetElementSize(int element);
|
||||
virtual void SetElementSize(int element_id, int size);
|
||||
|
||||
virtual int ShowDropDown(wxWindow* wnd,
|
||||
const wxAuiToolBarItemArray& items);
|
||||
|
||||
protected:
|
||||
|
||||
wxBitmap m_button_dropdown_bmp;
|
||||
wxBitmap m_disabled_button_dropdown_bmp;
|
||||
wxBitmap m_overflow_bmp;
|
||||
wxBitmap m_disabled_overflow_bmp;
|
||||
wxColour m_base_colour;
|
||||
wxColour m_highlight_colour;
|
||||
wxFont m_font;
|
||||
unsigned int m_flags;
|
||||
int m_text_orientation;
|
||||
|
||||
wxPen m_gripper_pen1;
|
||||
wxPen m_gripper_pen2;
|
||||
wxPen m_gripper_pen3;
|
||||
|
||||
int m_separator_size;
|
||||
int m_gripper_size;
|
||||
int m_overflow_size;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
class WXDLLIMPEXP_AUI wxAuiToolBar : public wxControl
|
||||
{
|
||||
public:
|
||||
|
||||
wxAuiToolBar(wxWindow* parent,
|
||||
wxWindowID id = -1,
|
||||
const wxPoint& position = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxAUI_TB_DEFAULT_STYLE);
|
||||
~wxAuiToolBar();
|
||||
|
||||
void SetWindowStyleFlag(long style);
|
||||
|
||||
void SetArtProvider(wxAuiToolBarArt* art);
|
||||
wxAuiToolBarArt* GetArtProvider() const;
|
||||
|
||||
bool SetFont(const wxFont& font);
|
||||
|
||||
|
||||
void AddTool(int tool_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxString& short_help_string = wxEmptyString,
|
||||
wxItemKind kind = wxITEM_NORMAL);
|
||||
|
||||
void AddTool(int tool_id,
|
||||
const wxString& label,
|
||||
const wxBitmap& bitmap,
|
||||
const wxBitmap& disabled_bitmap,
|
||||
wxItemKind kind,
|
||||
const wxString& short_help_string,
|
||||
const wxString& long_help_string,
|
||||
wxObject* client_data);
|
||||
|
||||
void AddTool(int tool_id,
|
||||
const wxBitmap& bitmap,
|
||||
const wxBitmap& disabled_bitmap,
|
||||
bool toggle = false,
|
||||
wxObject* client_data = NULL,
|
||||
const wxString& short_help_string = wxEmptyString,
|
||||
const wxString& long_help_string = wxEmptyString)
|
||||
{
|
||||
AddTool(tool_id,
|
||||
wxEmptyString,
|
||||
bitmap,
|
||||
disabled_bitmap,
|
||||
toggle ? wxITEM_CHECK : wxITEM_NORMAL,
|
||||
short_help_string,
|
||||
long_help_string,
|
||||
client_data);
|
||||
}
|
||||
|
||||
void AddLabel(int tool_id,
|
||||
const wxString& label = wxEmptyString,
|
||||
const int width = -1);
|
||||
void AddControl(wxControl* control,
|
||||
const wxString& label = wxEmptyString);
|
||||
void AddSeparator();
|
||||
void AddSpacer(int pixels);
|
||||
void AddStretchSpacer(int proportion = 1);
|
||||
|
||||
bool Realize();
|
||||
|
||||
wxControl* FindControl(int window_id);
|
||||
wxAuiToolBarItem* FindToolByPosition(wxCoord x, wxCoord y) const;
|
||||
wxAuiToolBarItem* FindToolByIndex(int idx) const;
|
||||
wxAuiToolBarItem* FindTool(int tool_id) const;
|
||||
|
||||
void ClearTools() { Clear() ; }
|
||||
void Clear();
|
||||
bool DeleteTool(int tool_id);
|
||||
bool DeleteByIndex(int tool_id);
|
||||
|
||||
size_t GetToolCount() const;
|
||||
int GetToolPos(int tool_id) const { return GetToolIndex(tool_id); }
|
||||
int GetToolIndex(int tool_id) const;
|
||||
bool GetToolFits(int tool_id) const;
|
||||
wxRect GetToolRect(int tool_id) const;
|
||||
bool GetToolFitsByIndex(int tool_id) const;
|
||||
bool GetToolBarFits() const;
|
||||
|
||||
void SetMargins(const wxSize& size) { SetMargins(size.x, size.x, size.y, size.y); }
|
||||
void SetMargins(int x, int y) { SetMargins(x, x, y, y); }
|
||||
void SetMargins(int left, int right, int top, int bottom);
|
||||
|
||||
void SetToolBitmapSize(const wxSize& size);
|
||||
wxSize GetToolBitmapSize() const;
|
||||
|
||||
bool GetOverflowVisible() const;
|
||||
void SetOverflowVisible(bool visible);
|
||||
|
||||
bool GetGripperVisible() const;
|
||||
void SetGripperVisible(bool visible);
|
||||
|
||||
void ToggleTool(int tool_id, bool state);
|
||||
bool GetToolToggled(int tool_id) const;
|
||||
|
||||
void EnableTool(int tool_id, bool state);
|
||||
bool GetToolEnabled(int tool_id) const;
|
||||
|
||||
void SetToolDropDown(int tool_id, bool dropdown);
|
||||
bool GetToolDropDown(int tool_id) const;
|
||||
|
||||
void SetToolBorderPadding(int padding);
|
||||
int GetToolBorderPadding() const;
|
||||
|
||||
void SetToolTextOrientation(int orientation);
|
||||
int GetToolTextOrientation() const;
|
||||
|
||||
void SetToolPacking(int packing);
|
||||
int GetToolPacking() const;
|
||||
|
||||
void SetToolProportion(int tool_id, int proportion);
|
||||
int GetToolProportion(int tool_id) const;
|
||||
|
||||
void SetToolSeparation(int separation);
|
||||
int GetToolSeparation() const;
|
||||
|
||||
void SetToolSticky(int tool_id, bool sticky);
|
||||
bool GetToolSticky(int tool_id) const;
|
||||
|
||||
wxString GetToolLabel(int tool_id) const;
|
||||
void SetToolLabel(int tool_id, const wxString& label);
|
||||
|
||||
wxBitmap GetToolBitmap(int tool_id) const;
|
||||
void SetToolBitmap(int tool_id, const wxBitmap& bitmap);
|
||||
|
||||
wxString GetToolShortHelp(int tool_id) const;
|
||||
void SetToolShortHelp(int tool_id, const wxString& help_string);
|
||||
|
||||
wxString GetToolLongHelp(int tool_id) const;
|
||||
void SetToolLongHelp(int tool_id, const wxString& help_string);
|
||||
|
||||
void SetCustomOverflowItems(const wxAuiToolBarItemArray& prepend,
|
||||
const wxAuiToolBarItemArray& append);
|
||||
|
||||
protected:
|
||||
|
||||
virtual void OnCustomRender(wxDC& WXUNUSED(dc),
|
||||
const wxAuiToolBarItem& WXUNUSED(item),
|
||||
const wxRect& WXUNUSED(rect)) { }
|
||||
|
||||
protected:
|
||||
|
||||
void DoIdleUpdate();
|
||||
void SetOrientation(int orientation);
|
||||
void SetHoverItem(wxAuiToolBarItem* item);
|
||||
void SetPressedItem(wxAuiToolBarItem* item);
|
||||
void RefreshOverflowState();
|
||||
|
||||
int GetOverflowState() const;
|
||||
wxRect GetOverflowRect() const;
|
||||
wxSize GetLabelSize(const wxString& label);
|
||||
wxAuiToolBarItem* FindToolByPositionWithPacking(wxCoord x, wxCoord y) const;
|
||||
|
||||
void DoSetSize(int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
int sizeFlags = wxSIZE_AUTO);
|
||||
|
||||
protected: // handlers
|
||||
|
||||
void OnSize(wxSizeEvent& evt);
|
||||
void OnIdle(wxIdleEvent& evt);
|
||||
void OnPaint(wxPaintEvent& evt);
|
||||
void OnEraseBackground(wxEraseEvent& evt);
|
||||
void OnLeftDown(wxMouseEvent& evt);
|
||||
void OnLeftUp(wxMouseEvent& evt);
|
||||
void OnRightDown(wxMouseEvent& evt);
|
||||
void OnRightUp(wxMouseEvent& evt);
|
||||
void OnMiddleDown(wxMouseEvent& evt);
|
||||
void OnMiddleUp(wxMouseEvent& evt);
|
||||
void OnMotion(wxMouseEvent& evt);
|
||||
void OnLeaveWindow(wxMouseEvent& evt);
|
||||
void OnSetCursor(wxSetCursorEvent& evt);
|
||||
|
||||
protected:
|
||||
|
||||
wxAuiToolBarItemArray m_items; // array of toolbar items
|
||||
wxAuiToolBarArt* m_art; // art provider
|
||||
wxBoxSizer* m_sizer; // main sizer for toolbar
|
||||
wxAuiToolBarItem* m_action_item; // item that's being acted upon (pressed)
|
||||
wxAuiToolBarItem* m_tip_item; // item that has its tooltip shown
|
||||
wxBitmap m_bitmap; // double-buffer bitmap
|
||||
wxSizerItem* m_gripper_sizer_item;
|
||||
wxSizerItem* m_overflow_sizer_item;
|
||||
wxSize m_absolute_min_size;
|
||||
wxPoint m_action_pos; // position of left-mouse down
|
||||
wxAuiToolBarItemArray m_custom_overflow_prepend;
|
||||
wxAuiToolBarItemArray m_custom_overflow_append;
|
||||
|
||||
int m_button_width;
|
||||
int m_button_height;
|
||||
int m_sizer_element_count;
|
||||
int m_left_padding;
|
||||
int m_right_padding;
|
||||
int m_top_padding;
|
||||
int m_bottom_padding;
|
||||
int m_tool_packing;
|
||||
int m_tool_border_padding;
|
||||
int m_tool_text_orientation;
|
||||
int m_overflow_state;
|
||||
bool m_dragging;
|
||||
bool m_gripper_visible;
|
||||
bool m_overflow_visible;
|
||||
long m_style;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_CLASS(wxAuiToolBar)
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// wx event machinery
|
||||
|
||||
#ifndef SWIG
|
||||
|
||||
BEGIN_DECLARE_EVENT_TYPES()
|
||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 0)
|
||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 0)
|
||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 0)
|
||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 0)
|
||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 0)
|
||||
END_DECLARE_EVENT_TYPES()
|
||||
|
||||
typedef void (wxEvtHandler::*wxAuiToolBarEventFunction)(wxAuiToolBarEvent&);
|
||||
|
||||
#define wxAuiToolBarEventHandler(func) \
|
||||
(wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiToolBarEventFunction, &func)
|
||||
|
||||
#define EVT_AUITOOLBAR_TOOL_DROPDOWN(winid, fn) \
|
||||
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, winid, wxAuiToolBarEventHandler(fn))
|
||||
#define EVT_AUITOOLBAR_OVERFLOW_CLICK(winid, fn) \
|
||||
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, winid, wxAuiToolBarEventHandler(fn))
|
||||
#define EVT_AUITOOLBAR_RIGHT_CLICK(winid, fn) \
|
||||
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, winid, wxAuiToolBarEventHandler(fn))
|
||||
#define EVT_AUITOOLBAR_MIDDLE_CLICK(winid, fn) \
|
||||
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, winid, wxAuiToolBarEventHandler(fn))
|
||||
#define EVT_AUITOOLBAR_BEGIN_DRAG(winid, fn) \
|
||||
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, winid, wxAuiToolBarEventHandler(fn))
|
||||
|
||||
#else
|
||||
|
||||
// wxpython/swig event work
|
||||
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN;
|
||||
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK;
|
||||
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK;
|
||||
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK;
|
||||
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG;
|
||||
|
||||
%pythoncode {
|
||||
EVT_AUITOOLBAR_TOOL_DROPDOWN = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 1 )
|
||||
EVT_AUITOOLBAR_OVERFLOW_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 1 )
|
||||
EVT_AUITOOLBAR_RIGHT_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 1 )
|
||||
EVT_AUITOOLBAR_MIDDLE_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 1 )
|
||||
EVT_AUITOOLBAR_BEGIN_DRAG = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 1 )
|
||||
}
|
||||
#endif // SWIG
|
||||
|
||||
#endif // wxABI_VERSION >= 20809
|
||||
|
||||
#endif // wxUSE_AUI
|
||||
|
||||
#endif // _WX_AUIBAR_H_
|
||||
|
@@ -469,15 +469,17 @@ protected:
|
||||
void OnRightDown(wxMouseEvent& evt);
|
||||
void OnRightUp(wxMouseEvent& evt);
|
||||
void OnLeftDClick(wxMouseEvent& evt);
|
||||
void OnSetFocus(wxFocusEvent& event);
|
||||
void OnKillFocus(wxFocusEvent& event);
|
||||
void OnChar(wxKeyEvent& event);
|
||||
void OnSetFocus(wxFocusEvent& evt);
|
||||
void OnKillFocus(wxFocusEvent& evt);
|
||||
void OnChar(wxKeyEvent& evt);
|
||||
#endif
|
||||
#if wxABI_VERSION >= 20809
|
||||
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
|
||||
#endif
|
||||
void OnMotion(wxMouseEvent& evt);
|
||||
void OnLeaveWindow(wxMouseEvent& evt);
|
||||
void OnButton(wxAuiNotebookEvent& evt);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
wxPoint m_click_pt;
|
||||
|
@@ -577,7 +577,7 @@ public:
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
// default ctor does not initialize the object, use Set()!
|
||||
wxDateTime() { m_time = wxLongLong((long)ULONG_MAX, ULONG_MAX); }
|
||||
wxDateTime() { m_time = wxLongLong((wxInt32)UINT_MAX, UINT_MAX); }
|
||||
|
||||
// from time_t: seconds since the Epoch 00:00:00 UTC, Jan 1, 1970)
|
||||
#if (!(defined(__VISAGECPP__) && __IBMCPP__ >= 400))
|
||||
|
@@ -190,6 +190,17 @@
|
||||
|
||||
/* as wxCHECK2 but with a message explaining why we fail */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define wxFORCE_SEMICOLON typedef int wxDummyCheckInt
|
||||
/* Note: old gcc versions (e.g. 2.8) give an internal compiler error */
|
||||
/* on a simple forward declaration, when used in a template */
|
||||
/* function, so rather use a dummy typedef which does work... */
|
||||
#else
|
||||
#define wxFORCE_SEMICOLON struct wxDummyCheckStruct
|
||||
/* Note2: however, some other compilers (notably Digital Mars */
|
||||
/* don't like multiple typedefs (even though the standard */
|
||||
/* does allow them), so use a forward declaration for non-gcc. */
|
||||
#endif
|
||||
/* see comment near the definition of wxASSERT_MSG for the # if/else reason */
|
||||
#if defined(__MWERKS__)
|
||||
#define wxCHECK2_MSG(cond, op, msg) \
|
||||
@@ -210,10 +221,7 @@
|
||||
wxFAIL_COND_MSG(#cond, msg); \
|
||||
op; \
|
||||
} \
|
||||
typedef int wxDummyCheckInt /* just to force a semicolon */
|
||||
/* NB: old gcc versions (e.g. 2.8) give an internal compiler error */
|
||||
/* on a simple forward declaration, when used in a template */
|
||||
/* function, so rather use a dummy typedef which does work... */
|
||||
wxFORCE_SEMICOLON /* just to force a semicolon */
|
||||
#endif
|
||||
|
||||
/* special form of wxCHECK2: as wxCHECK, but for use in void functions */
|
||||
|
@@ -11,6 +11,7 @@
|
||||
#ifndef _WX_DFB_PRIVATE_OVERLAY_H_
|
||||
#define _WX_DFB_PRIVATE_OVERLAY_H_
|
||||
|
||||
#include "wx/gdicmn.h"
|
||||
#include "wx/dfb/dfbptr.h"
|
||||
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
|
||||
|
@@ -11,6 +11,8 @@
|
||||
#ifndef _WX_DFB_WRAPDFB_H_
|
||||
#define _WX_DFB_WRAPDFB_H_
|
||||
|
||||
#include "wx/gdicmn.h"
|
||||
#include "wx/vidmode.h"
|
||||
#include "wx/dfb/dfbptr.h"
|
||||
|
||||
#include <directfb.h>
|
||||
|
@@ -2256,7 +2256,7 @@ typedef void (wxEvtHandler::*wxGridEditorCreatedEventFunction)(wxGridEditorCreat
|
||||
#define EVT_GRID_CMD_LABEL_RIGHT_DCLICK(id, fn) wx__DECLARE_GRIDEVT(LABEL_RIGHT_DCLICK, id, fn)
|
||||
#define EVT_GRID_CMD_ROW_SIZE(id, fn) wx__DECLARE_GRIDSIZEEVT(ROW_SIZE, id, fn)
|
||||
#define EVT_GRID_CMD_COL_SIZE(id, fn) wx__DECLARE_GRIDSIZEEVT(COL_SIZE, id, fn)
|
||||
#define EVT_GRID_CMD_COL_MOVE(id, fn) wx__DECLARE_GRIDSIZEEVT(COL_MOVE, id, fn)
|
||||
#define EVT_GRID_CMD_COL_MOVE(id, fn) wx__DECLARE_GRIDEVT(COL_MOVE, id, fn)
|
||||
#define EVT_GRID_CMD_RANGE_SELECT(id, fn) wx__DECLARE_GRIDRANGESELEVT(RANGE_SELECT, id, fn)
|
||||
#define EVT_GRID_CMD_CELL_CHANGE(id, fn) wx__DECLARE_GRIDEVT(CELL_CHANGE, id, fn)
|
||||
#define EVT_GRID_CMD_SELECT_CELL(id, fn) wx__DECLARE_GRIDEVT(SELECT_CELL, id, fn)
|
||||
|
@@ -15,15 +15,15 @@
|
||||
#include "wx/list.h"
|
||||
#include "wx/control.h"
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
// classes
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxDataViewCtrl;
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewRenderer: public wxDataViewRendererBase
|
||||
{
|
||||
@@ -40,150 +40,150 @@ protected:
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewTextRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewTextRenderer: public wxDataViewRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
|
||||
wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
|
||||
|
||||
bool SetValue( const wxVariant &value );
|
||||
bool GetValue( wxVariant &value );
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewBitmapRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewBitmapRenderer: public wxDataViewRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
|
||||
wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
|
||||
|
||||
bool SetValue( const wxVariant &value );
|
||||
bool GetValue( wxVariant &value );
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewToggleRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewToggleRenderer: public wxDataViewRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
|
||||
wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
|
||||
|
||||
bool SetValue( const wxVariant &value );
|
||||
bool GetValue( wxVariant &value );
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewCustomRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewCustomRenderer: public wxDataViewRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
|
||||
wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
|
||||
bool no_init = false );
|
||||
virtual ~wxDataViewCustomRenderer();
|
||||
bool Init();
|
||||
|
||||
|
||||
virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0;
|
||||
virtual wxSize GetSize() = 0;
|
||||
|
||||
|
||||
virtual bool Activate( wxRect cell,
|
||||
wxDataViewListModel *model, unsigned int col, unsigned int row )
|
||||
wxDataViewListModel * WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
|
||||
{ return false; }
|
||||
|
||||
virtual bool LeftClick( wxPoint cursor, wxRect cell,
|
||||
wxDataViewListModel *model, unsigned int col, unsigned int row )
|
||||
|
||||
virtual bool LeftClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell),
|
||||
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
|
||||
{ return false; }
|
||||
virtual bool RightClick( wxPoint cursor, wxRect cell,
|
||||
wxDataViewListModel *model, unsigned int col, unsigned int row )
|
||||
virtual bool RightClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell),
|
||||
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
|
||||
{ return false; }
|
||||
virtual bool StartDrag( wxPoint cursor, wxRect cell,
|
||||
wxDataViewListModel *model, unsigned int col, unsigned int row )
|
||||
virtual bool StartDrag( wxPoint cursor, wxRect cell,
|
||||
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
|
||||
{ return false; }
|
||||
|
||||
|
||||
// Create DC on request
|
||||
virtual wxDC *GetDC();
|
||||
|
||||
|
||||
private:
|
||||
wxDC *m_dc;
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewProgressRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewProgressRenderer: public wxDataViewCustomRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
|
||||
const wxString &varianttype = wxT("long"),
|
||||
wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
|
||||
const wxString &varianttype = wxT("long"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
|
||||
virtual ~wxDataViewProgressRenderer();
|
||||
|
||||
|
||||
bool SetValue( const wxVariant &value );
|
||||
|
||||
|
||||
virtual bool Render( wxRect cell, wxDC *dc, int state );
|
||||
virtual wxSize GetSize();
|
||||
|
||||
|
||||
private:
|
||||
wxString m_label;
|
||||
int m_value;
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewDateRenderer
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class wxDataViewDateRenderer: public wxDataViewCustomRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
|
||||
wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE );
|
||||
|
||||
|
||||
bool SetValue( const wxVariant &value );
|
||||
|
||||
|
||||
virtual bool Render( wxRect cell, wxDC *dc, int state );
|
||||
virtual wxSize GetSize();
|
||||
virtual bool Activate( wxRect cell,
|
||||
wxDataViewListModel *model, unsigned int col, unsigned int row );
|
||||
|
||||
|
||||
private:
|
||||
wxDateTime m_date;
|
||||
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewColumn
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxDataViewColumn: public wxDataViewColumnBase
|
||||
{
|
||||
@@ -200,45 +200,45 @@ public:
|
||||
virtual void SetOwner( wxDataViewCtrl *owner );
|
||||
|
||||
virtual void SetAlignment( wxAlignment align );
|
||||
|
||||
|
||||
virtual void SetSortable( bool sortable );
|
||||
virtual bool GetSortable();
|
||||
virtual void SetSortOrder( bool ascending );
|
||||
virtual bool IsSortOrderAscending();
|
||||
|
||||
virtual int GetWidth();
|
||||
|
||||
|
||||
virtual void SetFixedWidth( int width );
|
||||
virtual int GetFixedWidth();
|
||||
|
||||
|
||||
// implementation
|
||||
void* GetGtkHandle() { return m_column; }
|
||||
|
||||
private:
|
||||
// holds the GTK handle
|
||||
void* m_column;
|
||||
|
||||
|
||||
// delayed connection to mouse events
|
||||
friend class wxDataViewCtrl;
|
||||
void OnInternalIdle();
|
||||
bool m_isConnected;
|
||||
|
||||
bool m_isConnected;
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewColumn)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewCtrl
|
||||
// ---------------------------------------------------------
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxDataViewCtrl: public wxDataViewCtrlBase
|
||||
{
|
||||
public:
|
||||
wxDataViewCtrl()
|
||||
wxDataViewCtrl()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
|
||||
wxDataViewCtrl( wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = 0,
|
||||
@@ -258,28 +258,28 @@ public:
|
||||
|
||||
virtual bool AssociateModel( wxDataViewListModel *model );
|
||||
virtual bool AppendColumn( wxDataViewColumn *col );
|
||||
|
||||
|
||||
virtual void SetSelection( int row ); // -1 for unselect
|
||||
virtual void SetSelectionRange( unsigned int from, unsigned int to );
|
||||
virtual void SetSelections( const wxArrayInt& aSelections);
|
||||
virtual void Unselect( unsigned int row );
|
||||
|
||||
|
||||
virtual bool IsSelected( unsigned int row ) const;
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
static wxVisualAttributes
|
||||
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
||||
|
||||
|
||||
private:
|
||||
friend class wxDataViewCtrlDC;
|
||||
friend class wxDataViewColumn;
|
||||
friend class wxGtkDataViewListModelNotifier;
|
||||
GtkWidget *m_treeview;
|
||||
wxDataViewListModelNotifier *m_notifier;
|
||||
|
||||
|
||||
virtual void OnInternalIdle();
|
||||
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxDataViewCtrl)
|
||||
DECLARE_NO_COPY_CLASS(wxDataViewCtrl)
|
||||
|
@@ -14,12 +14,34 @@
|
||||
|
||||
#include "wx/string.h"
|
||||
|
||||
// In wxUSE_STL build we prefer to use the standard hash map class but it can
|
||||
// be either in non-standard hash_map header (old g++ and some other STL
|
||||
// implementations) or in C++0x standard unordered_map which can in turn be
|
||||
// available either in std::tr1 or std namespace itself
|
||||
//
|
||||
// To summarize: if std::unordered_map is available use it, otherwise use tr1
|
||||
// and finally fall back to non-standard hash_map
|
||||
|
||||
#if (defined(HAVE_EXT_HASH_MAP) || defined(HAVE_HASH_MAP)) \
|
||||
&& (defined(HAVE_GNU_CXX_HASH_MAP) || defined(HAVE_STD_HASH_MAP))
|
||||
#define HAVE_STL_HASH_MAP
|
||||
#endif
|
||||
|
||||
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
#if wxUSE_STL && \
|
||||
(defined(HAVE_STD_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP))
|
||||
|
||||
#if defined(HAVE_STD_UNORDERED_MAP)
|
||||
#include <unordered_map>
|
||||
#define WX_HASH_MAP_NAMESPACE std
|
||||
#elif defined(HAVE_TR1_UNORDERED_MAP)
|
||||
#include <tr1/unordered_map>
|
||||
#define WX_HASH_MAP_NAMESPACE std::tr1
|
||||
#endif
|
||||
|
||||
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
|
||||
typedef WX_HASH_MAP_NAMESPACE::unordered_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME
|
||||
|
||||
#elif wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
|
||||
#if defined(HAVE_EXT_HASH_MAP)
|
||||
#include <ext/hash_map>
|
||||
@@ -36,8 +58,9 @@
|
||||
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
|
||||
typedef WX_HASH_MAP_NAMESPACE::hash_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME
|
||||
|
||||
#else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#else // !wxUSE_STL || no std::{hash,unordered}_map class available
|
||||
|
||||
#define wxNEEDS_WX_HASH_MAP
|
||||
|
||||
#ifdef __WXWINCE__
|
||||
typedef int ptrdiff_t;
|
||||
@@ -442,7 +465,7 @@ inline bool grow_lf70( size_t buckets, size_t items )
|
||||
return float(items)/float(buckets) >= 0.85;
|
||||
}
|
||||
|
||||
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#endif // various hash map implementations
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// hashing and comparison functors
|
||||
@@ -452,7 +475,7 @@ inline bool grow_lf70( size_t buckets, size_t items )
|
||||
// operators to suppress warnings about "statement with no effect" from gcc
|
||||
// in the hash table class assignment operator (where they're assigned)
|
||||
|
||||
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
#ifndef wxNEEDS_WX_HASH_MAP
|
||||
|
||||
// integer types
|
||||
class WXDLLIMPEXP_BASE wxIntegerHash
|
||||
@@ -496,7 +519,7 @@ public:
|
||||
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
||||
};
|
||||
|
||||
#else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#else // wxNEEDS_WX_HASH_MAP
|
||||
|
||||
// integer types
|
||||
class WXDLLIMPEXP_BASE wxIntegerHash
|
||||
@@ -517,7 +540,7 @@ public:
|
||||
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
|
||||
};
|
||||
|
||||
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#endif // !wxNEEDS_WX_HASH_MAP/wxNEEDS_WX_HASH_MAP
|
||||
|
||||
class WXDLLIMPEXP_BASE wxIntegerEqual
|
||||
{
|
||||
@@ -543,8 +566,8 @@ class WXDLLIMPEXP_BASE wxPointerHash
|
||||
public:
|
||||
wxPointerHash() { }
|
||||
|
||||
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
size_t operator()( const void* k ) const { return (size_t)k; }
|
||||
#ifdef wxNEEDS_WX_HASH_MAP
|
||||
wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); }
|
||||
#else
|
||||
wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); }
|
||||
#endif
|
||||
@@ -596,7 +619,7 @@ public:
|
||||
wxStringEqual& operator=(const wxStringEqual&) { return *this; }
|
||||
};
|
||||
|
||||
#if !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#ifdef wxNEEDS_WX_HASH_MAP
|
||||
|
||||
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
|
||||
_WX_DECLARE_PAIR( KEY_T, VALUE_T, CLASSNAME##_wxImplementation_Pair, CLASSEXP ) \
|
||||
@@ -655,7 +678,7 @@ public: \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
|
||||
#endif // wxNEEDS_WX_HASH_MAP
|
||||
|
||||
// these macros are to be used in the user code
|
||||
#define WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME) \
|
||||
|
@@ -14,7 +14,25 @@
|
||||
|
||||
#include "wx/hashmap.h"
|
||||
|
||||
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
// see comment in wx/hashmap.h which also applies to different standard hash
|
||||
// set classes
|
||||
|
||||
#if wxUSE_STL && \
|
||||
(defined(HAVE_STD_UNORDERED_SET) || defined(HAVE_TR1_UNORDERED_SET))
|
||||
|
||||
#if defined(HAVE_STD_UNORDERED_SET)
|
||||
#include <unordered_set>
|
||||
#define _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP )\
|
||||
typedef std::unordered_set< KEY_T, HASH_T, KEY_EQ_T > CLASSNAME
|
||||
#elif defined(HAVE_TR1_UNORDERED_SET)
|
||||
#include <tr1/unordered_set>
|
||||
#define _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP )\
|
||||
typedef std::tr1::unordered_set< KEY_T, HASH_T, KEY_EQ_T > CLASSNAME
|
||||
#else
|
||||
#error Update this code: unordered_set is available, but I do not know where.
|
||||
#endif
|
||||
|
||||
#elif wxUSE_STL && defined(HAVE_STL_HASH_MAP)
|
||||
|
||||
#if defined(HAVE_EXT_HASH_MAP)
|
||||
#include <ext/hash_set>
|
||||
|
@@ -113,9 +113,9 @@ public:
|
||||
// from long long
|
||||
wxLongLongNative(wxLongLong_t ll) : m_ll(ll) { }
|
||||
// from 2 longs
|
||||
wxLongLongNative(long hi, unsigned long lo) : m_ll(0)
|
||||
wxLongLongNative(wxInt32 hi, wxUint32 lo)
|
||||
{
|
||||
// assign first to avoid precision loss!
|
||||
// cast to wxLongLong_t first to avoid precision loss!
|
||||
m_ll = ((wxLongLong_t) hi) << 32;
|
||||
m_ll |= (wxLongLong_t) lo;
|
||||
}
|
||||
@@ -160,11 +160,11 @@ public:
|
||||
|
||||
// accessors
|
||||
// get high part
|
||||
long GetHi() const
|
||||
{ return wx_truncate_cast(long, m_ll >> 32); }
|
||||
wxInt32 GetHi() const
|
||||
{ return wx_truncate_cast(wxInt32, m_ll >> 32); }
|
||||
// get low part
|
||||
unsigned long GetLo() const
|
||||
{ return wx_truncate_cast(unsigned long, m_ll); }
|
||||
wxUint32 GetLo() const
|
||||
{ return wx_truncate_cast(wxUint32, m_ll); }
|
||||
|
||||
// get absolute value
|
||||
wxLongLongNative Abs() const { return wxLongLongNative(*this).Abs(); }
|
||||
@@ -350,9 +350,9 @@ public:
|
||||
// from long long
|
||||
wxULongLongNative(wxULongLong_t ll) : m_ll(ll) { }
|
||||
// from 2 longs
|
||||
wxULongLongNative(unsigned long hi, unsigned long lo) : m_ll(0)
|
||||
wxULongLongNative(wxUint32 hi, wxUint32 lo) : m_ll(0)
|
||||
{
|
||||
// assign first to avoid precision loss!
|
||||
// cast to wxLongLong_t first to avoid precision loss!
|
||||
m_ll = ((wxULongLong_t) hi) << 32;
|
||||
m_ll |= (wxULongLong_t) lo;
|
||||
}
|
||||
@@ -392,11 +392,11 @@ public:
|
||||
|
||||
// accessors
|
||||
// get high part
|
||||
unsigned long GetHi() const
|
||||
{ return wx_truncate_cast(unsigned long, m_ll >> 32); }
|
||||
wxUint32 GetHi() const
|
||||
{ return wx_truncate_cast(wxUint32, m_ll >> 32); }
|
||||
// get low part
|
||||
unsigned long GetLo() const
|
||||
{ return wx_truncate_cast(unsigned long, m_ll); }
|
||||
wxUint32 GetLo() const
|
||||
{ return wx_truncate_cast(wxUint32, m_ll); }
|
||||
|
||||
// convert to native ulong long
|
||||
wxULongLong_t GetValue() const { return m_ll; }
|
||||
|
@@ -117,9 +117,9 @@
|
||||
// #define WXWIN_OS_DESCRIPTION "Darwin 7.9.0 Power Macintosh"
|
||||
// #define PACKAGE_BUGREPORT "wx-dev@lists.wxwidgets.org"
|
||||
// #define PACKAGE_NAME "wxWidgets"
|
||||
// #define PACKAGE_STRING "wxWidgets 2.8.8"
|
||||
// #define PACKAGE_STRING "wxWidgets 2.8.9"
|
||||
// #define PACKAGE_TARNAME "wxwidgets"
|
||||
// #define PACKAGE_VERSION "2.8.8"
|
||||
// #define PACKAGE_VERSION "2.8.9"
|
||||
|
||||
// for regex
|
||||
#define WX_NO_REGEX_ADVANCED 1
|
||||
|
@@ -324,7 +324,7 @@ class WXDLLEXPORT wxListCtrl: public wxControl
|
||||
virtual bool SetFont(const wxFont& font);
|
||||
virtual bool SetForegroundColour(const wxColour& colour);
|
||||
virtual bool SetBackgroundColour(const wxColour& colour);
|
||||
virtual wxColour GetBackgroundColour();
|
||||
virtual wxColour GetBackgroundColour() const;
|
||||
|
||||
// functions for editing/timer
|
||||
void OnRenameTimer();
|
||||
|
@@ -92,6 +92,7 @@ public:
|
||||
|
||||
virtual void SetTitle( const wxString& title);
|
||||
virtual wxString GetTitle() const;
|
||||
virtual void SetLabel( const wxString& title);
|
||||
|
||||
virtual void Raise();
|
||||
virtual void Lower();
|
||||
|
@@ -435,6 +435,11 @@ private:
|
||||
// UpdateStyle()), only should be called if InReportView()
|
||||
void MSWSetExListStyles();
|
||||
|
||||
// initialize the (already created) m_textCtrl with the associated HWND
|
||||
void InitEditControl(WXHWND hWnd);
|
||||
|
||||
// destroy m_textCtrl if it's currently valid and reset it to NULL
|
||||
void DeleteEditControl();
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxListCtrl)
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
@@ -74,6 +74,12 @@ public:
|
||||
bool Set(const wxChar *pc); // from a string, returns true if ok
|
||||
void Set(const UUID& uuid); // from another UUID (never fails)
|
||||
|
||||
#if wxABI_VERSION >= 20809
|
||||
// comparison operators
|
||||
bool operator==(const Uuid& uuid) const;
|
||||
bool operator!=(const Uuid& uuid) const;
|
||||
#endif // wxABI_VERSION >= 2.8.9
|
||||
|
||||
// accessors
|
||||
operator const UUID*() const { return &m_uuid; }
|
||||
operator const wxChar*() const { return (wxChar *)(m_pszUuid); }
|
||||
|
@@ -575,6 +575,10 @@ protected:
|
||||
private:
|
||||
void Init(wxPrintout *printout, wxPrintout *printoutForPrinting);
|
||||
|
||||
// helpers for RenderPage():
|
||||
bool RenderPageIntoDC(wxDC& dc, int pageNum);
|
||||
bool RenderPageIntoBitmap(wxBitmap& bmp, int pageNum);
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxPrintPreviewBase)
|
||||
DECLARE_CLASS(wxPrintPreviewBase)
|
||||
};
|
||||
|
@@ -49,7 +49,8 @@ public:
|
||||
unsigned int GetColumnCount() const { return m_numCols; }
|
||||
unsigned int GetRowCount() const { return m_numRows; }
|
||||
|
||||
// return the item above/below/to the left/right of the given one
|
||||
// return the next active (i.e. shown and not disabled) item above/below/to
|
||||
// the left/right of the given one
|
||||
int GetNextItem(int item, wxDirection dir, long style) const;
|
||||
|
||||
#if wxUSE_TOOLTIPS
|
||||
|
@@ -119,7 +119,7 @@ public:
|
||||
const wxRichTextHeaderFooterData& GetHeaderFooterData() const { return m_headerFooterData; }
|
||||
|
||||
/// Sets margins in 10ths of millimetre. Defaults to 1 inch for margins.
|
||||
void SetMargins(int top = 252, int bottom = 252, int left = 252, int right = 252);
|
||||
void SetMargins(int top = 254, int bottom = 254, int left = 254, int right = 254);
|
||||
|
||||
/// Calculate scaling and rectangles, setting the device context scaling
|
||||
void CalculateScaling(wxDC* dc, wxRect& textRect, wxRect& headerRect, wxRect& footerRect);
|
||||
|
@@ -28,9 +28,9 @@
|
||||
/* NB: this file is parsed by automatic tools so don't change its format! */
|
||||
#define wxMAJOR_VERSION 2
|
||||
#define wxMINOR_VERSION 8
|
||||
#define wxRELEASE_NUMBER 8
|
||||
#define wxRELEASE_NUMBER 9
|
||||
#define wxSUBRELEASE_NUMBER 0
|
||||
#define wxVERSION_STRING _T("wxWidgets 2.8.8")
|
||||
#define wxVERSION_STRING _T("wxWidgets 2.8.9")
|
||||
|
||||
/* nothing to update below this line when updating the version */
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
|
@@ -1004,14 +1004,21 @@ public:
|
||||
void SetToolTip( const wxString &tip );
|
||||
// attach a tooltip to the window
|
||||
void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); }
|
||||
#if wxABI_VERSION >= 20809
|
||||
// more readable synonym for SetToolTip(NULL)
|
||||
void UnsetToolTip() { SetToolTip(NULL); }
|
||||
#endif // wxABI_VERSION >= 2.8.9
|
||||
// get the associated tooltip or NULL if none
|
||||
wxToolTip* GetToolTip() const { return m_tooltip; }
|
||||
wxString GetToolTipText() const ;
|
||||
#else
|
||||
#else // !wxUSE_TOOLTIPS
|
||||
// make it much easier to compile apps in an environment
|
||||
// that doesn't support tooltips, such as PocketPC
|
||||
inline void SetToolTip( const wxString & WXUNUSED(tip) ) {}
|
||||
#endif // wxUSE_TOOLTIPS
|
||||
void SetToolTip( const wxString & WXUNUSED(tip) ) {}
|
||||
#if wxABI_VERSION >= 20809
|
||||
void UnsetToolTip() { }
|
||||
#endif // wxABI_VERSION >= 2.8.9
|
||||
#endif // wxUSE_TOOLTIPS/!wxUSE_TOOLTIPS
|
||||
|
||||
// drag and drop
|
||||
// -------------
|
||||
|
@@ -128,8 +128,6 @@ public:
|
||||
// Destructor.
|
||||
virtual ~wxXmlResource();
|
||||
|
||||
wxXmlNode *GetFirstRoot();
|
||||
|
||||
// Loads resources from XML files that match given filemask.
|
||||
// This method understands VFS (see filesys.h).
|
||||
bool Load(const wxString& filemask);
|
||||
|
@@ -125,11 +125,11 @@ public:
|
||||
wxFilterInputStream *NewStream(wxInputStream& stream) const
|
||||
{ return new wxZlibInputStream(stream); }
|
||||
wxFilterOutputStream *NewStream(wxOutputStream& stream) const
|
||||
{ return new wxZlibOutputStream(stream, -1); }
|
||||
{ return new wxZlibOutputStream(stream, -1, wxZLIB_GZIP); }
|
||||
wxFilterInputStream *NewStream(wxInputStream *stream) const
|
||||
{ return new wxZlibInputStream(stream); }
|
||||
wxFilterOutputStream *NewStream(wxOutputStream *stream) const
|
||||
{ return new wxZlibOutputStream(stream, -1); }
|
||||
{ return new wxZlibOutputStream(stream, -1, wxZLIB_GZIP); }
|
||||
|
||||
const wxChar * const *GetProtocols(wxStreamProtocolType type
|
||||
= wxSTREAM_PROTOCOL) const;
|
||||
|
1905
locale/hi.po
1905
locale/hi.po
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,8 @@ class MyFrame : public wxFrame
|
||||
ID_VerticalGradient,
|
||||
ID_HorizontalGradient,
|
||||
ID_Settings,
|
||||
ID_CustomizeToolbar,
|
||||
ID_DropDownToolbarItem,
|
||||
ID_NotebookNoCloseButton,
|
||||
ID_NotebookCloseButton,
|
||||
ID_NotebookCloseButtonAll,
|
||||
@@ -99,6 +101,9 @@ class MyFrame : public wxFrame
|
||||
ID_NotebookArtSimple,
|
||||
ID_NotebookAlignTop,
|
||||
ID_NotebookAlignBottom,
|
||||
|
||||
ID_SampleItem,
|
||||
|
||||
ID_FirstPerspective = ID_CreatePerspective+1000
|
||||
};
|
||||
|
||||
@@ -138,10 +143,12 @@ private:
|
||||
void OnCreateText(wxCommandEvent& evt);
|
||||
void OnCreateSizeReport(wxCommandEvent& evt);
|
||||
void OnChangeContentPane(wxCommandEvent& evt);
|
||||
void OnDropDownToolbarItem(wxAuiToolBarEvent& evt);
|
||||
void OnCreatePerspective(wxCommandEvent& evt);
|
||||
void OnCopyPerspectiveCode(wxCommandEvent& evt);
|
||||
void OnRestorePerspective(wxCommandEvent& evt);
|
||||
void OnSettings(wxCommandEvent& evt);
|
||||
void OnCustomizeToolbar(wxCommandEvent& evt);
|
||||
void OnAllowNotebookDnD(wxAuiNotebookEvent& evt);
|
||||
void OnNotebookPageClose(wxAuiNotebookEvent& evt);
|
||||
void OnExit(wxCommandEvent& evt);
|
||||
@@ -600,6 +607,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(ID_VerticalGradient, MyFrame::OnGradient)
|
||||
EVT_MENU(ID_HorizontalGradient, MyFrame::OnGradient)
|
||||
EVT_MENU(ID_Settings, MyFrame::OnSettings)
|
||||
EVT_MENU(ID_CustomizeToolbar, MyFrame::OnCustomizeToolbar)
|
||||
EVT_MENU(ID_GridContent, MyFrame::OnChangeContentPane)
|
||||
EVT_MENU(ID_TreeContent, MyFrame::OnChangeContentPane)
|
||||
EVT_MENU(ID_TextContent, MyFrame::OnChangeContentPane)
|
||||
@@ -631,6 +639,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_UPDATE_UI(ID_HorizontalGradient, MyFrame::OnUpdateUI)
|
||||
EVT_MENU_RANGE(MyFrame::ID_FirstPerspective, MyFrame::ID_FirstPerspective+1000,
|
||||
MyFrame::OnRestorePerspective)
|
||||
EVT_AUITOOLBAR_TOOL_DROPDOWN(ID_DropDownToolbarItem, MyFrame::OnDropDownToolbarItem)
|
||||
EVT_AUI_PANE_CLOSE(MyFrame::OnPaneClose)
|
||||
EVT_AUINOTEBOOK_ALLOW_DND(wxID_ANY, MyFrame::OnAllowNotebookDnD)
|
||||
EVT_AUINOTEBOOK_PAGE_CLOSE(wxID_ANY, MyFrame::OnNotebookPageClose)
|
||||
@@ -741,78 +750,102 @@ MyFrame::MyFrame(wxWindow* parent,
|
||||
// code. For now, just hard code a frame minimum size
|
||||
SetMinSize(wxSize(400,300));
|
||||
|
||||
|
||||
|
||||
// prepare a few custom overflow elements for the toolbars' overflow buttons
|
||||
|
||||
wxAuiToolBarItemArray prepend_items;
|
||||
wxAuiToolBarItemArray append_items;
|
||||
wxAuiToolBarItem item;
|
||||
item.SetKind(wxITEM_SEPARATOR);
|
||||
append_items.Add(item);
|
||||
item.SetKind(wxITEM_NORMAL);
|
||||
item.SetId(ID_CustomizeToolbar);
|
||||
item.SetLabel(_("Customize..."));
|
||||
append_items.Add(item);
|
||||
|
||||
|
||||
// create some toolbars
|
||||
wxToolBar* tb1 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb1 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb1->SetToolBitmapSize(wxSize(48,48));
|
||||
tb1->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb1->AddTool(ID_SampleItem+1, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb1->AddSeparator();
|
||||
tb1->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb1->AddTool(ID_SampleItem+2, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb1->AddTool(ID_SampleItem+3, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb1->AddTool(ID_SampleItem+4, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb1->AddTool(ID_SampleItem+5, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb1->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb1->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb2 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb2 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb2->SetToolBitmapSize(wxSize(16,16));
|
||||
|
||||
wxBitmap tb2_bmp1 = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+6, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+7, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+8, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+9, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddSeparator();
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+10, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+11, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddSeparator();
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+12, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+13, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+14, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+15, wxT("Test"), tb2_bmp1);
|
||||
tb2->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb2->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb3 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb3 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb3->SetToolBitmapSize(wxSize(16,16));
|
||||
wxBitmap tb3_bmp1 = wxArtProvider::GetBitmap(wxART_FOLDER, wxART_OTHER, wxSize(16,16));
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+16, wxT("Test2"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+17, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+18, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+19, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddSeparator();
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+20, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+21, wxT("Test"), tb3_bmp1);
|
||||
tb3->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb3->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb4 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER | wxTB_HORZ_TEXT);
|
||||
wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE |
|
||||
wxAUI_TB_OVERFLOW |
|
||||
wxAUI_TB_TEXT |
|
||||
wxAUI_TB_HORZ_TEXT);
|
||||
tb4->SetToolBitmapSize(wxSize(16,16));
|
||||
wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
|
||||
tb4->AddTool(101, wxT("Item 1"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 2"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 3"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 4"), tb4_bmp1);
|
||||
tb4->AddTool(ID_DropDownToolbarItem, wxT("Item 1"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+23, wxT("Item 2"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+24, wxT("Item 3"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+25, wxT("Item 4"), tb4_bmp1);
|
||||
tb4->AddSeparator();
|
||||
tb4->AddTool(101, wxT("Item 5"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 6"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 7"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 8"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+26, wxT("Item 5"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+27, wxT("Item 6"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+28, wxT("Item 7"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+29, wxT("Item 8"), tb4_bmp1);
|
||||
tb4->SetToolDropDown(ID_DropDownToolbarItem, true);
|
||||
tb4->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb4->Realize();
|
||||
|
||||
// create some toolbars
|
||||
wxToolBar* tb5 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER | wxTB_VERTICAL);
|
||||
|
||||
wxAuiToolBar* tb5 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW | wxAUI_TB_VERTICAL);
|
||||
tb5->SetToolBitmapSize(wxSize(48,48));
|
||||
tb5->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb5->AddTool(ID_SampleItem+30, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb5->AddSeparator();
|
||||
tb5->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb5->AddTool(ID_SampleItem+31, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb5->AddTool(ID_SampleItem+32, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb5->AddTool(ID_SampleItem+33, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb5->AddTool(ID_SampleItem+34, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb5->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb5->Realize();
|
||||
|
||||
// add a bunch of panes
|
||||
@@ -973,7 +1006,7 @@ void MyFrame::OnSize(wxSizeEvent& event)
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
|
||||
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(evt))
|
||||
{
|
||||
// show the settings pane, and float it
|
||||
wxAuiPaneInfo& floating_pane = m_mgr.GetPane(wxT("settings")).Float().Show();
|
||||
@@ -984,6 +1017,11 @@ void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnCustomizeToolbar(wxCommandEvent& WXUNUSED(evt))
|
||||
{
|
||||
wxMessageBox(_("Customize Toolbar clicked"));
|
||||
}
|
||||
|
||||
void MyFrame::OnGradient(wxCommandEvent& event)
|
||||
{
|
||||
int gradient = 0;
|
||||
@@ -1340,17 +1378,61 @@ void MyFrame::OnCreateSizeReport(wxCommandEvent& WXUNUSED(event))
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnChangeContentPane(wxCommandEvent& event)
|
||||
void MyFrame::OnChangeContentPane(wxCommandEvent& evt)
|
||||
{
|
||||
m_mgr.GetPane(wxT("grid_content")).Show(event.GetId() == ID_GridContent);
|
||||
m_mgr.GetPane(wxT("text_content")).Show(event.GetId() == ID_TextContent);
|
||||
m_mgr.GetPane(wxT("tree_content")).Show(event.GetId() == ID_TreeContent);
|
||||
m_mgr.GetPane(wxT("sizereport_content")).Show(event.GetId() == ID_SizeReportContent);
|
||||
m_mgr.GetPane(wxT("html_content")).Show(event.GetId() == ID_HTMLContent);
|
||||
m_mgr.GetPane(wxT("notebook_content")).Show(event.GetId() == ID_NotebookContent);
|
||||
m_mgr.GetPane(wxT("grid_content")).Show(evt.GetId() == ID_GridContent);
|
||||
m_mgr.GetPane(wxT("text_content")).Show(evt.GetId() == ID_TextContent);
|
||||
m_mgr.GetPane(wxT("tree_content")).Show(evt.GetId() == ID_TreeContent);
|
||||
m_mgr.GetPane(wxT("sizereport_content")).Show(evt.GetId() == ID_SizeReportContent);
|
||||
m_mgr.GetPane(wxT("html_content")).Show(evt.GetId() == ID_HTMLContent);
|
||||
m_mgr.GetPane(wxT("notebook_content")).Show(evt.GetId() == ID_NotebookContent);
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& evt)
|
||||
{
|
||||
if (evt.IsDropDownClicked())
|
||||
{
|
||||
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject());
|
||||
|
||||
tb->SetToolSticky(evt.GetId(), true);
|
||||
|
||||
// create the popup menu
|
||||
wxMenu menuPopup;
|
||||
|
||||
wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
|
||||
|
||||
wxMenuItem* m1 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 1"));
|
||||
m1->SetBitmap(bmp);
|
||||
menuPopup.Append(m1);
|
||||
|
||||
wxMenuItem* m2 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 2"));
|
||||
m2->SetBitmap(bmp);
|
||||
menuPopup.Append(m2);
|
||||
|
||||
wxMenuItem* m3 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 3"));
|
||||
m3->SetBitmap(bmp);
|
||||
menuPopup.Append(m3);
|
||||
|
||||
wxMenuItem* m4 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 4"));
|
||||
m4->SetBitmap(bmp);
|
||||
menuPopup.Append(m4);
|
||||
|
||||
// line up our menu with the button
|
||||
wxRect rect = tb->GetToolRect(evt.GetId());
|
||||
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
|
||||
pt = ScreenToClient(pt);
|
||||
|
||||
|
||||
PopupMenu(&menuPopup, pt);
|
||||
|
||||
|
||||
// make sure the button is "un-stuck"
|
||||
tb->SetToolSticky(evt.GetId(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MyFrame::OnTabAlignment(wxCommandEvent &evt)
|
||||
{
|
||||
size_t i, count;
|
||||
@@ -1545,6 +1627,13 @@ wxString MyFrame::GetIntroText()
|
||||
"<li>Optional transparent window effects (while dragging or docking)</li>"
|
||||
"<li>Splittable notebook control</li>"
|
||||
"</ul>"
|
||||
"<p><b>What's new in 0.9.4?</b></p>"
|
||||
"<p>wxAUI 0.9.4, which is bundled with wxWidgets, adds the following features:"
|
||||
"<ul>"
|
||||
"<li>New wxAuiToolBar class, a toolbar control which integrates more "
|
||||
"cleanly with wxAuiFrameManager.</li>"
|
||||
"<li>Lots of bug fixes</li>"
|
||||
"</ul>"
|
||||
"<p><b>What's new in 0.9.3?</b></p>"
|
||||
"<p>wxAUI 0.9.3, which is now bundled with wxWidgets, adds the following features:"
|
||||
"<ul>"
|
||||
|
@@ -329,30 +329,23 @@ bool DrawingCommand::Undo(void)
|
||||
IMPLEMENT_DYNAMIC_CLASS(TextEditDocument, wxDocument)
|
||||
|
||||
// Since text windows have their own method for saving to/loading from files,
|
||||
// we override OnSave/OpenDocument instead of Save/LoadObject
|
||||
bool TextEditDocument::OnSaveDocument(const wxString& filename)
|
||||
// we override DoSave/OpenDocument instead of Save/LoadObject
|
||||
bool TextEditDocument::DoSaveDocument(const wxString& filename)
|
||||
{
|
||||
TextEditView *view = (TextEditView *)GetFirstView();
|
||||
|
||||
if (!view->textsw->SaveFile(filename))
|
||||
return false;
|
||||
Modify(false);
|
||||
#ifdef __WXMAC__
|
||||
wxFileName fn(filename) ;
|
||||
fn.MacSetDefaultTypeAndCreator() ;
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TextEditDocument::OnOpenDocument(const wxString& filename)
|
||||
bool TextEditDocument::DoOpenDocument(const wxString& filename)
|
||||
{
|
||||
TextEditView *view = (TextEditView *)GetFirstView();
|
||||
if (!view->textsw->LoadFile(filename))
|
||||
return false;
|
||||
|
||||
SetFilename(filename, true);
|
||||
Modify(false);
|
||||
UpdateAllViews();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -93,8 +93,8 @@ public:
|
||||
wxSTD ostream& SaveObject(wxSTD ostream& stream);
|
||||
wxSTD istream& LoadObject(wxSTD istream& stream);
|
||||
*/
|
||||
virtual bool OnSaveDocument(const wxString& filename);
|
||||
virtual bool OnOpenDocument(const wxString& filename);
|
||||
virtual bool DoSaveDocument(const wxString& filename);
|
||||
virtual bool DoOpenDocument(const wxString& filename);
|
||||
virtual bool IsModified(void) const;
|
||||
virtual void Modify(bool mod);
|
||||
|
||||
|
@@ -817,7 +817,7 @@ void MyFrame::OnFileExec(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
s_filename = filename;
|
||||
|
||||
wxString ext = filename.AfterFirst(_T('.'));
|
||||
wxString ext = filename.AfterLast(_T('.'));
|
||||
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
|
||||
if ( !ft )
|
||||
{
|
||||
|
@@ -263,17 +263,15 @@ void MyFrame::OnOpen(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
void MyFrame::OnPrintSmall(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
int fontsizes[] = { 4, 6, 8, 10, 12, 20, 24 };
|
||||
m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
|
||||
m_Prn->SetStandardFonts(8);
|
||||
}
|
||||
|
||||
void MyFrame::OnPrintNormal(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_Prn->SetFonts(wxEmptyString, wxEmptyString, 0);
|
||||
m_Prn->SetStandardFonts(12);
|
||||
}
|
||||
|
||||
void MyFrame::OnPrintHuge(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
int fontsizes[] = { 20, 26, 28, 30, 32, 40, 44 };
|
||||
m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
|
||||
m_Prn->SetStandardFonts(28);
|
||||
}
|
||||
|
@@ -50,13 +50,13 @@ WXUNICODEFLAG = u
|
||||
!if "$(WXUNIV)" == "1"
|
||||
WXUNIVNAME = univ
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
DIR_SUFFIX_CPU = _amd64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
DIR_SUFFIX_CPU = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
@@ -71,13 +71,13 @@ LIBTYPE_SUFFIX = lib
|
||||
!if "$(SHARED)" == "1"
|
||||
LIBTYPE_SUFFIX = dll
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
LINK_TARGET_CPU = /MACHINE:AMD64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
|
@@ -314,7 +314,6 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
|
||||
: wxFrame(frame, wxID_ANY, title, pos, size, style)
|
||||
{
|
||||
m_canvas = NULL;
|
||||
SetIcon(wxIcon(sample_xpm));
|
||||
}
|
||||
|
||||
MyFrame::~MyFrame()
|
||||
|
@@ -399,7 +399,8 @@ void BitmapComboBoxWidgetsPage::CreateCombo()
|
||||
for ( unsigned int n = 0; n < count; n++ )
|
||||
{
|
||||
items.Add(m_combobox->GetString(n));
|
||||
bitmaps.Add(new wxBitmap(m_combobox->GetItemBitmap(n)));
|
||||
wxBitmap bmp = m_combobox->GetItemBitmap(n);
|
||||
bitmaps.Add(new wxBitmap(bmp));
|
||||
}
|
||||
|
||||
m_sizerCombo->Detach( m_combobox );
|
||||
|
20
setup.h.in
20
setup.h.in
@@ -625,6 +625,26 @@
|
||||
*/
|
||||
#undef HAVE_GNU_CXX_HASH_MAP
|
||||
|
||||
/*
|
||||
* Define if your compiler has std::unordered_map
|
||||
*/
|
||||
#undef HAVE_STD_UNORDERED_MAP
|
||||
|
||||
/*
|
||||
* Define if your compiler has std::unordered_set
|
||||
*/
|
||||
#undef HAVE_STD_UNORDERED_SET
|
||||
|
||||
/*
|
||||
* Define if your compiler has std::tr1::unordered_map
|
||||
*/
|
||||
#undef HAVE_TR1_UNORDERED_MAP
|
||||
|
||||
/*
|
||||
* Define if your compiler has std::tr1::unordered_set
|
||||
*/
|
||||
#undef HAVE_TR1_UNORDERED_SET
|
||||
|
||||
/*
|
||||
* The built-in regex supports advanced REs in additional to POSIX's basic
|
||||
* and extended. Your system regex probably won't support this, and in this
|
||||
|
2630
src/aui/auibar.cpp
Normal file
2630
src/aui/auibar.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1006,7 +1006,7 @@ wxAuiSimpleTabArt::~wxAuiSimpleTabArt()
|
||||
|
||||
wxAuiTabArt* wxAuiSimpleTabArt::Clone()
|
||||
{
|
||||
return static_cast<wxAuiTabArt*>(new wxAuiSimpleTabArt);
|
||||
return wx_static_cast(wxAuiTabArt*, new wxAuiSimpleTabArt);
|
||||
}
|
||||
|
||||
|
||||
@@ -2334,6 +2334,7 @@ BEGIN_EVENT_TABLE(wxAuiTabCtrl, wxControl)
|
||||
EVT_SET_FOCUS(wxAuiTabCtrl::OnSetFocus)
|
||||
EVT_KILL_FOCUS(wxAuiTabCtrl::OnKillFocus)
|
||||
EVT_CHAR(wxAuiTabCtrl::OnChar)
|
||||
EVT_MOUSE_CAPTURE_LOST(wxAuiTabCtrl::OnCaptureLost)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
@@ -2415,6 +2416,10 @@ void wxAuiTabCtrl::OnLeftDown(wxMouseEvent& evt)
|
||||
}
|
||||
}
|
||||
|
||||
void wxAuiTabCtrl::OnCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event))
|
||||
{
|
||||
}
|
||||
|
||||
void wxAuiTabCtrl::OnLeftUp(wxMouseEvent& evt)
|
||||
{
|
||||
if (GetCapture() == this)
|
||||
@@ -4374,7 +4379,7 @@ void wxAuiNotebook::OnTabButton(wxCommandEvent& command_evt)
|
||||
{
|
||||
// if the close button is to the right, use the active
|
||||
// page selection to determine which page to close
|
||||
selection = GetSelection();
|
||||
selection = tabs->GetActivePage();
|
||||
}
|
||||
|
||||
if (selection != -1)
|
||||
|
@@ -57,14 +57,14 @@
|
||||
|
||||
|
||||
// wxAuiBlendColour is used by wxAuiStepColour
|
||||
double wxAuiBlendColour(double fg, double bg, double alpha)
|
||||
unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha)
|
||||
{
|
||||
double result = bg + (alpha * (fg - bg));
|
||||
if (result < 0.0)
|
||||
result = 0.0;
|
||||
if (result > 255)
|
||||
result = 255;
|
||||
return result;
|
||||
return (unsigned char)result;
|
||||
}
|
||||
|
||||
// wxAuiStepColour() it a utility function that simply darkens
|
||||
@@ -75,35 +75,37 @@ wxColor wxAuiStepColour(const wxColor& c, int ialpha)
|
||||
{
|
||||
if (ialpha == 100)
|
||||
return c;
|
||||
|
||||
double r = c.Red(), g = c.Green(), b = c.Blue();
|
||||
double bg;
|
||||
|
||||
|
||||
unsigned char r = c.Red(),
|
||||
g = c.Green(),
|
||||
b = c.Blue();
|
||||
unsigned char bg;
|
||||
|
||||
// ialpha is 0..200 where 0 is completely black
|
||||
// and 200 is completely white and 100 is the same
|
||||
// convert that to normal alpha 0.0 - 1.0
|
||||
ialpha = wxMin(ialpha, 200);
|
||||
ialpha = wxMax(ialpha, 0);
|
||||
double alpha = ((double)(ialpha - 100.0))/100.0;
|
||||
|
||||
|
||||
if (ialpha > 100)
|
||||
{
|
||||
// blend with white
|
||||
bg = 255.0;
|
||||
bg = 255;
|
||||
alpha = 1.0 - alpha; // 0 = transparent fg; 1 = opaque fg
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
// blend with black
|
||||
bg = 0.0;
|
||||
alpha = 1.0 + alpha; // 0 = transparent fg; 1 = opaque fg
|
||||
bg = 0;
|
||||
alpha += 1.0; // 0 = transparent fg; 1 = opaque fg
|
||||
}
|
||||
|
||||
|
||||
r = wxAuiBlendColour(r, bg, alpha);
|
||||
g = wxAuiBlendColour(g, bg, alpha);
|
||||
b = wxAuiBlendColour(b, bg, alpha);
|
||||
|
||||
return wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
|
||||
|
||||
return wxColour(r, g, b);
|
||||
}
|
||||
|
||||
|
||||
@@ -130,7 +132,7 @@ wxBitmap wxAuiBitmapFromBits(const unsigned char bits[], int w, int h,
|
||||
img.SetMaskColour(123,123,123);
|
||||
return wxBitmap(img);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void DrawGradientRectangle(wxDC& dc,
|
||||
const wxRect& rect,
|
||||
@@ -151,8 +153,8 @@ static void DrawGradientRectangle(wxDC& dc,
|
||||
for (int i = 0; i <= high; ++i)
|
||||
{
|
||||
int r,g,b;
|
||||
|
||||
|
||||
|
||||
|
||||
r = start_color.Red() + (high <= 0 ? 0 : (((i*rd*100)/high)/100));
|
||||
g = start_color.Green() + (high <= 0 ? 0 : (((i*gd*100)/high)/100));
|
||||
b = start_color.Blue() + (high <= 0 ? 0 : (((i*bd*100)/high)/100));
|
||||
@@ -172,23 +174,23 @@ static void DrawGradientRectangle(wxDC& dc,
|
||||
wxString wxAuiChopText(wxDC& dc, const wxString& text, int max_size)
|
||||
{
|
||||
wxCoord x,y;
|
||||
|
||||
|
||||
// first check if the text fits with no problems
|
||||
dc.GetTextExtent(text, &x, &y);
|
||||
if (x <= max_size)
|
||||
return text;
|
||||
|
||||
|
||||
size_t i, len = text.Length();
|
||||
size_t last_good_length = 0;
|
||||
for (i = 0; i < len; ++i)
|
||||
{
|
||||
wxString s = text.Left(i);
|
||||
s += wxT("...");
|
||||
|
||||
|
||||
dc.GetTextExtent(s, &x, &y);
|
||||
if (x > max_size)
|
||||
break;
|
||||
|
||||
|
||||
last_good_length = i;
|
||||
}
|
||||
|
||||
@@ -215,7 +217,7 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
|
||||
{
|
||||
base_colour = wxAuiStepColour(base_colour, 92);
|
||||
}
|
||||
|
||||
|
||||
m_base_colour = base_colour;
|
||||
wxColor darker1_colour = wxAuiStepColour(base_colour, 85);
|
||||
wxColor darker2_colour = wxAuiStepColour(base_colour, 75);
|
||||
@@ -256,11 +258,11 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0x03, 0xF8, 0x01, 0xF0, 0x19, 0xF3,
|
||||
0xB8, 0xE3, 0xF0, 0xE1, 0xE0, 0xE0, 0xF0, 0xE1, 0xB8, 0xE3, 0x19, 0xF3,
|
||||
0x01, 0xF0, 0x03, 0xF8, 0x0F, 0xFE, 0xFF, 0xFF };
|
||||
#elif defined( __WXGTK__)
|
||||
static unsigned char close_bits[]={
|
||||
0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xfb, 0xef, 0xdb, 0xed, 0x8b, 0xe8,
|
||||
0x1b, 0xec, 0x3b, 0xee, 0x1b, 0xec, 0x8b, 0xe8, 0xdb, 0xed, 0xfb, 0xef,
|
||||
0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||
#elif defined( __WXGTK__)
|
||||
static unsigned char close_bits[]={
|
||||
0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xfb, 0xef, 0xdb, 0xed, 0x8b, 0xe8,
|
||||
0x1b, 0xec, 0x3b, 0xee, 0x1b, 0xec, 0x8b, 0xe8, 0xdb, 0xed, 0xfb, 0xef,
|
||||
0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||
#else
|
||||
static unsigned char close_bits[]={
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xf3, 0xcf, 0xf9,
|
||||
@@ -277,7 +279,7 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf0, 0x1f, 0xf0, 0xdf, 0xf7,
|
||||
0x07, 0xf4, 0x07, 0xf4, 0xf7, 0xf5, 0xf7, 0xf1, 0xf7, 0xfd, 0xf7, 0xfd,
|
||||
0x07, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
|
||||
|
||||
|
||||
static unsigned char pin_bits[]={
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xfc,0xdf,0xfc,0xdf,0xfc,
|
||||
0xdf,0xfc,0xdf,0xfc,0xdf,0xfc,0x0f,0xf8,0x7f,0xff,0x7f,0xff,
|
||||
@@ -624,9 +626,9 @@ void wxAuiDefaultDockArt::DrawCaption(wxDC& dc, wxWindow *WXUNUSED(window),
|
||||
if (pane.HasCloseButton())
|
||||
clip_rect.width -= m_button_size;
|
||||
if (pane.HasPinButton())
|
||||
clip_rect.width -= m_button_size;
|
||||
clip_rect.width -= m_button_size;
|
||||
if (pane.HasMaximizeButton())
|
||||
clip_rect.width -= m_button_size;
|
||||
clip_rect.width -= m_button_size;
|
||||
|
||||
wxString draw_text = wxAuiChopText(dc, text, clip_rect.width);
|
||||
|
||||
|
@@ -143,6 +143,11 @@ void wxAuiFloatingFrame::SetPaneWindow(const wxAuiPaneInfo& pane)
|
||||
|
||||
SetClientSize(size);
|
||||
}
|
||||
|
||||
if (pane.IsFixed())
|
||||
{
|
||||
SetWindowStyleFlag(GetWindowStyleFlag() & ~wxRESIZE_BORDER);
|
||||
}
|
||||
}
|
||||
|
||||
wxAuiManager* wxAuiFloatingFrame::GetOwnerManager() const
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include "wx/aui/dockart.h"
|
||||
#include "wx/aui/floatpane.h"
|
||||
#include "wx/aui/tabmdi.h"
|
||||
#include "wx/aui/auibar.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/panel.h"
|
||||
@@ -760,7 +761,7 @@ void wxAuiManager::UpdateHintWindowConfig()
|
||||
{
|
||||
if (w->IsKindOf(CLASSINFO(wxFrame)))
|
||||
{
|
||||
wxFrame* f = static_cast<wxFrame*>(w);
|
||||
wxFrame* f = wx_static_cast(wxFrame*, w);
|
||||
can_do_transparent = f->CanSetTransparent();
|
||||
break;
|
||||
}
|
||||
@@ -925,6 +926,8 @@ void wxAuiManager::SetArtProvider(wxAuiDockArt* art_provider)
|
||||
|
||||
bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
|
||||
{
|
||||
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
|
||||
|
||||
// check if the pane has a valid window
|
||||
if (!window)
|
||||
return false;
|
||||
@@ -993,6 +996,22 @@ bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
|
||||
pinfo.buttons.Add(button);
|
||||
}
|
||||
|
||||
if (pinfo.HasGripper())
|
||||
{
|
||||
if (pinfo.window->IsKindOf(CLASSINFO(wxAuiToolBar)))
|
||||
{
|
||||
// prevent duplicate gripper -- both wxAuiManager and wxAuiToolBar
|
||||
// have a gripper control. The toolbar's built-in gripper
|
||||
// meshes better with the look and feel of the control than ours,
|
||||
// so turn wxAuiManager's gripper off, and the toolbar's on.
|
||||
|
||||
wxAuiToolBar* tb = wx_static_cast(wxAuiToolBar*, pinfo.window);
|
||||
pinfo.SetFlag(wxAuiPaneInfo::optionGripper, false);
|
||||
tb->SetGripperVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (pinfo.best_size == wxDefaultSize &&
|
||||
pinfo.window)
|
||||
{
|
||||
@@ -1023,6 +1042,8 @@ bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1060,6 +1081,8 @@ bool wxAuiManager::AddPane(wxWindow* window,
|
||||
bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
|
||||
int insert_level)
|
||||
{
|
||||
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
|
||||
|
||||
// shift the panes around, depending on the insert level
|
||||
switch (insert_level)
|
||||
{
|
||||
@@ -1120,6 +1143,8 @@ bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
|
||||
// method will not destroy the window that is removed.
|
||||
bool wxAuiManager::DetachPane(wxWindow* window)
|
||||
{
|
||||
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
|
||||
|
||||
int i, count;
|
||||
for (i = 0, count = m_panes.GetCount(); i < count; ++i)
|
||||
{
|
||||
@@ -2311,7 +2336,7 @@ wxSizer* wxAuiManager::LayoutAll(wxAuiPaneInfoArray& panes,
|
||||
cont->Add(middle, 1, wxEXPAND);
|
||||
else
|
||||
delete middle;
|
||||
|
||||
|
||||
|
||||
|
||||
// find any bottom docks in this layer
|
||||
@@ -2373,6 +2398,7 @@ void wxAuiManager::GetDockSizeConstraint(double* width_pct, double* height_pct)
|
||||
void wxAuiManager::Update()
|
||||
{
|
||||
m_hover_button = NULL;
|
||||
m_action_part = NULL;
|
||||
|
||||
wxSizer* sizer;
|
||||
int i, pane_count = m_panes.GetCount();
|
||||
@@ -2851,7 +2877,8 @@ bool wxAuiManager::DoDrop(wxAuiDockInfoArray& docks,
|
||||
(part->dock->dock_direction != wxAUI_DOCK_CENTER &&
|
||||
part->dock->dock_direction != wxAUI_DOCK_NONE)))
|
||||
{
|
||||
drop.Float();
|
||||
if (drop.IsFloatable())
|
||||
drop.Float();
|
||||
}
|
||||
|
||||
m_skipping = false;
|
||||
@@ -3564,7 +3591,6 @@ void wxAuiManager::OnFloatingPaneMoved(wxWindow* wnd, wxDirection dir)
|
||||
wxPoint frame_pos = pane.frame->GetPosition();
|
||||
wxPoint action_offset(pt.x-frame_pos.x, pt.y-frame_pos.y);
|
||||
|
||||
|
||||
// if a key modifier is pressed while dragging the frame,
|
||||
// don't dock the window
|
||||
if (!wxGetKeyState(WXK_CONTROL) && !wxGetKeyState(WXK_ALT))
|
||||
@@ -3797,7 +3823,7 @@ void wxAuiManager::OnFindManager(wxAuiManagerEvent& evt)
|
||||
// if we are managing a child frame, get the 'real' manager
|
||||
if (window->IsKindOf(CLASSINFO(wxAuiFloatingFrame)))
|
||||
{
|
||||
wxAuiFloatingFrame* float_frame = static_cast<wxAuiFloatingFrame*>(window);
|
||||
wxAuiFloatingFrame* float_frame = wx_static_cast(wxAuiFloatingFrame*, window);
|
||||
evt.SetManager(float_frame->GetOwnerManager());
|
||||
return;
|
||||
}
|
||||
@@ -4175,17 +4201,21 @@ void wxAuiManager::OnLeftUp(wxMouseEvent& event)
|
||||
{
|
||||
m_hover_button = NULL;
|
||||
m_frame->ReleaseMouse();
|
||||
UpdateButtonOnScreen(m_action_part, event);
|
||||
|
||||
// make sure we're still over the item that was originally clicked
|
||||
if (m_action_part == HitTest(event.GetX(), event.GetY()))
|
||||
if (m_action_part)
|
||||
{
|
||||
// fire button-click event
|
||||
wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
|
||||
e.SetManager(this);
|
||||
e.SetPane(m_action_part->pane);
|
||||
e.SetButton(m_action_part->button->button_id);
|
||||
ProcessMgrEvent(e);
|
||||
UpdateButtonOnScreen(m_action_part, event);
|
||||
|
||||
// make sure we're still over the item that was originally clicked
|
||||
if (m_action_part == HitTest(event.GetX(), event.GetY()))
|
||||
{
|
||||
// fire button-click event
|
||||
wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
|
||||
e.SetManager(this);
|
||||
e.SetPane(m_action_part->pane);
|
||||
e.SetButton(m_action_part->button->button_id);
|
||||
ProcessMgrEvent(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (m_action == actionClickCaption)
|
||||
@@ -4248,20 +4278,23 @@ void wxAuiManager::OnMotion(wxMouseEvent& event)
|
||||
|
||||
if (m_action == actionResize)
|
||||
{
|
||||
wxPoint pos = m_action_part->rect.GetPosition();
|
||||
if (m_action_part->orientation == wxHORIZONTAL)
|
||||
pos.y = wxMax(0, event.m_y - m_action_offset.y);
|
||||
else
|
||||
pos.x = wxMax(0, event.m_x - m_action_offset.x);
|
||||
if (m_action_part)
|
||||
{
|
||||
wxPoint pos = m_action_part->rect.GetPosition();
|
||||
if (m_action_part->orientation == wxHORIZONTAL)
|
||||
pos.y = wxMax(0, event.m_y - m_action_offset.y);
|
||||
else
|
||||
pos.x = wxMax(0, event.m_x - m_action_offset.x);
|
||||
|
||||
wxRect rect(m_frame->ClientToScreen(pos),
|
||||
m_action_part->rect.GetSize());
|
||||
wxRect rect(m_frame->ClientToScreen(pos),
|
||||
m_action_part->rect.GetSize());
|
||||
|
||||
wxScreenDC dc;
|
||||
if (!m_action_hintrect.IsEmpty())
|
||||
DrawResizeHint(dc, m_action_hintrect);
|
||||
DrawResizeHint(dc, rect);
|
||||
m_action_hintrect = rect;
|
||||
wxScreenDC dc;
|
||||
if (!m_action_hintrect.IsEmpty())
|
||||
DrawResizeHint(dc, m_action_hintrect);
|
||||
DrawResizeHint(dc, rect);
|
||||
m_action_hintrect = rect;
|
||||
}
|
||||
}
|
||||
else if (m_action == actionClickCaption)
|
||||
{
|
||||
@@ -4271,8 +4304,9 @@ void wxAuiManager::OnMotion(wxMouseEvent& event)
|
||||
// caption has been clicked. we need to check if the mouse
|
||||
// is now being dragged. if it is, we need to change the
|
||||
// mouse action to 'drag'
|
||||
if (abs(event.m_x - m_action_start.x) > drag_x_threshold ||
|
||||
abs(event.m_y - m_action_start.y) > drag_y_threshold)
|
||||
if (m_action_part &&
|
||||
(abs(event.m_x - m_action_start.x) > drag_x_threshold ||
|
||||
abs(event.m_y - m_action_start.y) > drag_y_threshold))
|
||||
{
|
||||
wxAuiPaneInfo* pane_info = m_action_part->pane;
|
||||
|
||||
|
@@ -128,13 +128,13 @@ wxAuiTabArt* wxAuiMDIParentFrame::GetArtProvider()
|
||||
{
|
||||
if (!m_pClientWindow)
|
||||
return NULL;
|
||||
|
||||
|
||||
return m_pClientWindow->GetArtProvider();
|
||||
}
|
||||
|
||||
wxAuiNotebook* wxAuiMDIParentFrame::GetNotebook() const
|
||||
{
|
||||
return static_cast<wxAuiNotebook*>(m_pClientWindow);
|
||||
return wx_static_cast(wxAuiNotebook*, m_pClientWindow);
|
||||
}
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ bool wxAuiMDIParentFrame::ProcessEvent(wxEvent& event)
|
||||
if (m_pLastEvt == &event)
|
||||
return false;
|
||||
m_pLastEvt = &event;
|
||||
|
||||
|
||||
// let the active child (if any) process the event first.
|
||||
bool res = false;
|
||||
if (m_pActiveChild &&
|
||||
@@ -357,11 +357,11 @@ void wxAuiMDIParentFrame::Tile(wxOrientation orient)
|
||||
{
|
||||
wxAuiMDIClientWindow* client_window = GetClientWindow();
|
||||
wxASSERT_MSG(client_window, wxT("Missing MDI Client Window"));
|
||||
|
||||
|
||||
int cur_idx = client_window->GetSelection();
|
||||
if (cur_idx == -1)
|
||||
return;
|
||||
|
||||
|
||||
if (orient == wxVERTICAL)
|
||||
{
|
||||
client_window->Split(cur_idx, wxLEFT);
|
||||
@@ -399,7 +399,7 @@ wxAuiMDIChildFrame::wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
|
||||
const wxString& name)
|
||||
{
|
||||
Init();
|
||||
|
||||
|
||||
// There are two ways to create an tabbed mdi child fram without
|
||||
// making it the active document. Either Show(false) can be called
|
||||
// before Create() (as is customary on some ports with wxFrame-type
|
||||
@@ -409,7 +409,7 @@ wxAuiMDIChildFrame::wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
|
||||
// onto the panel underneath.
|
||||
if (style & wxMINIMIZE)
|
||||
m_activate_on_create = false;
|
||||
|
||||
|
||||
Create(parent, id, title, wxDefaultPosition, size, 0, name);
|
||||
}
|
||||
|
||||
@@ -431,7 +431,7 @@ wxAuiMDIChildFrame::~wxAuiMDIChildFrame()
|
||||
pClientWindow->RemovePage(idx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if wxUSE_MENUS
|
||||
wxDELETE(m_pMenuBar);
|
||||
#endif // wxUSE_MENUS
|
||||
@@ -472,7 +472,7 @@ bool wxAuiMDIChildFrame::Create(wxAuiMDIParentFrame* parent,
|
||||
|
||||
pClientWindow->AddPage(this, title, m_activate_on_create);
|
||||
pClientWindow->Refresh();
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -490,7 +490,7 @@ bool wxAuiMDIChildFrame::Destroy()
|
||||
wxActivateEvent event(wxEVT_ACTIVATE, false, GetId());
|
||||
event.SetEventObject(this);
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
|
||||
pParentFrame->SetActiveChild(NULL);
|
||||
pParentFrame->SetChildMenuBar(NULL);
|
||||
}
|
||||
@@ -578,15 +578,15 @@ void wxAuiMDIChildFrame::SetIcon(const wxIcon& icon)
|
||||
wxASSERT_MSG(pParentFrame, wxT("Missing MDI Parent Frame"));
|
||||
|
||||
m_icon = icon;
|
||||
|
||||
|
||||
wxBitmap bmp;
|
||||
bmp.CopyFromIcon(m_icon);
|
||||
|
||||
|
||||
wxAuiMDIClientWindow* pClientWindow = pParentFrame->GetClientWindow();
|
||||
if (pClientWindow != NULL)
|
||||
{
|
||||
int idx = pClientWindow->GetPageIndex(this);
|
||||
|
||||
|
||||
if (idx != -1)
|
||||
{
|
||||
pClientWindow->SetPageBitmap((size_t)idx, bmp);
|
||||
@@ -598,8 +598,8 @@ const wxIcon& wxAuiMDIChildFrame::GetIcon() const
|
||||
{
|
||||
return m_icon;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void wxAuiMDIChildFrame::Activate()
|
||||
{
|
||||
wxAuiMDIParentFrame* pParentFrame = GetMDIParentFrame();
|
||||
@@ -667,7 +667,7 @@ void wxAuiMDIChildFrame::Init()
|
||||
bool wxAuiMDIChildFrame::Show(bool show)
|
||||
{
|
||||
m_activate_on_create = show;
|
||||
|
||||
|
||||
// do nothing
|
||||
return true;
|
||||
}
|
||||
@@ -732,11 +732,11 @@ bool wxAuiMDIClientWindow::CreateClient(wxAuiMDIParentFrame* parent, long style)
|
||||
{
|
||||
SetWindowStyleFlag(style);
|
||||
|
||||
wxSize caption_icon_size =
|
||||
wxSize caption_icon_size =
|
||||
wxSize(wxSystemSettings::GetMetric(wxSYS_SMALLICON_X),
|
||||
wxSystemSettings::GetMetric(wxSYS_SMALLICON_Y));
|
||||
SetUniformBitmapSize(caption_icon_size);
|
||||
|
||||
|
||||
if (!wxAuiNotebook::Create(parent,
|
||||
wxID_ANY,
|
||||
wxPoint(0,0),
|
||||
@@ -764,7 +764,7 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
|
||||
// don't do anything if the page doesn't actually change
|
||||
if (old_selection == new_selection)
|
||||
return;
|
||||
|
||||
|
||||
/*
|
||||
// don't do anything if the new page is already active
|
||||
if (new_selection != -1)
|
||||
@@ -773,8 +773,8 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
|
||||
if (child->GetMDIParentFrame()->GetActiveChild() == child)
|
||||
return;
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
|
||||
// notify old active child that it has been deactivated
|
||||
if ((old_selection != -1) && (old_selection < (int)GetPageCount()))
|
||||
{
|
||||
@@ -785,34 +785,34 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
|
||||
event.SetEventObject(old_child);
|
||||
old_child->GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
|
||||
// notify new active child that it has been activated
|
||||
if (new_selection != -1)
|
||||
{
|
||||
wxAuiMDIChildFrame* active_child = (wxAuiMDIChildFrame*)GetPage(new_selection);
|
||||
wxASSERT_MSG(active_child, wxT("wxAuiMDIClientWindow::PageChanged - null page pointer"));
|
||||
|
||||
|
||||
wxActivateEvent event(wxEVT_ACTIVATE, true, active_child->GetId());
|
||||
event.SetEventObject(active_child);
|
||||
active_child->GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
|
||||
if (active_child->GetMDIParentFrame())
|
||||
{
|
||||
active_child->GetMDIParentFrame()->SetActiveChild(active_child);
|
||||
active_child->GetMDIParentFrame()->SetChildMenuBar(active_child);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void wxAuiMDIClientWindow::OnPageClose(wxAuiNotebookEvent& evt)
|
||||
{
|
||||
wxAuiMDIChildFrame* wnd;
|
||||
wnd = static_cast<wxAuiMDIChildFrame*>(GetPage(evt.GetSelection()));
|
||||
|
||||
wxAuiMDIChildFrame*
|
||||
wnd = wx_static_cast(wxAuiMDIChildFrame*, GetPage(evt.GetSelection()));
|
||||
|
||||
wnd->Close();
|
||||
|
||||
|
||||
// regardless of the result of wnd->Close(), we've
|
||||
// already taken care of the close operations, so
|
||||
// suppress further processing
|
||||
@@ -832,5 +832,6 @@ void wxAuiMDIClientWindow::OnSize(wxSizeEvent& evt)
|
||||
((wxAuiMDIChildFrame *)GetPage(pos))->ApplyMDIChildFrameRect();
|
||||
}
|
||||
|
||||
#endif //wxUSE_AUI
|
||||
#endif // wxUSE_MDI
|
||||
|
||||
#endif // wxUSE_AUI
|
||||
|
@@ -1235,7 +1235,7 @@ wxArrayString wxCmdLineParser::ConvertStringToArgs(const wxChar *p)
|
||||
break;
|
||||
}
|
||||
|
||||
lastBS = *p == _T('\\');
|
||||
lastBS = !lastBS && *p == _T('\\');
|
||||
|
||||
arg += *p;
|
||||
}
|
||||
|
@@ -1138,6 +1138,8 @@ bool wxComboCtrlBase::Enable(bool enable)
|
||||
m_btn->Enable(enable);
|
||||
if ( m_text )
|
||||
m_text->Enable(enable);
|
||||
|
||||
Refresh();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1194,16 +1196,15 @@ void wxComboCtrlBase::SetValidator(const wxValidator& validator)
|
||||
|
||||
if ( textCtrl )
|
||||
textCtrl->SetValidator( validator );
|
||||
else
|
||||
wxControl::SetValidator( validator );
|
||||
}
|
||||
|
||||
wxValidator* wxComboCtrlBase::GetValidator()
|
||||
{
|
||||
wxTextCtrl* textCtrl = GetTextCtrl();
|
||||
|
||||
if ( textCtrl )
|
||||
return textCtrl->GetValidator();
|
||||
|
||||
return wxControl::GetValidator();
|
||||
return textCtrl ? textCtrl->GetValidator() : wxControl::GetValidator();
|
||||
}
|
||||
#endif // wxUSE_VALIDATORS
|
||||
|
||||
|
@@ -147,59 +147,26 @@ wxCUSTOM_TYPE_INFO(wxDateTime, wxToStringConverter<wxDateTime> , wxFromStringCon
|
||||
#if !defined(WX_TIMEZONE) && !defined(WX_GMTOFF_IN_TM)
|
||||
#if defined(__WXPALMOS__)
|
||||
#define WX_GMTOFF_IN_TM
|
||||
#elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__)
|
||||
#elif defined(__WXMSW__)
|
||||
static long wxGetTimeZone()
|
||||
{
|
||||
static long s_timezone = MAXLONG; // invalid timezone
|
||||
if (s_timezone == MAXLONG)
|
||||
{
|
||||
TIME_ZONE_INFORMATION info;
|
||||
GetTimeZoneInformation(&info);
|
||||
s_timezone = info.Bias * 60; // convert minutes to seconds
|
||||
}
|
||||
return s_timezone;
|
||||
}
|
||||
#define WX_TIMEZONE wxGetTimeZone()
|
||||
#elif defined(__VISAGECPP__)
|
||||
#define WX_TIMEZONE _timezone
|
||||
#elif defined(__MWERKS__)
|
||||
long wxmw_timezone = 28800;
|
||||
#define WX_TIMEZONE wxmw_timezone
|
||||
#elif defined(__DJGPP__) || defined(__WINE__)
|
||||
#include <sys/timeb.h>
|
||||
#include <values.h>
|
||||
static long wxGetTimeZone()
|
||||
{
|
||||
static long timezone = MAXLONG; // invalid timezone
|
||||
if (timezone == MAXLONG)
|
||||
{
|
||||
struct timeb tb;
|
||||
ftime(&tb);
|
||||
timezone = tb.timezone;
|
||||
}
|
||||
return timezone;
|
||||
}
|
||||
#define WX_TIMEZONE wxGetTimeZone()
|
||||
#elif defined(__DARWIN__)
|
||||
#define WX_GMTOFF_IN_TM
|
||||
#elif defined(__WXWINCE__) && defined(__VISUALC8__)
|
||||
// _timezone is not present in dynamic run-time library
|
||||
#if 0
|
||||
// Solution (1): use the function equivalent of _timezone
|
||||
static long wxGetTimeZone()
|
||||
{
|
||||
static long s_Timezone = MAXLONG; // invalid timezone
|
||||
if (s_Timezone == MAXLONG)
|
||||
{
|
||||
int t;
|
||||
_get_timezone(& t);
|
||||
s_Timezone = (long) t;
|
||||
}
|
||||
return s_Timezone;
|
||||
}
|
||||
#define WX_TIMEZONE wxGetTimeZone()
|
||||
#elif 1
|
||||
// Solution (2): using GetTimeZoneInformation
|
||||
static long wxGetTimeZone()
|
||||
{
|
||||
static long timezone = MAXLONG; // invalid timezone
|
||||
if (timezone == MAXLONG)
|
||||
{
|
||||
TIME_ZONE_INFORMATION tzi;
|
||||
::GetTimeZoneInformation(&tzi);
|
||||
timezone = tzi.Bias;
|
||||
}
|
||||
return timezone;
|
||||
}
|
||||
#define WX_TIMEZONE wxGetTimeZone()
|
||||
#endif
|
||||
#else // unknown platform - try timezone
|
||||
#define WX_TIMEZONE timezone
|
||||
#endif
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include "wx/module.h"
|
||||
|
||||
#if wxUSE_GUI
|
||||
#include "wx/window.h"
|
||||
#include "wx/control.h"
|
||||
#include "wx/dc.h"
|
||||
#include "wx/textctrl.h"
|
||||
|
@@ -23,6 +23,7 @@
|
||||
#include "wx/module.h"
|
||||
#endif
|
||||
|
||||
#include "wx/sysopt.h"
|
||||
#include "wx/wfstream.h"
|
||||
#include "wx/mimetype.h"
|
||||
#include "wx/filename.h"
|
||||
@@ -62,64 +63,77 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
|
||||
|
||||
#if wxUSE_MIMETYPE
|
||||
static bool s_MinimalMimeEnsured = false;
|
||||
if (!s_MinimalMimeEnsured)
|
||||
{
|
||||
static const wxFileTypeInfo fallbacks[] =
|
||||
{
|
||||
wxFileTypeInfo(_T("image/jpeg"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("JPEG image (from fallback)"),
|
||||
_T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
|
||||
wxFileTypeInfo(_T("image/gif"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("GIF image (from fallback)"),
|
||||
_T("gif"), _T("GIF"), NULL),
|
||||
wxFileTypeInfo(_T("image/png"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("PNG image (from fallback)"),
|
||||
_T("png"), _T("PNG"), NULL),
|
||||
wxFileTypeInfo(_T("image/bmp"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("windows bitmap image (from fallback)"),
|
||||
_T("bmp"), _T("BMP"), NULL),
|
||||
wxFileTypeInfo(_T("text/html"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("HTML document (from fallback)"),
|
||||
_T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
|
||||
// must terminate the table with this!
|
||||
wxFileTypeInfo()
|
||||
};
|
||||
wxTheMimeTypesManager->AddFallbacks(fallbacks);
|
||||
s_MinimalMimeEnsured = true;
|
||||
}
|
||||
|
||||
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
|
||||
if ( !ft || !ft -> GetMimeType(&mime) )
|
||||
{
|
||||
mime = wxEmptyString;
|
||||
}
|
||||
|
||||
delete ft;
|
||||
|
||||
return mime;
|
||||
#else
|
||||
if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
|
||||
return wxT("text/html");
|
||||
if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
|
||||
return wxT("image/jpeg");
|
||||
if ( ext.IsSameAs(wxT("gif"), false) )
|
||||
return wxT("image/gif");
|
||||
if ( ext.IsSameAs(wxT("png"), false) )
|
||||
return wxT("image/png");
|
||||
if ( ext.IsSameAs(wxT("bmp"), false) )
|
||||
return wxT("image/bmp");
|
||||
return wxEmptyString;
|
||||
// Don't use mime types manager if the application doesn't need it and it would be
|
||||
// cause an unacceptable delay, especially on startup.
|
||||
bool useMimeTypesManager = true;
|
||||
#if wxUSE_SYSTEM_OPTIONS
|
||||
useMimeTypesManager = (wxSystemOptions::GetOptionInt(wxT("filesys.no-mimetypesmanager")) == 0);
|
||||
#endif
|
||||
|
||||
if (useMimeTypesManager)
|
||||
{
|
||||
if (!s_MinimalMimeEnsured)
|
||||
{
|
||||
static const wxFileTypeInfo fallbacks[] =
|
||||
{
|
||||
wxFileTypeInfo(_T("image/jpeg"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("JPEG image (from fallback)"),
|
||||
_T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
|
||||
wxFileTypeInfo(_T("image/gif"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("GIF image (from fallback)"),
|
||||
_T("gif"), _T("GIF"), NULL),
|
||||
wxFileTypeInfo(_T("image/png"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("PNG image (from fallback)"),
|
||||
_T("png"), _T("PNG"), NULL),
|
||||
wxFileTypeInfo(_T("image/bmp"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("windows bitmap image (from fallback)"),
|
||||
_T("bmp"), _T("BMP"), NULL),
|
||||
wxFileTypeInfo(_T("text/html"),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("HTML document (from fallback)"),
|
||||
_T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
|
||||
// must terminate the table with this!
|
||||
wxFileTypeInfo()
|
||||
};
|
||||
wxTheMimeTypesManager->AddFallbacks(fallbacks);
|
||||
s_MinimalMimeEnsured = true;
|
||||
}
|
||||
|
||||
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
|
||||
if ( !ft || !ft -> GetMimeType(&mime) )
|
||||
{
|
||||
mime = wxEmptyString;
|
||||
}
|
||||
|
||||
delete ft;
|
||||
|
||||
return mime;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
|
||||
return wxT("text/html");
|
||||
if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
|
||||
return wxT("image/jpeg");
|
||||
if ( ext.IsSameAs(wxT("gif"), false) )
|
||||
return wxT("image/gif");
|
||||
if ( ext.IsSameAs(wxT("png"), false) )
|
||||
return wxT("image/png");
|
||||
if ( ext.IsSameAs(wxT("bmp"), false) )
|
||||
return wxT("image/bmp");
|
||||
return wxEmptyString;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -174,8 +188,10 @@ wxString wxFileSystemHandler::GetAnchor(const wxString& location) const
|
||||
|
||||
for (int i = l-1; i >= 0; i--) {
|
||||
c = location[i];
|
||||
if (c == wxT('#')) return location.Right(l-i-1);
|
||||
else if ((c == wxT('.')) || (c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':'))) return wxEmptyString;
|
||||
if (c == wxT('#'))
|
||||
return location.Right(l-i-1);
|
||||
else if ((c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':')))
|
||||
return wxEmptyString;
|
||||
}
|
||||
return wxEmptyString;
|
||||
}
|
||||
|
@@ -24,9 +24,15 @@
|
||||
WX_DECLARE_LIST(wxFontInstance, wxFontInstanceList);
|
||||
WX_DEFINE_LIST(wxFontInstanceList)
|
||||
WX_DEFINE_LIST(wxFontBundleList)
|
||||
|
||||
WX_DECLARE_HASH_MAP(wxString, wxFontBundle*,
|
||||
wxStringHash, wxStringEqual,
|
||||
wxFontBundleHash);
|
||||
wxFontBundleHashBase);
|
||||
// in STL build, hash class is typedef to a template, so it can't be forward
|
||||
// declared, as we do; solve it by having a dummy class:
|
||||
class wxFontBundleHash : public wxFontBundleHashBase
|
||||
{
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -65,17 +71,14 @@ wxFontInstance *wxFontFaceBase::GetFontInstance(float ptSize, bool aa)
|
||||
{
|
||||
wxASSERT_MSG( m_refCnt > 0, _T("font library not loaded!") );
|
||||
|
||||
wxFontInstance *i;
|
||||
wxFontInstanceList::Node *node;
|
||||
|
||||
for ( node = m_instances->GetFirst(); node; node = node->GetNext() )
|
||||
for ( wxFontInstanceList::const_iterator i = m_instances->begin();
|
||||
i != m_instances->end(); ++i )
|
||||
{
|
||||
i = node->GetData();
|
||||
if ( i->GetPointSize() == ptSize && i->IsAntiAliased() == aa )
|
||||
return i;
|
||||
if ( (*i)->GetPointSize() == ptSize && (*i)->IsAntiAliased() == aa )
|
||||
return *i;
|
||||
}
|
||||
|
||||
i = CreateFontInstance(ptSize, aa);
|
||||
wxFontInstance *i = CreateFontInstance(ptSize, aa);
|
||||
m_instances->Append(i);
|
||||
return i;
|
||||
}
|
||||
|
@@ -580,7 +580,7 @@ void wxGridBagSizer::AdjustForOverflow()
|
||||
{
|
||||
wxGBPosition pos(row,col);
|
||||
wxGBSizerItem* item = FindItemAtPosition(pos);
|
||||
if ( !item )
|
||||
if ( !item || !item->ShouldAccountFor() )
|
||||
continue;
|
||||
|
||||
int endrow, endcol;
|
||||
@@ -623,7 +623,7 @@ void wxGridBagSizer::AdjustForOverflow()
|
||||
{
|
||||
wxGBPosition pos(row,col);
|
||||
wxGBSizerItem* item = FindItemAtPosition(pos);
|
||||
if ( !item )
|
||||
if ( !item || !item->ShouldAccountFor() )
|
||||
continue;
|
||||
|
||||
int endrow, endcol;
|
||||
|
@@ -186,7 +186,7 @@ bool wxGIFDecoder::ConvertToImage(unsigned int frame, wxImage *image) const
|
||||
|
||||
// Get data for current frame
|
||||
|
||||
wxSize wxGIFDecoder::GetFrameSize(unsigned int frame) const
|
||||
wxSize wxGIFDecoder::GetFrameSize(unsigned int frame) const
|
||||
{
|
||||
return wxSize(GetFrame(frame)->w, GetFrame(frame)->h);
|
||||
}
|
||||
@@ -593,7 +593,7 @@ bool wxGIFDecoder::CanRead(wxInputStream &stream) const
|
||||
wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
|
||||
{
|
||||
unsigned int global_ncolors = 0;
|
||||
int bits, interl, transparent, i;
|
||||
int bits, interl, i;
|
||||
wxAnimationDisposal disposal;
|
||||
long size;
|
||||
long delay;
|
||||
@@ -655,7 +655,7 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
|
||||
}
|
||||
|
||||
// transparent colour, disposal method and delay default to unused
|
||||
transparent = -1;
|
||||
int transparent = -1;
|
||||
disposal = wxANIM_UNSPECIFIED;
|
||||
delay = -1;
|
||||
|
||||
@@ -705,8 +705,7 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
|
||||
delay = 10 * (buf[2] + 256 * buf[3]);
|
||||
|
||||
// read transparent colour index, if used
|
||||
if (buf[1] & 0x01)
|
||||
transparent = buf[4];
|
||||
transparent = buf[1] & 0x01 ? buf[4] : -1;
|
||||
|
||||
// read disposal method
|
||||
disposal = (wxAnimationDisposal)(((buf[1] & 0x1C) >> 2) - 1);
|
||||
@@ -756,8 +755,8 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
|
||||
pimg->w = buf[4] + 256 * buf[5];
|
||||
pimg->h = buf[6] + 256 * buf[7];
|
||||
|
||||
if (anim && ((pimg->w == 0) || (pimg->w > (unsigned int)m_szAnimation.GetWidth()) ||
|
||||
(pimg->h == 0) || (pimg->h > (unsigned int)m_szAnimation.GetHeight())))
|
||||
if (anim && ((pimg->w == 0) || (pimg->w > (unsigned int)m_szAnimation.GetWidth()) ||
|
||||
(pimg->h == 0) || (pimg->h > (unsigned int)m_szAnimation.GetHeight())))
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
|
@@ -454,9 +454,9 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
|
||||
wxFileOffset bmpOffset, wxInputStream& stream,
|
||||
bool verbose, bool IsBmp, bool hasPalette)
|
||||
{
|
||||
wxInt32 aDword, rmask = 0, gmask = 0, bmask = 0;
|
||||
int rshift = 0, gshift = 0, bshift = 0;
|
||||
int rbits = 0, gbits = 0, bbits = 0;
|
||||
wxInt32 aDword, rmask = 0, gmask = 0, bmask = 0, amask = 0;
|
||||
int rshift = 0, gshift = 0, bshift = 0, ashift = 0;
|
||||
int rbits = 0, gbits = 0, bbits = 0, abits = 0;
|
||||
wxInt32 dbuf[4];
|
||||
wxInt8 bbuf[4];
|
||||
wxUint8 aByte;
|
||||
@@ -488,11 +488,29 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
|
||||
{
|
||||
if ( verbose )
|
||||
wxLogError( _("BMP: Couldn't allocate memory.") );
|
||||
if ( cmap )
|
||||
delete[] cmap;
|
||||
delete[] cmap;
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned char *alpha;
|
||||
if ( bpp == 32 )
|
||||
{
|
||||
// tell the image to allocate an alpha buffer
|
||||
image->SetAlpha();
|
||||
alpha = image->GetAlpha();
|
||||
if ( !alpha )
|
||||
{
|
||||
if ( verbose )
|
||||
wxLogError(_("BMP: Couldn't allocate memory."));
|
||||
delete[] cmap;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else // no alpha
|
||||
{
|
||||
alpha = NULL;
|
||||
}
|
||||
|
||||
// Reading the palette, if it exists:
|
||||
if ( bpp < 16 && ncolors != 0 )
|
||||
{
|
||||
@@ -577,9 +595,13 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
|
||||
rmask = 0x00FF0000;
|
||||
gmask = 0x0000FF00;
|
||||
bmask = 0x000000FF;
|
||||
amask = 0xFF000000;
|
||||
|
||||
ashift = 24;
|
||||
rshift = 16;
|
||||
gshift = 8;
|
||||
bshift = 0;
|
||||
abits = 8;
|
||||
rbits = 8;
|
||||
gbits = 8;
|
||||
bbits = 8;
|
||||
@@ -815,6 +837,11 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
|
||||
ptr[poffset + 1] = temp;
|
||||
temp = (unsigned char)((aDword & bmask) >> bshift);
|
||||
ptr[poffset + 2] = temp;
|
||||
if ( alpha )
|
||||
{
|
||||
temp = (unsigned char)((aDword & amask) >> ashift);
|
||||
alpha[line * width + column] = temp;
|
||||
}
|
||||
column++;
|
||||
}
|
||||
}
|
||||
|
@@ -1274,7 +1274,6 @@ void wxImage::Paste( const wxImage &image, int x, int y )
|
||||
(GetMaskGreen()==image.GetMaskGreen()) &&
|
||||
(GetMaskBlue()==image.GetMaskBlue()))))
|
||||
{
|
||||
width *= 3;
|
||||
unsigned char* source_data = image.GetData() + xx*3 + yy*3*image.GetWidth();
|
||||
int source_step = image.GetWidth()*3;
|
||||
|
||||
@@ -1282,11 +1281,10 @@ void wxImage::Paste( const wxImage &image, int x, int y )
|
||||
int target_step = M_IMGDATA->m_width*3;
|
||||
for (int j = 0; j < height; j++)
|
||||
{
|
||||
memcpy( target_data, source_data, width );
|
||||
memcpy( target_data, source_data, width*3 );
|
||||
source_data += source_step;
|
||||
target_data += target_step;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Copy over the alpha channel from the original image
|
||||
@@ -1315,7 +1313,6 @@ void wxImage::Paste( const wxImage &image, int x, int y )
|
||||
unsigned char g = image.GetMaskGreen();
|
||||
unsigned char b = image.GetMaskBlue();
|
||||
|
||||
width *= 3;
|
||||
unsigned char* source_data = image.GetData() + xx*3 + yy*3*image.GetWidth();
|
||||
int source_step = image.GetWidth()*3;
|
||||
|
||||
@@ -1324,7 +1321,7 @@ void wxImage::Paste( const wxImage &image, int x, int y )
|
||||
|
||||
for (int j = 0; j < height; j++)
|
||||
{
|
||||
for (int i = 0; i < width; i+=3)
|
||||
for (int i = 0; i < width*3; i+=3)
|
||||
{
|
||||
if ((source_data[i] != r) ||
|
||||
(source_data[i+1] != g) ||
|
||||
|
@@ -87,17 +87,15 @@ void RLEencode(unsigned char *p, unsigned int size, wxOutputStream& s)
|
||||
|
||||
void RLEdecode(unsigned char *p, unsigned int size, wxInputStream& s)
|
||||
{
|
||||
unsigned int i, data, cont;
|
||||
|
||||
// Read 'size' bytes. The PCX official specs say there will be
|
||||
// a decoding break at the end of each scanline (but not at the
|
||||
// end of each plane inside a scanline). Only use this function
|
||||
// to read one or more _complete_ scanlines. Else, more than
|
||||
// 'size' bytes might be read and the buffer might overflow.
|
||||
|
||||
while (size > 0)
|
||||
while (size != 0)
|
||||
{
|
||||
data = (unsigned char)s.GetC();
|
||||
unsigned int data = (unsigned char)s.GetC();
|
||||
|
||||
// If ((data & 0xC0) != 0xC0), then the value read is a data
|
||||
// byte. Else, it is a counter (cont = val & 0x3F) and the
|
||||
@@ -110,9 +108,11 @@ void RLEdecode(unsigned char *p, unsigned int size, wxInputStream& s)
|
||||
}
|
||||
else
|
||||
{
|
||||
cont = data & 0x3F;
|
||||
unsigned int cont = data & 0x3F;
|
||||
if (cont > size) // can happen only if the file is malformed
|
||||
break;
|
||||
data = (unsigned char)s.GetC();
|
||||
for (i = 1; i <= cont; i++)
|
||||
for (unsigned int i = 1; i <= cont; i++)
|
||||
*(p++) = (unsigned char)data;
|
||||
size -= cont;
|
||||
}
|
||||
|
@@ -2504,7 +2504,13 @@ wxFontEncoding wxLocale::GetSystemEncoding()
|
||||
// (a.k.a. US-ASCII) which is arguably a bug but keep it like this for
|
||||
// backwards compatibility and just take care to not return
|
||||
// wxFONTENCODING_DEFAULT from here as this surely doesn't make sense
|
||||
if ( enc != wxFONTENCODING_MAX && enc != wxFONTENCODING_DEFAULT )
|
||||
if ( enc == wxFONTENCODING_DEFAULT )
|
||||
{
|
||||
// we don't have wxFONTENCODING_ASCII, so use the closest one
|
||||
return wxFONTENCODING_ISO8859_1;
|
||||
}
|
||||
|
||||
if ( enc != wxFONTENCODING_MAX )
|
||||
{
|
||||
return enc;
|
||||
}
|
||||
|
@@ -61,8 +61,8 @@ wxConnectionBase::wxConnectionBase(const wxConnectionBase& copy)
|
||||
|
||||
wxConnectionBase::~wxConnectionBase(void)
|
||||
{
|
||||
if ( m_deletebufferwhendone && m_buffer )
|
||||
delete m_buffer;
|
||||
if ( m_deletebufferwhendone )
|
||||
delete [] m_buffer;
|
||||
}
|
||||
|
||||
wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes )
|
||||
@@ -73,8 +73,7 @@ wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes )
|
||||
{ // need to resize buffer
|
||||
if ( m_deletebufferwhendone )
|
||||
{ // we're in charge of buffer, increase it
|
||||
if ( m_buffer )
|
||||
delete m_buffer;
|
||||
delete [] m_buffer;
|
||||
// the argument specifies **byte size**, but m_buffer is of type
|
||||
// wxChar. Under unicode: sizeof(wxChar) > 1, so the buffer size is
|
||||
// bytes / sizeof(wxChar) rounded upwards.
|
||||
|
@@ -144,9 +144,9 @@ void wxPickerBase::DoSetToolTip(wxToolTip *tip)
|
||||
// wxPickerBase - event handlers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent &)
|
||||
void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent& event)
|
||||
{
|
||||
wxASSERT(m_text);
|
||||
event.Skip();
|
||||
|
||||
// don't leave the textctrl empty
|
||||
if (m_text->GetValue().empty())
|
||||
|
@@ -18,6 +18,17 @@
|
||||
|
||||
#if wxUSE_PRINTING_ARCHITECTURE
|
||||
|
||||
// change this to 1 to use experimental high-quality printing on Windows
|
||||
// (NB: this can't be in msw/printwin.cpp because of binary compatibility)
|
||||
#define wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW 0
|
||||
|
||||
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
#if !defined(__WXMSW__) || !wxUSE_IMAGE || !wxUSE_WXDIB
|
||||
#undef wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
#define wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "wx/dcprint.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
@@ -65,6 +76,19 @@
|
||||
#endif
|
||||
#endif // __WXMSW__
|
||||
|
||||
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
|
||||
#include "wx/msw/dib.h"
|
||||
#include "wx/image.h"
|
||||
|
||||
typedef bool (wxPrintPreviewBase::*RenderPageIntoDCFunc)(wxDC&, int);
|
||||
static bool RenderPageIntoBitmapHQ(wxPrintPreviewBase *preview,
|
||||
RenderPageIntoDCFunc RenderPageIntoDC,
|
||||
wxPrinterDC& printerDC,
|
||||
wxBitmap& bmp, int pageNum,
|
||||
int pageWidth, int pageHeight);
|
||||
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxPrintFactory
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -1469,6 +1493,70 @@ void wxPrintPreviewBase::AdjustScrollbars(wxPreviewCanvas *canvas)
|
||||
canvas->SetScrollbars(10, 10, scrollUnitsX, scrollUnitsY, 0, 0, true);
|
||||
}
|
||||
|
||||
bool wxPrintPreviewBase::RenderPageIntoDC(wxDC& dc, int pageNum)
|
||||
{
|
||||
m_previewPrintout->SetDC(&dc);
|
||||
m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
|
||||
|
||||
// Need to delay OnPreparePrinting() until here, so we have enough
|
||||
// information.
|
||||
if (!m_printingPrepared)
|
||||
{
|
||||
m_previewPrintout->OnPreparePrinting();
|
||||
int selFrom, selTo;
|
||||
m_previewPrintout->GetPageInfo(&m_minPage, &m_maxPage, &selFrom, &selTo);
|
||||
m_printingPrepared = true;
|
||||
}
|
||||
|
||||
m_previewPrintout->OnBeginPrinting();
|
||||
|
||||
if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))
|
||||
{
|
||||
wxMessageBox(_("Could not start document preview."), _("Print Preview Failure"), wxOK);
|
||||
return false;
|
||||
}
|
||||
|
||||
m_previewPrintout->OnPrintPage(pageNum);
|
||||
m_previewPrintout->OnEndDocument();
|
||||
m_previewPrintout->OnEndPrinting();
|
||||
|
||||
m_previewPrintout->SetDC(NULL);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxPrintPreviewBase::RenderPageIntoBitmap(wxBitmap& bmp, int pageNum)
|
||||
{
|
||||
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
// try high quality rendering first:
|
||||
static bool s_hqPreviewFailed = false;
|
||||
if ( !s_hqPreviewFailed )
|
||||
{
|
||||
wxPrinterDC printerDC(m_printDialogData.GetPrintData());
|
||||
if ( RenderPageIntoBitmapHQ(this,
|
||||
&wxPrintPreviewBase::RenderPageIntoDC,
|
||||
printerDC,
|
||||
bmp, pageNum,
|
||||
m_pageWidth, m_pageHeight) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogTrace(_T("printing"),
|
||||
_T("high-quality preview failed, falling back to normal"));
|
||||
s_hqPreviewFailed = true; // don't bother re-trying
|
||||
}
|
||||
}
|
||||
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
|
||||
wxMemoryDC memoryDC;
|
||||
memoryDC.SelectObject(bmp);
|
||||
memoryDC.Clear();
|
||||
|
||||
return RenderPageIntoDC(memoryDC, pageNum);
|
||||
}
|
||||
|
||||
bool wxPrintPreviewBase::RenderPage(int pageNum)
|
||||
{
|
||||
wxBusyCursor busy;
|
||||
@@ -1497,44 +1585,15 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
|
||||
}
|
||||
}
|
||||
|
||||
wxMemoryDC memoryDC;
|
||||
memoryDC.SelectObject(*m_previewBitmap);
|
||||
|
||||
memoryDC.Clear();
|
||||
|
||||
m_previewPrintout->SetDC(&memoryDC);
|
||||
m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
|
||||
|
||||
// Need to delay OnPreparePrinting until here, so we have enough information.
|
||||
if (!m_printingPrepared)
|
||||
{
|
||||
m_previewPrintout->OnPreparePrinting();
|
||||
int selFrom, selTo;
|
||||
m_previewPrintout->GetPageInfo(&m_minPage, &m_maxPage, &selFrom, &selTo);
|
||||
m_printingPrepared = true;
|
||||
}
|
||||
|
||||
m_previewPrintout->OnBeginPrinting();
|
||||
|
||||
if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))
|
||||
if ( !RenderPageIntoBitmap(*m_previewBitmap, pageNum) )
|
||||
{
|
||||
wxMessageBox(_("Could not start document preview."), _("Print Preview Failure"), wxOK);
|
||||
|
||||
memoryDC.SelectObject(wxNullBitmap);
|
||||
|
||||
delete m_previewBitmap;
|
||||
m_previewBitmap = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_previewPrintout->OnPrintPage(pageNum);
|
||||
m_previewPrintout->OnEndDocument();
|
||||
m_previewPrintout->OnEndPrinting();
|
||||
|
||||
m_previewPrintout->SetDC(NULL);
|
||||
|
||||
memoryDC.SelectObject(wxNullBitmap);
|
||||
|
||||
#if wxUSE_STATUSBAR
|
||||
wxString status;
|
||||
if (m_maxPage != 0)
|
||||
@@ -1758,4 +1817,273 @@ void wxPrintPreview::DetermineScaling()
|
||||
m_pimpl->DetermineScaling();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// experimental backport of high-quality preview on Windows
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
|
||||
// The preview, as implemented in wxPrintPreviewBase (and as used prior to wx3)
|
||||
// is inexact: it uses screen DC, which has much lower resolution and has
|
||||
// other properties different from printer DC, so the preview is not quite
|
||||
// right.
|
||||
//
|
||||
// To make matters worse, if the application depends heavily on GetTextExtent()
|
||||
// or does text layout itself, the output in preview and on paper can be very
|
||||
// different. In particular, wxHtmlEasyPrinting is affected and the preview
|
||||
// can be easily off by several pages.
|
||||
//
|
||||
// To fix this, we attempt to render the preview into high-resolution bitmap
|
||||
// using DC with same resolution etc. as the printer DC. This takes lot of
|
||||
// memory, so the code is more complicated than it could be, but the results
|
||||
// are much better.
|
||||
//
|
||||
// Finally, this code is specific to wxMSW, because it doesn't make sense to
|
||||
// bother with it on other platforms. Both OSX and modern GNOME/GTK+
|
||||
// environments have builtin accurate preview (that applications should use
|
||||
// instead) and the differences between screen and printer DC in wxGTK are so
|
||||
// large than this trick doesn't help at all.
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
// If there's not enough memory, we need to render the preview in parts.
|
||||
// Unfortunately we cannot simply use wxMemoryDC, because it reports its size
|
||||
// as bitmap's size, and we need to use smaller bitmap while still reporting
|
||||
// original ("correct") DC size, because printing code frequently uses
|
||||
// GetSize() to determine scaling factor. This DC class handles this.
|
||||
|
||||
class PageFragmentDC : public wxMemoryDC
|
||||
{
|
||||
public:
|
||||
PageFragmentDC(wxDC *printer, wxBitmap& bmp,
|
||||
const wxPoint& offset,
|
||||
const wxSize& fullSize)
|
||||
: wxMemoryDC(printer),
|
||||
m_offset(offset),
|
||||
m_fullSize(fullSize)
|
||||
{
|
||||
SetDeviceOrigin(0, 0);
|
||||
SelectObject(bmp);
|
||||
}
|
||||
|
||||
virtual void SetDeviceOrigin(wxCoord x, wxCoord y)
|
||||
{
|
||||
wxMemoryDC::SetDeviceOrigin(x - m_offset.x, y - m_offset.y);
|
||||
}
|
||||
|
||||
virtual void DoGetDeviceOrigin(wxCoord *x, wxCoord *y) const
|
||||
{
|
||||
wxMemoryDC::DoGetDeviceOrigin(x, y);
|
||||
if ( x ) *x += m_offset.x;
|
||||
if ( x ) *y += m_offset.y;
|
||||
}
|
||||
|
||||
virtual void DoGetSize(int *width, int *height) const
|
||||
{
|
||||
if ( width )
|
||||
*width = m_fullSize.x;
|
||||
if ( height )
|
||||
*height = m_fullSize.y;
|
||||
}
|
||||
|
||||
private:
|
||||
wxPoint m_offset;
|
||||
wxSize m_fullSize;
|
||||
};
|
||||
|
||||
// estimate how big chunks we can render, given available RAM
|
||||
long ComputeFragmentSize(long printerDepth,
|
||||
long width,
|
||||
long height)
|
||||
{
|
||||
// Compute the amount of memory needed to generate the preview.
|
||||
// Memory requirements of RenderPageFragment() are as follows:
|
||||
//
|
||||
// (memory DC - always)
|
||||
// width * height * printerDepth/8
|
||||
// (wxImage + wxDIB instance)
|
||||
// width * height * (3 + 4)
|
||||
// (this could be reduced to *3 if using wxGraphicsContext)
|
||||
//
|
||||
// So, given amount of memory M, we can render at most
|
||||
//
|
||||
// height = M / (width * (printerDepth/8 + F))
|
||||
//
|
||||
// where F is 3 or 7 depending on whether wxGraphicsContext is used or not
|
||||
|
||||
wxMemorySize memAvail = wxGetFreeMemory();
|
||||
if ( memAvail == -1 )
|
||||
{
|
||||
// we don't know; 10meg shouldn't be a problem hopefully
|
||||
memAvail = 10000000;
|
||||
}
|
||||
else
|
||||
{
|
||||
// limit ourselves to half of available RAM to have a margin for other
|
||||
// apps, for our rendering code, and for miscalculations
|
||||
memAvail /= 2;
|
||||
}
|
||||
|
||||
const float perPixel = float(printerDepth)/8 + (3 + 4);
|
||||
|
||||
const long perLine = long(width * perPixel);
|
||||
const long maxstep = (memAvail / perLine).GetValue();
|
||||
const long step = wxMin(height, maxstep);
|
||||
|
||||
wxLogTrace(_T("printing"),
|
||||
_T("using %liMB of RAM (%li lines) for preview, %li %lipx fragments"),
|
||||
long((memAvail >> 20).GetValue()),
|
||||
maxstep,
|
||||
(height+step-1) / step,
|
||||
step);
|
||||
|
||||
return step;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
static bool RenderPageFragment(wxPrintPreviewBase *preview,
|
||||
RenderPageIntoDCFunc RenderPageIntoDC,
|
||||
float scaleX, float scaleY,
|
||||
int *nextFinalLine,
|
||||
wxPrinterDC& printer,
|
||||
wxMemoryDC& finalDC,
|
||||
const wxRect& rect,
|
||||
int pageWidth, int pageHeight,
|
||||
int pageNum)
|
||||
{
|
||||
// compute 'rect' equivalent in the small final bitmap:
|
||||
const wxRect smallRect(wxPoint(0, *nextFinalLine),
|
||||
wxPoint(int(rect.GetRight() * scaleX),
|
||||
int(rect.GetBottom() * scaleY)));
|
||||
wxLogTrace(_T("printing"),
|
||||
_T("rendering fragment of page %i: [%i,%i,%i,%i] scaled down to [%i,%i,%i,%i]"),
|
||||
pageNum,
|
||||
rect.x, rect.y, rect.GetRight(), rect.GetBottom(),
|
||||
smallRect.x, smallRect.y, smallRect.GetRight(), smallRect.GetBottom()
|
||||
);
|
||||
|
||||
// create DC and bitmap compatible with printer DC:
|
||||
wxBitmap large(rect.width, rect.height, printer);
|
||||
if ( !large.IsOk() )
|
||||
return false;
|
||||
|
||||
// render part of the page into it:
|
||||
{
|
||||
PageFragmentDC memoryDC(&printer, large,
|
||||
rect.GetPosition(),
|
||||
wxSize(pageWidth, pageHeight));
|
||||
if ( !memoryDC.IsOk() )
|
||||
return false;
|
||||
|
||||
memoryDC.Clear();
|
||||
|
||||
if ( !(preview->*RenderPageIntoDC)(memoryDC, pageNum) )
|
||||
return false;
|
||||
} // release bitmap from memoryDC
|
||||
|
||||
// now scale the rendered part down and blit it into final output:
|
||||
|
||||
wxImage img;
|
||||
{
|
||||
wxDIB dib(large);
|
||||
if ( !dib.IsOk() )
|
||||
return false;
|
||||
large = wxNullBitmap; // free memory a.s.a.p.
|
||||
img = dib.ConvertToImage();
|
||||
} // free the DIB now that it's no longer needed, too
|
||||
|
||||
if ( !img.IsOk() )
|
||||
return false;
|
||||
|
||||
img.Rescale(smallRect.width, smallRect.height, wxIMAGE_QUALITY_HIGH);
|
||||
if ( !img.IsOk() )
|
||||
return false;
|
||||
|
||||
wxBitmap bmp(img);
|
||||
if ( !bmp.IsOk() )
|
||||
return false;
|
||||
|
||||
img = wxNullImage;
|
||||
finalDC.DrawBitmap(bmp, smallRect.x, smallRect.y);
|
||||
if ( bmp.IsOk() )
|
||||
{
|
||||
*nextFinalLine += smallRect.height;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool RenderPageIntoBitmapHQ(wxPrintPreviewBase *preview,
|
||||
RenderPageIntoDCFunc RenderPageIntoDC,
|
||||
wxPrinterDC& printerDC,
|
||||
wxBitmap& bmp, int pageNum,
|
||||
int pageWidth, int pageHeight)
|
||||
{
|
||||
wxLogTrace(_T("printing"), _T("rendering HQ preview of page %i"), pageNum);
|
||||
|
||||
if ( !printerDC.IsOk() )
|
||||
return false;
|
||||
|
||||
// compute scale factor
|
||||
const float scaleX = float(bmp.GetWidth()) / float(pageWidth);
|
||||
const float scaleY = float(bmp.GetHeight()) / float(pageHeight);
|
||||
|
||||
wxMemoryDC bmpDC;
|
||||
bmpDC.SelectObject(bmp);
|
||||
bmpDC.Clear();
|
||||
|
||||
const int initialStep = ComputeFragmentSize(printerDC.GetDepth(),
|
||||
pageWidth, pageHeight);
|
||||
|
||||
wxRect todo(0, 0, pageWidth, initialStep); // rect to render
|
||||
int nextFinalLine = 0; // first not-yet-rendered output line
|
||||
|
||||
while ( todo.y < pageHeight )
|
||||
{
|
||||
todo.SetBottom(wxMin(todo.GetBottom(), pageHeight - 1));
|
||||
|
||||
if ( !RenderPageFragment(preview, RenderPageIntoDC,
|
||||
scaleX, scaleY,
|
||||
&nextFinalLine,
|
||||
printerDC,
|
||||
bmpDC,
|
||||
todo,
|
||||
pageWidth, pageHeight,
|
||||
pageNum) )
|
||||
{
|
||||
if ( todo.height < 20 )
|
||||
{
|
||||
// something is very wrong if we can't render even at this
|
||||
// slow space, let's bail out and fall back to low quality
|
||||
// preview
|
||||
wxLogTrace(_T("printing"),
|
||||
_T("it seems that HQ preview doesn't work at all"));
|
||||
return false;
|
||||
}
|
||||
|
||||
// it's possible our memory calculation was off, or conditions
|
||||
// changed, or there's not enough _bitmap_ resources; try if using
|
||||
// smaller bitmap would help:
|
||||
todo.height /= 2;
|
||||
|
||||
wxLogTrace(_T("printing"),
|
||||
_T("preview of fragment failed, reducing height to %ipx"),
|
||||
todo.height);
|
||||
|
||||
continue; // retry at the same position again
|
||||
}
|
||||
|
||||
// move to the next segment
|
||||
todo.Offset(0, todo.height);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
|
||||
|
||||
#endif // wxUSE_PRINTING_ARCHITECTURE
|
||||
|
@@ -64,96 +64,106 @@ void wxRadioBoxBase::SetMajorDim(unsigned int majorDim, long style)
|
||||
|
||||
int wxRadioBoxBase::GetNextItem(int item, wxDirection dir, long style) const
|
||||
{
|
||||
const int itemStart = item;
|
||||
|
||||
int count = GetCount(),
|
||||
numCols = GetColumnCount(),
|
||||
numRows = GetRowCount();
|
||||
|
||||
bool horz = (style & wxRA_SPECIFY_COLS) != 0;
|
||||
|
||||
switch ( dir )
|
||||
do
|
||||
{
|
||||
case wxUP:
|
||||
if ( horz )
|
||||
{
|
||||
item -= numCols;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
if ( !item-- )
|
||||
item = count - 1;
|
||||
}
|
||||
break;
|
||||
switch ( dir )
|
||||
{
|
||||
case wxUP:
|
||||
if ( horz )
|
||||
{
|
||||
item -= numCols;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
if ( !item-- )
|
||||
item = count - 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case wxLEFT:
|
||||
if ( horz )
|
||||
{
|
||||
if ( !item-- )
|
||||
item = count - 1;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
item -= numRows;
|
||||
}
|
||||
break;
|
||||
case wxLEFT:
|
||||
if ( horz )
|
||||
{
|
||||
if ( !item-- )
|
||||
item = count - 1;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
item -= numRows;
|
||||
}
|
||||
break;
|
||||
|
||||
case wxDOWN:
|
||||
if ( horz )
|
||||
{
|
||||
item += numCols;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
if ( ++item == count )
|
||||
item = 0;
|
||||
}
|
||||
break;
|
||||
case wxDOWN:
|
||||
if ( horz )
|
||||
{
|
||||
item += numCols;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
if ( ++item == count )
|
||||
item = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case wxRIGHT:
|
||||
if ( horz )
|
||||
{
|
||||
if ( ++item == count )
|
||||
item = 0;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
item += numRows;
|
||||
}
|
||||
break;
|
||||
case wxRIGHT:
|
||||
if ( horz )
|
||||
{
|
||||
if ( ++item == count )
|
||||
item = 0;
|
||||
}
|
||||
else // vertical layout
|
||||
{
|
||||
item += numRows;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
wxFAIL_MSG( _T("unexpected wxDirection value") );
|
||||
return wxNOT_FOUND;
|
||||
default:
|
||||
wxFAIL_MSG( _T("unexpected wxDirection value") );
|
||||
return wxNOT_FOUND;
|
||||
}
|
||||
|
||||
// ensure that the item is in range [0..count)
|
||||
if ( item < 0 )
|
||||
{
|
||||
// first map the item to the one in the same column but in the last
|
||||
// row
|
||||
item += count;
|
||||
|
||||
// now there are 2 cases: either it is the first item of the last
|
||||
// row in which case we need to wrap again and get to the last item
|
||||
// or we can just go to the previous item
|
||||
if ( item % (horz ? numCols : numRows) )
|
||||
item--;
|
||||
else
|
||||
item = count - 1;
|
||||
}
|
||||
else if ( item >= count )
|
||||
{
|
||||
// same logic as above
|
||||
item -= count;
|
||||
|
||||
// ... except that we need to check if this is not the last item,
|
||||
// not the first one
|
||||
if ( (item + 1) % (horz ? numCols : numRows) )
|
||||
item++;
|
||||
else
|
||||
item = 0;
|
||||
}
|
||||
|
||||
wxASSERT_MSG( item < count && item >= 0,
|
||||
_T("logic error in wxRadioBox::GetNextItem()") );
|
||||
}
|
||||
|
||||
// ensure that the item is in range [0..count)
|
||||
if ( item < 0 )
|
||||
{
|
||||
// first map the item to the one in the same column but in the last row
|
||||
item += count;
|
||||
|
||||
// now there are 2 cases: either it is the first item of the last row
|
||||
// in which case we need to wrap again and get to the last item or we
|
||||
// can just go to the previous item
|
||||
if ( item % (horz ? numCols : numRows) )
|
||||
item--;
|
||||
else
|
||||
item = count - 1;
|
||||
}
|
||||
else if ( item >= count )
|
||||
{
|
||||
// same logic as above
|
||||
item -= count;
|
||||
|
||||
// ... except that we need to check if this is not the last item, not
|
||||
// the first one
|
||||
if ( (item + 1) % (horz ? numCols : numRows) )
|
||||
item++;
|
||||
else
|
||||
item = 0;
|
||||
}
|
||||
|
||||
wxASSERT_MSG( item < count && item >= 0,
|
||||
_T("logic error in wxRadioBox::GetNextItem()") );
|
||||
// we shouldn't select the non-active items, continue looking for a
|
||||
// visible and shown one unless we came back to the item we started from in
|
||||
// which case bail out to avoid infinite loop
|
||||
while ( !(IsItemShown(item) && IsItemEnabled(item)) && item != itemStart );
|
||||
|
||||
return item;
|
||||
}
|
||||
|
@@ -277,12 +277,15 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags)
|
||||
// translate our flags to regcomp() ones
|
||||
int flagsRE = 0;
|
||||
if ( !(flags & wxRE_BASIC) )
|
||||
{
|
||||
#ifndef WX_NO_REGEX_ADVANCED
|
||||
if (flags & wxRE_ADVANCED)
|
||||
flagsRE |= REG_ADVANCED;
|
||||
else
|
||||
#endif
|
||||
flagsRE |= REG_EXTENDED;
|
||||
}
|
||||
|
||||
if ( flags & wxRE_ICASE )
|
||||
flagsRE |= REG_ICASE;
|
||||
if ( flags & wxRE_NOSUB )
|
||||
|
@@ -66,6 +66,8 @@
|
||||
|
||||
// includes Mac headers
|
||||
#include "wx/mac/private.h"
|
||||
#include "wx/thread.h"
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1957,7 +1959,7 @@ size_t wxMBConv_iconv::GetMBNulLen() const
|
||||
wxMutexLocker lock(self->m_iconvMutex);
|
||||
#endif
|
||||
|
||||
wchar_t *wnul = L"";
|
||||
const wchar_t *wnul = L"";
|
||||
char buf[8]; // should be enough for NUL in any encoding
|
||||
size_t inLen = sizeof(wchar_t),
|
||||
outLen = WXSIZEOF(buf);
|
||||
@@ -2800,10 +2802,14 @@ public:
|
||||
#else
|
||||
ubuf = (UniChar*) (buf ? buf : tbuf) ;
|
||||
#endif
|
||||
|
||||
status = TECConvertText(
|
||||
{
|
||||
#if wxUSE_THREADS
|
||||
wxMutexLocker lock( m_MB2WC_guard );
|
||||
#endif
|
||||
status = TECConvertText(
|
||||
m_MB2WC_converter, (ConstTextPtr) psz, byteInLen, &byteInLen,
|
||||
(TextPtr) ubuf, byteBufferLen, &byteOutLen);
|
||||
}
|
||||
|
||||
#if SIZEOF_WCHAR_T == 4
|
||||
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
|
||||
@@ -2854,10 +2860,15 @@ public:
|
||||
ubuf = (UniChar*) psz ;
|
||||
#endif
|
||||
|
||||
status = TECConvertText(
|
||||
{
|
||||
#if wxUSE_THREADS
|
||||
wxMutexLocker lock( m_WC2MB_guard );
|
||||
#endif
|
||||
status = TECConvertText(
|
||||
m_WC2MB_converter, (ConstTextPtr) ubuf, byteInLen, &byteInLen,
|
||||
(TextPtr) (buf ? buf : tbuf), byteBufferLen, &byteOutLen);
|
||||
|
||||
}
|
||||
|
||||
#if SIZEOF_WCHAR_T == 4
|
||||
free( ubuf ) ;
|
||||
#endif
|
||||
@@ -2898,6 +2909,10 @@ public:
|
||||
protected :
|
||||
mutable TECObjectRef m_MB2WC_converter;
|
||||
mutable TECObjectRef m_WC2MB_converter;
|
||||
#if wxUSE_THREADS
|
||||
mutable wxMutex m_MB2WC_guard;
|
||||
mutable wxMutex m_WC2MB_guard;
|
||||
#endif
|
||||
|
||||
TextEncodingBase m_char_encoding;
|
||||
TextEncodingBase m_unicode_encoding;
|
||||
@@ -2958,15 +2973,20 @@ public :
|
||||
ByteCount dcubufread , dcubufwritten ;
|
||||
UniChar *dcubuf = (UniChar*) malloc( dcubuflen ) ;
|
||||
|
||||
ConvertFromUnicodeToText( m_uni , byteInLen , ubuf ,
|
||||
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , dcubuf ) ;
|
||||
{
|
||||
#if wxUSE_THREADS
|
||||
wxMutexLocker lock( m_WC2MB_guard );
|
||||
#endif
|
||||
ConvertFromUnicodeToText( m_uni , byteInLen , ubuf ,
|
||||
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , dcubuf ) ;
|
||||
|
||||
// we now convert that decomposed buffer into UTF8
|
||||
// we now convert that decomposed buffer into UTF8
|
||||
|
||||
status = TECConvertText(
|
||||
status = TECConvertText(
|
||||
m_WC2MB_converter, (ConstTextPtr) dcubuf, dcubufwritten, &dcubufread,
|
||||
(TextPtr) (buf ? buf : tbuf), byteBufferLen, &byteOutLen);
|
||||
|
||||
}
|
||||
|
||||
free( dcubuf );
|
||||
|
||||
#if SIZEOF_WCHAR_T == 4
|
||||
@@ -3015,16 +3035,21 @@ public :
|
||||
ByteCount dcubufread , dcubufwritten ;
|
||||
UniChar *dcubuf = (UniChar*) malloc( dcubuflen ) ;
|
||||
|
||||
status = TECConvertText(
|
||||
{
|
||||
#if wxUSE_THREADS
|
||||
wxMutexLocker lock( m_MB2WC_guard );
|
||||
#endif
|
||||
status = TECConvertText(
|
||||
m_MB2WC_converter, (ConstTextPtr) psz, byteInLen, &byteInLen,
|
||||
(TextPtr) dcubuf, dcubuflen, &byteOutLen);
|
||||
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
|
||||
// is not properly terminated we get random characters at the end
|
||||
dcubuf[byteOutLen / sizeof( UniChar ) ] = 0 ;
|
||||
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
|
||||
// is not properly terminated we get random characters at the end
|
||||
dcubuf[byteOutLen / sizeof( UniChar ) ] = 0 ;
|
||||
|
||||
// now from the decomposed UniChar to properly composed uniChar
|
||||
ConvertFromUnicodeToText( m_uniBack , byteOutLen , dcubuf ,
|
||||
// now from the decomposed UniChar to properly composed uniChar
|
||||
ConvertFromUnicodeToText( m_uniBack , byteOutLen , dcubuf ,
|
||||
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , ubuf ) ;
|
||||
}
|
||||
|
||||
free( dcubuf );
|
||||
byteOutLen = dcubufwritten ;
|
||||
@@ -3205,6 +3230,16 @@ wxCSConv::wxCSConv(const wxChar *charset)
|
||||
|
||||
#if wxUSE_FONTMAP
|
||||
m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
|
||||
if ( m_encoding == wxFONTENCODING_MAX )
|
||||
{
|
||||
// set to unknown/invalid value
|
||||
m_encoding = wxFONTENCODING_SYSTEM;
|
||||
}
|
||||
else if ( m_encoding == wxFONTENCODING_DEFAULT )
|
||||
{
|
||||
// wxFONTENCODING_DEFAULT is same as US-ASCII in this context
|
||||
m_encoding = wxFONTENCODING_ISO8859_1;
|
||||
}
|
||||
#else
|
||||
m_encoding = wxFONTENCODING_SYSTEM;
|
||||
#endif
|
||||
@@ -3506,7 +3541,7 @@ void wxCSConv::CreateConvIfNeeded() const
|
||||
if ( !m_name && m_encoding == wxFONTENCODING_SYSTEM )
|
||||
{
|
||||
#if wxUSE_INTL
|
||||
self->m_name = wxStrdup(wxLocale::GetSystemEncodingName());
|
||||
self->m_encoding = wxLocale::GetSystemEncoding();
|
||||
#else
|
||||
// fallback to some reasonable default:
|
||||
self->m_encoding = wxFONTENCODING_ISO8859_1;
|
||||
@@ -3540,7 +3575,19 @@ size_t wxCSConv::ToWChar(wchar_t *dst, size_t dstLen,
|
||||
return m_convReal->ToWChar(dst, dstLen, src, srcLen);
|
||||
|
||||
// latin-1 (direct)
|
||||
return wxMBConv::ToWChar(dst, dstLen, src, srcLen);
|
||||
if ( srcLen == wxNO_LEN )
|
||||
srcLen = strlen(src) + 1; // take trailing NUL too
|
||||
|
||||
if ( dst )
|
||||
{
|
||||
if ( dstLen < srcLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
for ( size_t n = 0; n < srcLen; n++ )
|
||||
dst[n] = (unsigned char)(src[n]);
|
||||
}
|
||||
|
||||
return srcLen;
|
||||
}
|
||||
|
||||
size_t wxCSConv::FromWChar(char *dst, size_t dstLen,
|
||||
@@ -3552,57 +3599,45 @@ size_t wxCSConv::FromWChar(char *dst, size_t dstLen,
|
||||
return m_convReal->FromWChar(dst, dstLen, src, srcLen);
|
||||
|
||||
// latin-1 (direct)
|
||||
return wxMBConv::FromWChar(dst, dstLen, src, srcLen);
|
||||
if ( srcLen == wxNO_LEN )
|
||||
srcLen = wxWcslen(src) + 1;
|
||||
|
||||
if ( dst )
|
||||
{
|
||||
if ( dstLen < srcLen )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
for ( size_t n = 0; n < srcLen; n++ )
|
||||
{
|
||||
if ( src[n] > 0xFF )
|
||||
return wxCONV_FAILED;
|
||||
|
||||
dst[n] = (char)src[n];
|
||||
}
|
||||
|
||||
}
|
||||
else // still need to check the input validity
|
||||
{
|
||||
for ( size_t n = 0; n < srcLen; n++ )
|
||||
{
|
||||
if ( src[n] > 0xFF )
|
||||
return wxCONV_FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
return srcLen;
|
||||
}
|
||||
|
||||
size_t wxCSConv::MB2WC(wchar_t *buf, const char *psz, size_t n) const
|
||||
{
|
||||
CreateConvIfNeeded();
|
||||
|
||||
if (m_convReal)
|
||||
return m_convReal->MB2WC(buf, psz, n);
|
||||
|
||||
// latin-1 (direct)
|
||||
size_t len = strlen(psz);
|
||||
|
||||
if (buf)
|
||||
{
|
||||
for (size_t c = 0; c <= len; c++)
|
||||
buf[c] = (unsigned char)(psz[c]);
|
||||
}
|
||||
|
||||
return len;
|
||||
// this function exists only for ABI-compatibility in 2.8 branch
|
||||
return wxMBConv::MB2WC(buf, psz, n);
|
||||
}
|
||||
|
||||
size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const
|
||||
{
|
||||
CreateConvIfNeeded();
|
||||
|
||||
if (m_convReal)
|
||||
return m_convReal->WC2MB(buf, psz, n);
|
||||
|
||||
// latin-1 (direct)
|
||||
const size_t len = wxWcslen(psz);
|
||||
if (buf)
|
||||
{
|
||||
for (size_t c = 0; c <= len; c++)
|
||||
{
|
||||
if (psz[c] > 0xFF)
|
||||
return wxCONV_FAILED;
|
||||
|
||||
buf[c] = (char)psz[c];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (size_t c = 0; c <= len; c++)
|
||||
{
|
||||
if (psz[c] > 0xFF)
|
||||
return wxCONV_FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
return len;
|
||||
// this function exists only for ABI-compatibility in 2.8 branch
|
||||
return wxMBConv::WC2MB(buf, psz, n);
|
||||
}
|
||||
|
||||
size_t wxCSConv::GetMBNulLen() const
|
||||
|
@@ -1492,8 +1492,8 @@ wxString wxString::AfterFirst(wxChar ch) const
|
||||
}
|
||||
|
||||
// replace first (or all) occurences of some substring with another one
|
||||
size_t wxString::Replace(const wxChar *szOld,
|
||||
const wxChar *szNew, bool bReplaceAll)
|
||||
size_t
|
||||
wxString::Replace(const wxChar *szOld, const wxChar *szNew, bool bReplaceAll)
|
||||
{
|
||||
// if we tried to replace an empty string we'd enter an infinite loop below
|
||||
wxCHECK_MSG( szOld && *szOld && szNew, 0,
|
||||
@@ -1501,33 +1501,48 @@ size_t wxString::Replace(const wxChar *szOld,
|
||||
|
||||
size_t uiCount = 0; // count of replacements made
|
||||
|
||||
size_t uiOldLen = wxStrlen(szOld);
|
||||
size_t uiNewLen = wxStrlen(szNew);
|
||||
|
||||
size_t dwPos = 0;
|
||||
|
||||
while ( this->c_str()[dwPos] != wxT('\0') )
|
||||
// optimize the special common case of replacing one character with another
|
||||
// one
|
||||
if ( szOld[1] == '\0' && (szNew[0] != '\0' && szNew[1] == '\0') )
|
||||
{
|
||||
//DO NOT USE STRSTR HERE
|
||||
//this string can contain embedded null characters,
|
||||
//so strstr will function incorrectly
|
||||
dwPos = find(szOld, dwPos);
|
||||
if ( dwPos == npos )
|
||||
break; // exit the loop
|
||||
else
|
||||
// this loop is the simplified version of the one below
|
||||
for ( size_t pos = 0; ; )
|
||||
{
|
||||
//replace this occurance of the old string with the new one
|
||||
replace(dwPos, uiOldLen, szNew, uiNewLen);
|
||||
pos = find(*szOld, pos);
|
||||
if ( pos == npos )
|
||||
break;
|
||||
|
||||
//move up pos past the string that was replaced
|
||||
dwPos += uiNewLen;
|
||||
(*this)[pos++] = *szNew;
|
||||
|
||||
//increase replace count
|
||||
++uiCount;
|
||||
uiCount++;
|
||||
|
||||
if ( !bReplaceAll )
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // general case
|
||||
{
|
||||
const size_t uiOldLen = wxStrlen(szOld);
|
||||
const size_t uiNewLen = wxStrlen(szNew);
|
||||
|
||||
for ( size_t pos = 0; ; )
|
||||
{
|
||||
pos = find(szOld, pos);
|
||||
if ( pos == npos )
|
||||
break;
|
||||
|
||||
// replace this occurrence of the old string with the new one
|
||||
replace(pos, uiOldLen, szNew, uiNewLen);
|
||||
|
||||
// move past the string that was replaced
|
||||
pos += uiNewLen;
|
||||
|
||||
// increase replace count
|
||||
uiCount++;
|
||||
|
||||
// stop now?
|
||||
if ( !bReplaceAll )
|
||||
break; // exit the loop
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -107,9 +107,9 @@ wxFileOffset wxFileInputStream::OnSysTell() const
|
||||
return m_file->Tell();
|
||||
}
|
||||
|
||||
bool wxFileInputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
bool wxFileInputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -183,9 +183,9 @@ wxFileOffset wxFileOutputStream::GetLength() const
|
||||
return m_file->Length();
|
||||
}
|
||||
|
||||
bool wxFileOutputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
bool wxFileOutputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -220,9 +220,16 @@ size_t wxTempFileOutputStream::OnSysWrite(const void *buffer, size_t size)
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxFileStream::wxFileStream(const wxString& fileName)
|
||||
: wxFileInputStream(fileName)
|
||||
: wxFileInputStream(),
|
||||
wxFileOutputStream()
|
||||
{
|
||||
wxFileOutputStream::m_file = wxFileInputStream::m_file;
|
||||
wxFileOutputStream::m_file =
|
||||
wxFileInputStream::m_file = new wxFile(fileName, wxFile::read_write);
|
||||
|
||||
// this is a bit ugly as streams are symmetric but we still have to delete
|
||||
// the file we created above exactly once so we decide to (arbitrarily) do
|
||||
// it in wxFileInputStream
|
||||
wxFileInputStream::m_file_destroy = true;
|
||||
}
|
||||
|
||||
#endif //wxUSE_FILE
|
||||
@@ -300,9 +307,9 @@ wxFileOffset wxFFileInputStream::OnSysTell() const
|
||||
return m_file->Tell();
|
||||
}
|
||||
|
||||
bool wxFFileInputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
bool wxFFileInputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -386,9 +393,9 @@ wxFileOffset wxFFileOutputStream::GetLength() const
|
||||
return m_file->Length();
|
||||
}
|
||||
|
||||
bool wxFFileOutputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
bool wxFFileOutputStream::IsOk() const
|
||||
{
|
||||
return (wxStreamBase::IsOk() && m_file->IsOpened());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -396,9 +403,14 @@ bool wxFFileOutputStream::IsOk() const
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxFFileStream::wxFFileStream(const wxString& fileName)
|
||||
: wxFFileInputStream(fileName)
|
||||
: wxFFileInputStream(),
|
||||
wxFFileOutputStream()
|
||||
{
|
||||
wxFFileOutputStream::m_file = wxFFileInputStream::m_file;
|
||||
wxFFileOutputStream::m_file =
|
||||
wxFFileInputStream::m_file = new wxFFile(fileName, _T("w+b"));
|
||||
|
||||
// see comment in wxFileStream ctor
|
||||
wxFFileInputStream::m_file_destroy = true;
|
||||
}
|
||||
|
||||
#endif //wxUSE_FFILE
|
||||
|
@@ -2363,7 +2363,7 @@ void wxWindowBase::OnMiddleClick( wxMouseEvent& event )
|
||||
msg.Printf(_T("wxWidgets Library (%s port)\n")
|
||||
_T("Version %d.%d.%d%s%s, compiled at %s %s\n")
|
||||
_T("Runtime version of toolkit used is %d.%d.%s\n")
|
||||
_T("Copyright (c) 1995-2007 wxWidgets team"),
|
||||
_T("Copyright (c) 1995-2008 wxWidgets team"),
|
||||
wxPlatformInfo::Get().GetPortIdName().c_str(),
|
||||
wxMAJOR_VERSION,
|
||||
wxMINOR_VERSION,
|
||||
|
@@ -108,6 +108,7 @@ license is as follows:
|
||||
#include "wx/hashmap.h"
|
||||
#include "wx/stream.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/palette.h"
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
@@ -808,6 +809,24 @@ wxImage wxXPMDecoder::ReadData(const char* const* xpm_data)
|
||||
}
|
||||
}
|
||||
|
||||
#if wxUSE_PALETTE
|
||||
unsigned char* r = new unsigned char[colors_cnt];
|
||||
unsigned char* g = new unsigned char[colors_cnt];
|
||||
unsigned char* b = new unsigned char[colors_cnt];
|
||||
|
||||
for (it = clr_tbl.begin(), i = 0; it != clr_tbl.end(); it++, i++)
|
||||
{
|
||||
r[i] = it->second.R;
|
||||
g[i] = it->second.G;
|
||||
b[i] = it->second.B;
|
||||
}
|
||||
wxASSERT(i == colors_cnt);
|
||||
img.SetPalette(wxPalette(colors_cnt, r, g, b));
|
||||
delete[] r;
|
||||
delete[] g;
|
||||
delete[] b;
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
return img;
|
||||
}
|
||||
|
||||
|
@@ -135,7 +135,9 @@ bool wxApp::Yield(bool onlyIfNeeded)
|
||||
|
||||
s_inYield = true;
|
||||
|
||||
#if wxUSE_LOG
|
||||
wxLog::Suspend();
|
||||
#endif // wxUSE_LOG
|
||||
|
||||
// A guarentee that there will be an active event loop:
|
||||
wxEventLoopGuarantor dummyLoopIfNeeded;
|
||||
@@ -146,7 +148,9 @@ bool wxApp::Yield(bool onlyIfNeeded)
|
||||
// OnUpdateUI() which is a nice (and desired) side effect)
|
||||
while ( ProcessIdle() ) {}
|
||||
|
||||
#if wxUSE_LOG
|
||||
wxLog::Resume();
|
||||
#endif // wxUSE_LOG
|
||||
|
||||
s_inYield = false;
|
||||
|
||||
|
@@ -25,6 +25,7 @@
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/dc.h"
|
||||
#include "wx/dcmemory.h"
|
||||
#include "wx/log.h"
|
||||
#endif
|
||||
|
||||
|
@@ -26,6 +26,7 @@
|
||||
#include "wx/dcclient.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/toplevel.h"
|
||||
#include "wx/window.h"
|
||||
#endif
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
// wxScreenDC
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#warning "FIXME: this doesn't work (neither single app nor multiapp core)
|
||||
#warning "FIXME: this doesn't work (neither single app nor multiapp core)"
|
||||
// FIXME: maybe use a subsurface as well?
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxDC)
|
||||
|
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "wx/thread.h"
|
||||
#include "wx/timer.h"
|
||||
#include "wx/toplevel.h"
|
||||
#include "wx/private/socketevtdispatch.h"
|
||||
#include "wx/dfb/private.h"
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user