From 5ba67c67e47d069f65d648ab16dfc505c5400bfc Mon Sep 17 00:00:00 2001 From: Tobias Taschner Date: Fri, 22 Jan 2016 15:40:58 +0100 Subject: [PATCH] Remove wxOSX/Carbon support. Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code. --- README.md | 2 +- build/osx/makeprojects.applescript | 4 - build/osx/readme.txt | 2 +- build/osx/wxcarbon.xcconfig | 15 - build/osx/wxcarbon.xcodeproj/project.pbxproj | 5694 ----------------- .../osx/wxcarbon_in.xcodeproj/project.pbxproj | 287 - configure | 75 +- configure.in | 64 +- docs/doxygen/mainpages/const_cpp.h | 13 +- docs/doxygen/mainpages/introduction.h | 9 +- docs/doxygen/mainpages/platdetails.h | 30 +- docs/doxygen/overviews/customwidgets.h | 2 +- docs/osx/install.txt | 32 +- docs/readme.txt | 2 +- include/wx/defs.h | 10 - include/wx/dvrenderers.h | 4 +- include/wx/filename.h | 11 - include/wx/fontutil.h | 4 - include/wx/listctrl.h | 2 - include/wx/mediactrl.h | 7 - include/wx/osx/app.h | 9 - include/wx/osx/carbon/chkconf.h | 44 - include/wx/osx/carbon/evtloop.h | 34 - include/wx/osx/carbon/mimetype.h | 117 - include/wx/osx/carbon/private.h | 1052 --- include/wx/osx/carbon/private/mactext.h | 52 - include/wx/osx/carbon/private/print.h | 11 - include/wx/osx/carbon/private/timer.h | 32 - include/wx/osx/carbon/statbmp.h | 64 - include/wx/osx/chkconf.h | 2 - include/wx/osx/combobox.h | 51 - include/wx/osx/core/dataview.h | 4 - include/wx/osx/core/private.h | 4 - include/wx/osx/core/private/datetimectrl.h | 6 - include/wx/osx/evtloop.h | 6 +- include/wx/osx/font.h | 8 - include/wx/osx/glcanvas.h | 14 - include/wx/osx/listbox.h | 4 - include/wx/osx/private.h | 2 - include/wx/osx/private/print.h | 4 - include/wx/osx/private/timer.h | 8 - include/wx/osx/sound.h | 10 - include/wx/osx/statbmp.h | 4 - include/wx/osx/uma.h | 3 - include/wx/osx/window.h | 5 +- include/wx/overlay.h | 4 +- include/wx/platform.h | 8 +- include/wx/platinfo.h | 4 +- include/wx/ribbon/art.h | 3 +- include/wx/window.h | 8 +- interface/wx/app.h | 3 +- interface/wx/button.h | 6 +- interface/wx/dataview.h | 5 - interface/wx/msgdlg.h | 4 +- interface/wx/textctrl.h | 2 +- interface/wx/window.h | 6 +- samples/docview/docview.cpp | 6 - samples/mediaplayer/mediaplayer.cpp | 2 - samples/minimal/Info_carbon.plist | 39 - .../minimal_carbon.xcodeproj/project.pbxproj | 339 - src/common/datavcmn.cpp | 2 +- src/common/docview.cpp | 4 - src/common/fileconf.cpp | 4 - src/common/filefn.cpp | 2 - src/common/filename.cpp | 141 - src/common/iconbndl.cpp | 7 - src/common/mediactrlcmn.cpp | 13 - src/generic/listctrl.cpp | 6 +- src/generic/renderg.cpp | 11 +- src/generic/treectlg.cpp | 24 +- src/html/htmlctrl/webkit/webkit.mm | 330 - src/osx/carbon/aboutdlg.cpp | 87 - src/osx/carbon/anybutton.cpp | 122 - src/osx/carbon/app.cpp | 737 --- src/osx/carbon/bmpbuttn.cpp | 150 - src/osx/carbon/button.cpp | 120 - src/osx/carbon/checkbox.cpp | 41 - src/osx/carbon/choice.cpp | 65 - src/osx/carbon/control.cpp | 11 - src/osx/carbon/cursor.cpp | 374 -- src/osx/carbon/dataview.cpp | 2820 -------- src/osx/carbon/dcclient.cpp | 40 - src/osx/carbon/dialog.cpp | 40 - src/osx/carbon/dirdlg.cpp | 148 - src/osx/carbon/dnd.cpp | 422 -- src/osx/carbon/drawer.cpp | 198 - src/osx/carbon/evtloop.cpp | 184 - src/osx/carbon/filedlg.cpp | 625 -- src/osx/carbon/font.cpp | 57 - src/osx/carbon/fontdlg.cpp | 170 - src/osx/carbon/fontdlgosx.mm | 12 - src/osx/carbon/frame.cpp | 4 +- src/osx/carbon/gauge.cpp | 95 - src/osx/carbon/glcanvas.cpp | 443 -- src/osx/carbon/graphics.cpp | 52 - src/osx/carbon/listbox.cpp | 684 -- src/osx/carbon/listctrl_mac.cpp | 3394 ---------- src/osx/carbon/mdi.cpp | 26 +- src/osx/carbon/mediactrl.cpp | 1235 ---- src/osx/carbon/menu.cpp | 436 -- src/osx/carbon/menuitem.cpp | 24 - src/osx/carbon/mimetmac.cpp | 1958 ------ src/osx/carbon/msgdlg.cpp | 275 - src/osx/carbon/nonownedwnd.cpp | 1697 ----- src/osx/carbon/notebmac.cpp | 198 - src/osx/carbon/printdlg.cpp | 125 - src/osx/carbon/radiobut.cpp | 37 - src/osx/carbon/scrolbar.cpp | 56 - src/osx/carbon/settings.cpp | 278 - src/osx/carbon/slider.cpp | 69 - src/osx/carbon/spinbutt.cpp | 42 - src/osx/carbon/srchctrl.cpp | 222 - src/osx/carbon/statbmp.cpp | 83 - src/osx/carbon/statbox.cpp | 37 - src/osx/carbon/statline.cpp | 40 - src/osx/carbon/statlmac.cpp | 53 - src/osx/carbon/stattext.cpp | 140 - src/osx/carbon/taskbar.cpp | 506 -- src/osx/carbon/textctrl.cpp | 1582 ----- src/osx/carbon/tglbtn.cpp | 68 - src/osx/carbon/timer.cpp | 98 - src/osx/carbon/toolbar.cpp | 1806 ------ src/osx/carbon/tooltip.cpp | 257 - src/osx/carbon/uma.cpp | 281 - src/osx/carbon/utils.cpp | 1002 --- src/osx/carbon/utilscocoa.mm | 18 - src/osx/carbon/window.cpp | 1481 ----- src/osx/core/bitmap.cpp | 91 - src/osx/core/printmac.cpp | 33 - src/osx/core/stdpaths_cf.cpp | 230 - src/osx/core/utilsexc_base.cpp | 42 - src/osx/dataview_osx.cpp | 49 - src/osx/glcanvas_osx.cpp | 3 - src/osx/menu_osx.cpp | 41 +- src/osx/menuitem_osx.cpp | 3 - src/osx/nonownedwnd_osx.cpp | 8 - src/osx/radiobox_osx.cpp | 8 +- src/osx/sound_osx.cpp | 55 - src/osx/textctrl_osx.cpp | 19 - src/osx/toplevel_osx.cpp | 6 - src/osx/utils_osx.cpp | 19 - src/osx/webview_webkit.mm | 346 +- src/osx/window_osx.cpp | 101 +- utils/helpview/src/helpview.cpp | 5 - 144 files changed, 75 insertions(+), 35011 deletions(-) delete mode 100644 build/osx/wxcarbon.xcconfig delete mode 100644 build/osx/wxcarbon.xcodeproj/project.pbxproj delete mode 100644 build/osx/wxcarbon_in.xcodeproj/project.pbxproj delete mode 100644 include/wx/osx/carbon/chkconf.h delete mode 100644 include/wx/osx/carbon/evtloop.h delete mode 100644 include/wx/osx/carbon/mimetype.h delete mode 100644 include/wx/osx/carbon/private.h delete mode 100644 include/wx/osx/carbon/private/mactext.h delete mode 100644 include/wx/osx/carbon/private/timer.h delete mode 100644 include/wx/osx/carbon/statbmp.h delete mode 100644 samples/minimal/Info_carbon.plist delete mode 100644 samples/minimal/minimal_carbon.xcodeproj/project.pbxproj delete mode 100644 src/osx/carbon/aboutdlg.cpp delete mode 100644 src/osx/carbon/anybutton.cpp delete mode 100644 src/osx/carbon/bmpbuttn.cpp delete mode 100644 src/osx/carbon/button.cpp delete mode 100644 src/osx/carbon/checkbox.cpp delete mode 100644 src/osx/carbon/choice.cpp delete mode 100644 src/osx/carbon/dataview.cpp delete mode 100644 src/osx/carbon/dialog.cpp delete mode 100644 src/osx/carbon/dirdlg.cpp delete mode 100644 src/osx/carbon/dnd.cpp delete mode 100644 src/osx/carbon/drawer.cpp delete mode 100644 src/osx/carbon/evtloop.cpp delete mode 100644 src/osx/carbon/filedlg.cpp delete mode 100644 src/osx/carbon/gauge.cpp delete mode 100644 src/osx/carbon/glcanvas.cpp delete mode 100644 src/osx/carbon/listbox.cpp delete mode 100644 src/osx/carbon/listctrl_mac.cpp delete mode 100644 src/osx/carbon/mediactrl.cpp delete mode 100644 src/osx/carbon/menu.cpp delete mode 100644 src/osx/carbon/menuitem.cpp delete mode 100644 src/osx/carbon/mimetmac.cpp delete mode 100644 src/osx/carbon/msgdlg.cpp delete mode 100644 src/osx/carbon/nonownedwnd.cpp delete mode 100644 src/osx/carbon/notebmac.cpp delete mode 100644 src/osx/carbon/printdlg.cpp delete mode 100644 src/osx/carbon/radiobut.cpp delete mode 100644 src/osx/carbon/scrolbar.cpp delete mode 100644 src/osx/carbon/settings.cpp delete mode 100644 src/osx/carbon/slider.cpp delete mode 100644 src/osx/carbon/spinbutt.cpp delete mode 100644 src/osx/carbon/srchctrl.cpp delete mode 100644 src/osx/carbon/statbmp.cpp delete mode 100644 src/osx/carbon/statbox.cpp delete mode 100644 src/osx/carbon/statline.cpp delete mode 100644 src/osx/carbon/statlmac.cpp delete mode 100644 src/osx/carbon/stattext.cpp delete mode 100644 src/osx/carbon/taskbar.cpp delete mode 100644 src/osx/carbon/textctrl.cpp delete mode 100644 src/osx/carbon/tglbtn.cpp delete mode 100644 src/osx/carbon/timer.cpp delete mode 100644 src/osx/carbon/toolbar.cpp delete mode 100644 src/osx/carbon/tooltip.cpp delete mode 100644 src/osx/carbon/uma.cpp delete mode 100644 src/osx/carbon/utils.cpp delete mode 100644 src/osx/carbon/window.cpp delete mode 100644 src/osx/core/stdpaths_cf.cpp diff --git a/README.md b/README.md index 0472763c5c..b15327d7c6 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ wxWidgets currently supports the following primary platforms: - Windows XP, Vista, 7, 8 and 10 (32/64 bits). - Most Unix variants using the GTK+ toolkit (version 2.6 or newer or 3.x). -- Mac OS X (10.7 or newer) using Cocoa (32/64 bits) or Carbon (32 only). +- Mac OS X (10.7 or newer) using Cocoa (32/64 bits). Most popular C++ compilers are supported including but not limited to: diff --git a/build/osx/makeprojects.applescript b/build/osx/makeprojects.applescript index 2a90dea455..fc492475c5 100644 --- a/build/osx/makeprojects.applescript +++ b/build/osx/makeprojects.applescript @@ -244,10 +244,6 @@ set theProject to {projectName:"", conditions:{}, bklfiles:{¬ {label:"libscintilla", entries:{"$(wxscintilla)"}, targets:{"dynamic", "static", "wxscintilla"}}, ¬ {label:"libexpat", entries:{"$(wxexpat)"}, targets:{"dynamic", "static", "wxexpat"}} ¬ }} -set conditions of theProject to {"PLATFORM_MACOSX=='1'", "TOOLKIT=='OSX_CARBON'", "WXUNIV=='0'", "USE_GUI=='1' and WXUNIV=='0'"} -set projectName of theProject to "wxcarbon" -makeProject(theProject) - set conditions of theProject to {"PLATFORM_MACOSX=='1'", "TOOLKIT=='OSX_COCOA'", "WXUNIV=='0'", "USE_GUI=='1' and WXUNIV=='0'"} set projectName of theProject to "wxcocoa" diff --git a/build/osx/readme.txt b/build/osx/readme.txt index 3a60c0c9e1..7e92b0d35b 100644 --- a/build/osx/readme.txt +++ b/build/osx/readme.txt @@ -17,7 +17,7 @@ reads in the files lists from the files.bkl in the build/bakefiles directory, ev conditions in these definitions and then adds the correct files to the newly created Xcode projects -if you only need a specific target and not all three of them (carbon, cocoa, iphone) then you can +if you only need a specific target and not all of them (cocoa, iphone) then you can comment the unneeded makeProject calls. Prerequisites diff --git a/build/osx/wxcarbon.xcconfig b/build/osx/wxcarbon.xcconfig deleted file mode 100644 index 8f4dc34cb3..0000000000 --- a/build/osx/wxcarbon.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -WXTOOLKIT = carbon -WXTOOLKITUPPER = CARBON - -#include "wx.xcconfig" - -MACOSX_DEPLOYMENT_TARGET = 10.5 -SDKROOT = macosx10.6 - -GCC_VERSION[arch=ppc] = 4.0 - -ARCHS = ppc i386 -VALID_ARCHS = ppc i386 - -OTHER_LDFLAGS = -framework WebKit -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework AGL -framework OpenGL -framework QuickTime - diff --git a/build/osx/wxcarbon.xcodeproj/project.pbxproj b/build/osx/wxcarbon.xcodeproj/project.pbxproj deleted file mode 100644 index 58528b07c3..0000000000 --- a/build/osx/wxcarbon.xcodeproj/project.pbxproj +++ /dev/null @@ -1,5694 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 006841D4ADA6384B9A8886CE /* slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75278C04709D3482A2660DFC /* slider.cpp */; }; - 006841D4ADA6384B9A8886CF /* slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75278C04709D3482A2660DFC /* slider.cpp */; }; - 0095084719983B878378CA28 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6CAF721E53E83B4820DE6 /* pngwrite.c */; }; - 0095084719983B878378CA29 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6CAF721E53E83B4820DE6 /* pngwrite.c */; }; - 00E2F82590B33BDCA1F6D0C4 /* xh_htmllbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E7ADC9F00803853B1004529 /* xh_htmllbox.cpp */; }; - 00E2F82590B33BDCA1F6D0C5 /* xh_htmllbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E7ADC9F00803853B1004529 /* xh_htmllbox.cpp */; }; - 00F1531404F832C6AE0748F2 /* spinbutt_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2F1BF8904635049BAFD6E1 /* spinbutt_osx.cpp */; }; - 00F1531404F832C6AE0748F3 /* spinbutt_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E2F1BF8904635049BAFD6E1 /* spinbutt_osx.cpp */; }; - 014AF0BAB1783A5D9D75A7ED /* zstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B9B5BC858CCF3477895D2786 /* zstream.cpp */; }; - 014AF0BAB1783A5D9D75A7EE /* zstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B9B5BC858CCF3477895D2786 /* zstream.cpp */; }; - 0164A65CDB7A334A8E9AA4BF /* dynload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93BA27DFFB023F2EBD6295E3 /* dynload.cpp */; }; - 0164A65CDB7A334A8E9AA4C0 /* dynload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93BA27DFFB023F2EBD6295E3 /* dynload.cpp */; }; - 01D4C5F2147F3942A7CE91AA /* icon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DAF1F49F0F3F41A427A21D /* icon.cpp */; }; - 01D4C5F2147F3942A7CE91AB /* icon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DAF1F49F0F3F41A427A21D /* icon.cpp */; }; - 020BBB417207393F8C60EFB6 /* LexFortran.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 86A0C3603C8A343AAFBD2CE0 /* LexFortran.cxx */; }; - 020BBB417207393F8C60EFB7 /* LexFortran.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 86A0C3603C8A343AAFBD2CE0 /* LexFortran.cxx */; }; - 026F90F7492C316A94128916 /* logg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C64705CE9398316D87BAB4DC /* logg.cpp */; }; - 026F90F7492C316A94128917 /* logg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C64705CE9398316D87BAB4DC /* logg.cpp */; }; - 028257C52CAE3038AA862C35 /* stdstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE16011AD6323AAC8616F973 /* stdstream.cpp */; }; - 028257C52CAE3038AA862C36 /* stdstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE16011AD6323AAC8616F973 /* stdstream.cpp */; }; - 02BB539E2AD63C078DA776B0 /* uiaction_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC6359B01A7B35F6B710ACF8 /* uiaction_osx.cpp */; }; - 02BB539E2AD63C078DA776B1 /* uiaction_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC6359B01A7B35F6B710ACF8 /* uiaction_osx.cpp */; }; - 02E8F1195B653D26AAA89462 /* listbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E7A77AA776B3B5CAEE3CC90 /* listbkg.cpp */; }; - 02E8F1195B653D26AAA89463 /* listbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E7A77AA776B3B5CAEE3CC90 /* listbkg.cpp */; }; - 03035C5CE4BC3288A5A18424 /* choicdgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */; }; - 03035C5CE4BC3288A5A18425 /* choicdgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */; }; - 03BF1610E2FC3BD5ACB754F0 /* bitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1A53EC3A3463EFDB7614E93 /* bitmap.cpp */; }; - 03BF1610E2FC3BD5ACB754F1 /* bitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1A53EC3A3463EFDB7614E93 /* bitmap.cpp */; }; - 048986FB629E313EA670CD0C /* webviewfshandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFBDB327E4A236A3ABFA326F /* webviewfshandler.cpp */; }; - 048986FB629E313EA670CD0D /* webviewfshandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFBDB327E4A236A3ABFA326F /* webviewfshandler.cpp */; }; - 05021BAB2C9B3C4CAD0A7C2C /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = EEE82083BFA430D5B58F8A04 /* regfree.c */; }; - 05021BAB2C9B3C4CAD0A7C2D /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = EEE82083BFA430D5B58F8A04 /* regfree.c */; }; - 052331773CF6362C9A6CF38E /* utils_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EED7C691150139EFA35E8EBD /* utils_osx.cpp */; }; - 052331773CF6362C9A6CF38F /* utils_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EED7C691150139EFA35E8EBD /* utils_osx.cpp */; }; - 056CA84179433AA48D55DA65 /* bar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9FDDE855D9F83E4891362EB4 /* bar.cpp */; }; - 056CA84179433AA48D55DA66 /* bar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9FDDE855D9F83E4891362EB4 /* bar.cpp */; }; - 056E30EA43753A7CB1AF8C9E /* strvararg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0EEAD9C3E180305D8899441E /* strvararg.cpp */; }; - 056E30EA43753A7CB1AF8C9F /* strvararg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0EEAD9C3E180305D8899441E /* strvararg.cpp */; }; - 05814571E7A83F5DBFB6E4C4 /* msgout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E968913A9A593B258BD8EACB /* msgout.cpp */; }; - 05814571E7A83F5DBFB6E4C5 /* msgout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E968913A9A593B258BD8EACB /* msgout.cpp */; }; - 060E095718B03EF98C754799 /* treelist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5190E3E110443FD29F2474FC /* treelist.cpp */; }; - 060E095718B03EF98C75479A /* treelist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5190E3E110443FD29F2474FC /* treelist.cpp */; }; - 064908348009398C8EA8497C /* fontpickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D5CF9CC4553336916FB27B /* fontpickercmn.cpp */; }; - 064908348009398C8EA8497D /* fontpickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D5CF9CC4553336916FB27B /* fontpickercmn.cpp */; }; - 0654BCC3F0763C50A7949504 /* LexAPDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 497861EB7E623C68951D1AB2 /* LexAPDL.cxx */; }; - 0654BCC3F0763C50A7949505 /* LexAPDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 497861EB7E623C68951D1AB2 /* LexAPDL.cxx */; }; - 069D53F2DFBF370A8CC99630 /* LexCSS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4EB3B255D20F3AE5A95230F6 /* LexCSS.cxx */; }; - 069D53F2DFBF370A8CC99631 /* LexCSS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4EB3B255D20F3AE5A95230F6 /* LexCSS.cxx */; }; - 07158EBC05A637ECA9DC7B4F /* utilscocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2AFC4A1CDA473688A590D19F /* utilscocoa.mm */; }; - 07158EBC05A637ECA9DC7B50 /* utilscocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2AFC4A1CDA473688A590D19F /* utilscocoa.mm */; }; - 0718E7524134312090541D6E /* LexPascal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 86F26F6418C53AFE8154BFC8 /* LexPascal.cxx */; }; - 0718E7524134312090541D6F /* LexPascal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 86F26F6418C53AFE8154BFC8 /* LexPascal.cxx */; }; - 0723C4E8B52C39FDBC2158B6 /* dataview_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E53DC332DA23DF4B9BFCDE3 /* dataview_osx.cpp */; }; - 0723C4E8B52C39FDBC2158B7 /* dataview_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E53DC332DA23DF4B9BFCDE3 /* dataview_osx.cpp */; }; - 0730A107A2B935A9923C8EF2 /* filehistorycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7B3307E56B332769901E99F /* filehistorycmn.cpp */; }; - 0730A107A2B935A9923C8EF3 /* filehistorycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7B3307E56B332769901E99F /* filehistorycmn.cpp */; }; - 07412469921A3E488A2F9BA6 /* checklst_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9860CD56245B3E7FBD0E7846 /* checklst_osx.cpp */; }; - 07412469921A3E488A2F9BA7 /* checklst_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9860CD56245B3E7FBD0E7846 /* checklst_osx.cpp */; }; - 0742292656623EC481B34369 /* paper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87D973CA8D673267BD0844D3 /* paper.cpp */; }; - 0742292656623EC481B3436A /* paper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87D973CA8D673267BD0844D3 /* paper.cpp */; }; - 0743AE8613F535A0ABB79315 /* intl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8BB1AABB3D393EBA527060 /* intl.cpp */; }; - 0743AE8613F535A0ABB79316 /* intl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8BB1AABB3D393EBA527060 /* intl.cpp */; }; - 07C769F64665317BA3E1AC90 /* tif_jpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 29B9C6D27BE83DB384A108ED /* tif_jpeg.c */; }; - 07C769F64665317BA3E1AC91 /* tif_jpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 29B9C6D27BE83DB384A108ED /* tif_jpeg.c */; }; - 07EC76232BB3343FA5CB90B0 /* LexAVE.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BFF5A87D79EF3BEFAC3C0C20 /* LexAVE.cxx */; }; - 07EC76232BB3343FA5CB90B1 /* LexAVE.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BFF5A87D79EF3BEFAC3C0C20 /* LexAVE.cxx */; }; - 0813551C951A3AD1A5EF01B2 /* imagbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F84098A475939BB9EE87E70 /* imagbmp.cpp */; }; - 0813551C951A3AD1A5EF01B3 /* imagbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F84098A475939BB9EE87E70 /* imagbmp.cpp */; }; - 0836590D35FE37988DE70442 /* combobox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 543C896D9A30340A8C2CB7C8 /* combobox_osx.cpp */; }; - 0836590D35FE37988DE70443 /* combobox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 543C896D9A30340A8C2CB7C8 /* combobox_osx.cpp */; }; - 087FF6DE223A32509692F39B /* txtstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 117CD1A3BCB53CEE800787AE /* txtstrm.cpp */; }; - 087FF6DE223A32509692F39C /* txtstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 117CD1A3BCB53CEE800787AE /* txtstrm.cpp */; }; - 0948599C4FD53611A09B52AB /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 93D07403FCA530D7A9FD2917 /* jfdctflt.c */; }; - 0948599C4FD53611A09B52AC /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 93D07403FCA530D7A9FD2917 /* jfdctflt.c */; }; - 096BA201623034AD97218368 /* tif_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 3E6F40F4740C3ED29D83E107 /* tif_version.c */; }; - 096BA201623034AD97218369 /* tif_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 3E6F40F4740C3ED29D83E107 /* tif_version.c */; }; - 097BC5E023C33C1DA05606AF /* Selection.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2AF7739C389536F79DAA31E5 /* Selection.cxx */; }; - 097BC5E023C33C1DA05606B0 /* Selection.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2AF7739C389536F79DAA31E5 /* Selection.cxx */; }; - 09A792A5129E3FE1BF077641 /* tif_jpeg_12.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F768B23D8B535CE8D0BD343 /* tif_jpeg_12.c */; }; - 09A792A5129E3FE1BF077642 /* tif_jpeg_12.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F768B23D8B535CE8D0BD343 /* tif_jpeg_12.c */; }; - 0A2A4D2DC8F63FE1AC0BFAAF /* base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F2024D29170D3B50A4DFDE11 /* base64.cpp */; }; - 0A2A4D2DC8F63FE1AC0BFAB0 /* base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F2024D29170D3B50A4DFDE11 /* base64.cpp */; }; - 0A406D2D1ADA343891E3664C /* powercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BC7A16DBCA36EDA9D6F1DB /* powercmn.cpp */; }; - 0A406D2D1ADA343891E3664D /* powercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BC7A16DBCA36EDA9D6F1DB /* powercmn.cpp */; }; - 0ADC8DBEE80D36B0BB9B058A /* LexASY.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A82C367B86F83981803D55DB /* LexASY.cxx */; }; - 0ADC8DBEE80D36B0BB9B058B /* LexASY.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A82C367B86F83981803D55DB /* LexASY.cxx */; }; - 0AEBA7389E223781A7A257A1 /* webkit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DF2456ED905357B8C1D74D9 /* webkit.mm */; }; - 0AEBA7389E223781A7A257A2 /* webkit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DF2456ED905357B8C1D74D9 /* webkit.mm */; }; - 0B4AF44DC0C439AD83CDC37E /* Indicator.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4FDE5A962FA234FA83A605AD /* Indicator.cxx */; }; - 0B4AF44DC0C439AD83CDC37F /* Indicator.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4FDE5A962FA234FA83A605AD /* Indicator.cxx */; }; - 0B792C3F31713850818EEFEA /* LexDMAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AC62806DE67F33E18C386D4F /* LexDMAP.cxx */; }; - 0B792C3F31713850818EEFEB /* LexDMAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AC62806DE67F33E18C386D4F /* LexDMAP.cxx */; }; - 0B98B6721DEE37A1ADEA382B /* quantize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B890199A37723EFD86C0ADA5 /* quantize.cpp */; }; - 0B98B6721DEE37A1ADEA382C /* quantize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B890199A37723EFD86C0ADA5 /* quantize.cpp */; }; - 0BB3BF0909A134BA93CF5620 /* xh_richtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88C2B895570936A3B4FAF3CF /* xh_richtext.cpp */; }; - 0BB3BF0909A134BA93CF5621 /* xh_richtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88C2B895570936A3B4FAF3CF /* xh_richtext.cpp */; }; - 0C3F48DBD05E3566A4CA6D44 /* LexAsm.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A65399C8A6D636139E362119 /* LexAsm.cxx */; }; - 0C3F48DBD05E3566A4CA6D45 /* LexAsm.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A65399C8A6D636139E362119 /* LexAsm.cxx */; }; - 0C485288EA86379D9FD66536 /* cshelp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 67DCEEB6861731319C30817F /* cshelp.cpp */; }; - 0C485288EA86379D9FD66537 /* cshelp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 67DCEEB6861731319C30817F /* cshelp.cpp */; }; - 0C7E2D5C22A232368F862A60 /* longlong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72D7AF345E563587941BD868 /* longlong.cpp */; }; - 0C7E2D5C22A232368F862A61 /* longlong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72D7AF345E563587941BD868 /* longlong.cpp */; }; - 0C9A379D97B133FA831175A7 /* printdlg_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DD609EC0591359C9A576A43 /* printdlg_osx.cpp */; }; - 0C9A379D97B133FA831175A8 /* printdlg_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DD609EC0591359C9A576A43 /* printdlg_osx.cpp */; }; - 0CB8C75E80FC3DC588FA68FE /* xh_auinotbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54EBD66FB9C3364681338A27 /* xh_auinotbk.cpp */; }; - 0CB8C75E80FC3DC588FA68FF /* xh_auinotbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54EBD66FB9C3364681338A27 /* xh_auinotbk.cpp */; }; - 0D6596A44A8C37DE85D578F6 /* Document.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 71DB140E670738839EC42C2B /* Document.cxx */; }; - 0D6596A44A8C37DE85D578F7 /* Document.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 71DB140E670738839EC42C2B /* Document.cxx */; }; - 0D79F1B4EF44393AA324213F /* LexPLM.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 62C46B0CE620348FBF3860A4 /* LexPLM.cxx */; }; - 0D79F1B4EF44393AA3242140 /* LexPLM.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 62C46B0CE620348FBF3860A4 /* LexPLM.cxx */; }; - 0E024D145DDD38ACAE68F462 /* toplevel_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E2C8A7034343354841F7D8B /* toplevel_osx.cpp */; }; - 0E024D145DDD38ACAE68F463 /* toplevel_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E2C8A7034343354841F7D8B /* toplevel_osx.cpp */; }; - 0E60E17BA4B23347A4F20160 /* gdicmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 998D611109EC33A9A6A11C5A /* gdicmn.cpp */; }; - 0E60E17BA4B23347A4F20161 /* gdicmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 998D611109EC33A9A6A11C5A /* gdicmn.cpp */; }; - 0E8A0B8FA40E365690C20230 /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 7395814D42CC38F6B8CD81B4 /* gzlib.c */; }; - 0E8A0B8FA40E365690C20231 /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 7395814D42CC38F6B8CD81B4 /* gzlib.c */; }; - 0E92CEF677AA32C9A8CDA0A7 /* checkbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 998C092CB83639CFA3DC63B1 /* checkbox_osx.cpp */; }; - 0E92CEF677AA32C9A8CDA0A8 /* checkbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 998C092CB83639CFA3DC63B1 /* checkbox_osx.cpp */; }; - 0EB6AB38A68D3845AC384A23 /* xh_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53B95C9A1BCB30CC87495DA3 /* xh_text.cpp */; }; - 0EB6AB38A68D3845AC384A24 /* xh_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53B95C9A1BCB30CC87495DA3 /* xh_text.cpp */; }; - 0F8C79010EF0316AA1B7392D /* LexTACL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9E5C91072D533919A78D8ED2 /* LexTACL.cxx */; }; - 0F8C79010EF0316AA1B7392E /* LexTACL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9E5C91072D533919A78D8ED2 /* LexTACL.cxx */; }; - 0FA6E1E47F123FF4A902E4D2 /* xh_odcombo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0080254545B9383ABDF2045C /* xh_odcombo.cpp */; }; - 0FA6E1E47F123FF4A902E4D3 /* xh_odcombo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0080254545B9383ABDF2045C /* xh_odcombo.cpp */; }; - 0FBF7C9EDFB53D8DA0991B55 /* xh_notbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A87662D69F0432FC96701280 /* xh_notbk.cpp */; }; - 0FBF7C9EDFB53D8DA0991B56 /* xh_notbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A87662D69F0432FC96701280 /* xh_notbk.cpp */; }; - 0FDDE8E193743F3A8CBDC67C /* richtextprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4C45D3C63AA37CEBCE83321 /* richtextprint.cpp */; }; - 0FDDE8E193743F3A8CBDC67D /* richtextprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4C45D3C63AA37CEBCE83321 /* richtextprint.cpp */; }; - 0FFFFA2F762B3160955D1D88 /* gauge_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC28591B403B32B7AFCC079D /* gauge_osx.cpp */; }; - 0FFFFA2F762B3160955D1D89 /* gauge_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC28591B403B32B7AFCC079D /* gauge_osx.cpp */; }; - 10743B74A58231639C6BF610 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 400275BE019D3E5BA47988BE /* inffast.c */; }; - 10743B74A58231639C6BF611 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 400275BE019D3E5BA47988BE /* inffast.c */; }; - 11818B68C5263EB68D708845 /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 4549845C0751356A907C23E0 /* jdtrans.c */; }; - 11818B68C5263EB68D708846 /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 4549845C0751356A907C23E0 /* jdtrans.c */; }; - 11DD420E32FB3EFB9DA0AB5B /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 8EFF4707641D3F20AB602ED6 /* jccolor.c */; }; - 11DD420E32FB3EFB9DA0AB5C /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 8EFF4707641D3F20AB602ED6 /* jccolor.c */; }; - 131B879180AE3FB481F81CC7 /* fs_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A305CEC03B3085B159B617 /* fs_mem.cpp */; }; - 131B879180AE3FB481F81CC8 /* fs_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A305CEC03B3085B159B617 /* fs_mem.cpp */; }; - 13250B531B1B3F9998C59DA9 /* stdpaths_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */; }; - 13250B531B1B3F9998C59DAA /* stdpaths_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */; }; - 135DFCE48FC03D8294D01A89 /* xmlrsall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */; }; - 135DFCE48FC03D8294D01A8A /* xmlrsall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */; }; - 13854E7822783719A2530792 /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BBC1E494D33D028CA547FF /* jddctmgr.c */; }; - 13854E7822783719A2530793 /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = A5BBC1E494D33D028CA547FF /* jddctmgr.c */; }; - 13A71672A59233D3A9B2D5E9 /* CharacterSet.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B883F991159731DCB2717A21 /* CharacterSet.cxx */; }; - 13A71672A59233D3A9B2D5EA /* CharacterSet.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B883F991159731DCB2717A21 /* CharacterSet.cxx */; }; - 14C024EB327435A2A571DA2C /* LexKix.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B303230368143F37B2409DE6 /* LexKix.cxx */; }; - 14C024EB327435A2A571DA2D /* LexKix.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B303230368143F37B2409DE6 /* LexKix.cxx */; }; - 14EF556997B0350F931EBE8E /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF7564A2B733F759AA8496B /* jdinput.c */; }; - 14EF556997B0350F931EBE8F /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF7564A2B733F759AA8496B /* jdinput.c */; }; - 15048519756B33959B15B161 /* floatpane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A881F49ADCF33C299B041584 /* floatpane.cpp */; }; - 15048519756B33959B15B162 /* floatpane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A881F49ADCF33C299B041584 /* floatpane.cpp */; }; - 1569BB4728693B6285623A23 /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A0650754DC2358CA5933B28 /* pngerror.c */; }; - 1569BB4728693B6285623A24 /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A0650754DC2358CA5933B28 /* pngerror.c */; }; - 15735ED6556130F6A14F0BCD /* ScintillaBase.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9BB9CE48AE853C47A1D157AE /* ScintillaBase.cxx */; }; - 15735ED6556130F6A14F0BCE /* ScintillaBase.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9BB9CE48AE853C47A1D157AE /* ScintillaBase.cxx */; }; - 157C8DA2E272399B9380991A /* menuitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 44806DDCE6FB305EAED41E92 /* menuitem.cpp */; }; - 157C8DA2E272399B9380991B /* menuitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 44806DDCE6FB305EAED41E92 /* menuitem.cpp */; }; - 159E4248CB1333AD841D9F03 /* LexYAML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9CC7C6FFD67233788EEDFC5E /* LexYAML.cxx */; }; - 159E4248CB1333AD841D9F04 /* LexYAML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9CC7C6FFD67233788EEDFC5E /* LexYAML.cxx */; }; - 15D65A523EB23EC385C05E0B /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BA14FFC0F4B3AE0B4D6B185 /* jquant1.c */; }; - 15D65A523EB23EC385C05E0C /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BA14FFC0F4B3AE0B4D6B185 /* jquant1.c */; }; - 16021CFD78623B8CBD08FC1F /* LexVHDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1098499A317A3DEEA4D16D0D /* LexVHDL.cxx */; }; - 16021CFD78623B8CBD08FC20 /* LexVHDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1098499A317A3DEEA4D16D0D /* LexVHDL.cxx */; }; - 164010B26D363F5FA09785B6 /* listctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */; }; - 164010B26D363F5FA09785B7 /* listctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */; }; - 164CF6AA59B135E68239E8F8 /* notebmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1A75C83424B32E99AC91B2C /* notebmac.cpp */; }; - 164CF6AA59B135E68239E8F9 /* notebmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1A75C83424B32E99AC91B2C /* notebmac.cpp */; }; - 16A382A265DE32FABC318F6F /* fontdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB170BF78EFE39D692E11985 /* fontdlgg.cpp */; }; - 16A382A265DE32FABC318F70 /* fontdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB170BF78EFE39D692E11985 /* fontdlgg.cpp */; }; - 16D334945B1E30AFB80B356C /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D35F1F29F9D33C2B9730D4EE /* window.cpp */; }; - 16D334945B1E30AFB80B356D /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D35F1F29F9D33C2B9730D4EE /* window.cpp */; }; - 1710A4BB0E6339558A187F8D /* xmlres.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087B66573CD33DA99DA82B1C /* xmlres.cpp */; }; - 1710A4BB0E6339558A187F8E /* xmlres.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087B66573CD33DA99DA82B1C /* xmlres.cpp */; }; - 171F09F8DD553FA5B4B3FAE2 /* modalhook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58E7C516E2453A269280A404 /* modalhook.cpp */; }; - 171F09F8DD553FA5B4B3FAE3 /* modalhook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58E7C516E2453A269280A404 /* modalhook.cpp */; }; - 1749412E53B9311DABA71DDC /* bmpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8EE191DC59F362AAED2CDC1 /* bmpbase.cpp */; }; - 1749412E53B9311DABA71DDD /* bmpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8EE191DC59F362AAED2CDC1 /* bmpbase.cpp */; }; - 17F0494F87533196904F5313 /* xh_toolbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B17FC30EF9D035689B68C955 /* xh_toolbk.cpp */; }; - 17F0494F87533196904F5314 /* xh_toolbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B17FC30EF9D035689B68C955 /* xh_toolbk.cpp */; }; - 182DFDBB58653FD9863D4176 /* dcprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 238741BDA2C73E56899CCB04 /* dcprint.cpp */; }; - 182DFDBB58653FD9863D4177 /* dcprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 238741BDA2C73E56899CCB04 /* dcprint.cpp */; }; - 187F921A95DA3594B0AD980D /* gridsel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26381308E32A3A179E7A9B40 /* gridsel.cpp */; }; - 187F921A95DA3594B0AD980E /* gridsel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26381308E32A3A179E7A9B40 /* gridsel.cpp */; }; - 18A318847EAC37F2B915F081 /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 14C2A7E01B4B3B168DB73B4F /* jmemmgr.c */; }; - 18A318847EAC37F2B915F082 /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 14C2A7E01B4B3B168DB73B4F /* jmemmgr.c */; }; - 1937FBA0A0DD32A8A743CFE1 /* valtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE8701E1CF2B352B945C17E5 /* valtext.cpp */; }; - 1937FBA0A0DD32A8A743CFE2 /* valtext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE8701E1CF2B352B945C17E5 /* valtext.cpp */; }; - 19D823E564D932758EA6F8D1 /* UniConversion.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C4ABE16C5A13979827F4F7C /* UniConversion.cxx */; }; - 19D823E564D932758EA6F8D2 /* UniConversion.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C4ABE16C5A13979827F4F7C /* UniConversion.cxx */; }; - 1A4F9F18BBEB3515AC7C7CC6 /* LexMetapost.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F4C72C5C61A6335C8B418BA1 /* LexMetapost.cxx */; }; - 1A4F9F18BBEB3515AC7C7CC7 /* LexMetapost.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F4C72C5C61A6335C8B418BA1 /* LexMetapost.cxx */; }; - 1A7FA35BDE4F35C685AB51A5 /* jidctred.c in Sources */ = {isa = PBXBuildFile; fileRef = 646743F6FDFE3ACFA1A79B40 /* jidctred.c */; }; - 1A7FA35BDE4F35C685AB51A6 /* jidctred.c in Sources */ = {isa = PBXBuildFile; fileRef = 646743F6FDFE3ACFA1A79B40 /* jidctred.c */; }; - 1AB50C98FF473B33A3CA4D39 /* xh_cmdlinkbn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B70966E9423F198C8CBE65 /* xh_cmdlinkbn.cpp */; }; - 1AB50C98FF473B33A3CA4D3A /* xh_cmdlinkbn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B70966E9423F198C8CBE65 /* xh_cmdlinkbn.cpp */; }; - 1AF2B2346C9639DAA4D15F30 /* numdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A7F3F58B1E3812A055C84F /* numdlgg.cpp */; }; - 1AF2B2346C9639DAA4D15F31 /* numdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A7F3F58B1E3812A055C84F /* numdlgg.cpp */; }; - 1B06622C8D8731FC832199E2 /* init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB82939EDC593F9CA95C3098 /* init.cpp */; }; - 1B06622C8D8731FC832199E3 /* init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB82939EDC593F9CA95C3098 /* init.cpp */; }; - 1BCC944F5E0936F5830F03E8 /* windowid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9B9B85572D0312BBF2878DB /* windowid.cpp */; }; - 1BCC944F5E0936F5830F03E9 /* windowid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9B9B85572D0312BBF2878DB /* windowid.cpp */; }; - 1C52CB9487DF3AB9AF243B47 /* prntbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 242BF97B558634A79322052C /* prntbase.cpp */; }; - 1C52CB9487DF3AB9AF243B48 /* prntbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 242BF97B558634A79322052C /* prntbase.cpp */; }; - 1C544DADDA6F3D62A5E25E93 /* LexerSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */; }; - 1C544DADDA6F3D62A5E25E94 /* LexerSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */; }; - 1CBF34ACA39330028A5EA9AC /* xmlreshandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AD367F1047838A9A7A34DBF /* xmlreshandler.cpp */; }; - 1CBF34ACA39330028A5EA9AD /* xmlreshandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AD367F1047838A9A7A34DBF /* xmlreshandler.cpp */; }; - 1CC5AEC6C08E3600801CDADA /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 95B4EDF38F8A3E5EBAFF560F /* trees.c */; }; - 1CC5AEC6C08E3600801CDADB /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 95B4EDF38F8A3E5EBAFF560F /* trees.c */; }; - 1CD4F67F48CF3A5FA477D86E /* datavcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95DEEF60B1E9358A8CCCC67E /* datavcmn.cpp */; }; - 1CD4F67F48CF3A5FA477D86F /* datavcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95DEEF60B1E9358A8CCCC67E /* datavcmn.cpp */; }; - 1D726139C977341A97D0C931 /* datetimefmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 864438709B363773B8C3382D /* datetimefmt.cpp */; }; - 1D726139C977341A97D0C932 /* datetimefmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 864438709B363773B8C3382D /* datetimefmt.cpp */; }; - 1D7442C82B343F50A83B25B0 /* CharClassify.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5AFB85719CBC3D60BA2EDC2E /* CharClassify.cxx */; }; - 1D7442C82B343F50A83B25B1 /* CharClassify.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5AFB85719CBC3D60BA2EDC2E /* CharClassify.cxx */; }; - 1DBDF75500D73A3098015E7F /* cfstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */; }; - 1DBDF75500D73A3098015E80 /* cfstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */; }; - 1DF3A4F85FCB3BA79A552F3D /* menuitem_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF6511DE2CB43534A5566403 /* menuitem_osx.cpp */; }; - 1DF3A4F85FCB3BA79A552F3E /* menuitem_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF6511DE2CB43534A5566403 /* menuitem_osx.cpp */; }; - 1E166FC1A7B3371FB038B172 /* fldlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45E7EC6D0C0E3C878664C0A9 /* fldlgcmn.cpp */; }; - 1E166FC1A7B3371FB038B173 /* fldlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45E7EC6D0C0E3C878664C0A9 /* fldlgcmn.cpp */; }; - 1E17F95DD433379E8C18298C /* odcombo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7906BD74118A3B4DAC515BC2 /* odcombo.cpp */; }; - 1E17F95DD433379E8C18298D /* odcombo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7906BD74118A3B4DAC515BC2 /* odcombo.cpp */; }; - 1E2AB43075973AE59A8D89C1 /* fontdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C049D0CFFF0D34E591E1FEA1 /* fontdata.cpp */; }; - 1E2AB43075973AE59A8D89C2 /* fontdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C049D0CFFF0D34E591E1FEA1 /* fontdata.cpp */; }; - 1E4832B42B95308299B767B9 /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = 0890779C662C35889A8C6C2E /* jdmerge.c */; }; - 1E4832B42B95308299B767BA /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = 0890779C662C35889A8C6C2E /* jdmerge.c */; }; - 1EA81A0E8E5A3B38B4D80337 /* srchcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF103B09F02315282EC8F44 /* srchcmn.cpp */; }; - 1EA81A0E8E5A3B38B4D80338 /* srchcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF103B09F02315282EC8F44 /* srchcmn.cpp */; }; - 1EDED99760B23A1999E75C12 /* imaglist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 027D2F04BE933ED6B9BA1518 /* imaglist.cpp */; }; - 1EDED99760B23A1999E75C13 /* imaglist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 027D2F04BE933ED6B9BA1518 /* imaglist.cpp */; }; - 1EE845DDFDDE36CA8A218205 /* tif_close.c in Sources */ = {isa = PBXBuildFile; fileRef = F82278F9AF0432529891E6D7 /* tif_close.c */; }; - 1EE845DDFDDE36CA8A218206 /* tif_close.c in Sources */ = {isa = PBXBuildFile; fileRef = F82278F9AF0432529891E6D7 /* tif_close.c */; }; - 1FB1622D59593932B25C55BA /* LexPowerShell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 36F7955F8075343C8A9953DB /* LexPowerShell.cxx */; }; - 1FB1622D59593932B25C55BB /* LexPowerShell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 36F7955F8075343C8A9953DB /* LexPowerShell.cxx */; }; - 2020EE3C45743B53BE8C7F38 /* LexCoffeeScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9794A709E3C036D79860CEC9 /* LexCoffeeScript.cxx */; }; - 2020EE3C45743B53BE8C7F39 /* LexCoffeeScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9794A709E3C036D79860CEC9 /* LexCoffeeScript.cxx */; }; - 205520440CD13C0AB9E89159 /* anidecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE959EC7BFDD3A628E856404 /* anidecod.cpp */; }; - 205520440CD13C0AB9E8915A /* anidecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE959EC7BFDD3A628E856404 /* anidecod.cpp */; }; - 20BEEFFA08F3396791596870 /* dlunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CA2D9F325F833C408657E7B7 /* dlunix.cpp */; }; - 20BEEFFA08F3396791596871 /* dlunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CA2D9F325F833C408657E7B7 /* dlunix.cpp */; }; - 20F10669703137E68318C6FD /* cmndata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0510EE0FB3FF36EF8670ABD1 /* cmndata.cpp */; }; - 20F10669703137E68318C6FE /* cmndata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0510EE0FB3FF36EF8670ABD1 /* cmndata.cpp */; }; - 2102C23970FB3F22AB46A59A /* LexTADS3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A284E855892F3A9E9E19E854 /* LexTADS3.cxx */; }; - 2102C23970FB3F22AB46A59B /* LexTADS3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A284E855892F3A9E9E19E854 /* LexTADS3.cxx */; }; - 213CE0DD5B2335D0AD53B54A /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A24E9101688368296C21EBE /* gzclose.c */; }; - 213CE0DD5B2335D0AD53B54B /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A24E9101688368296C21EBE /* gzclose.c */; }; - 221DC4F6678A3EC5ACDDEA4F /* statbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F16A18CD9C23410B18592FD /* statbox_osx.cpp */; }; - 221DC4F6678A3EC5ACDDEA50 /* statbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F16A18CD9C23410B18592FD /* statbox_osx.cpp */; }; - 22AE900003F73134BBEE8BB6 /* dirctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91292D8E11203A6B8E9767DA /* dirctrlg.cpp */; }; - 22AE900003F73134BBEE8BB7 /* dirctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91292D8E11203A6B8E9767DA /* dirctrlg.cpp */; }; - 22C76BF2C3E331CD87657E6E /* LexNsis.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1BC0322549563787A21CE8F1 /* LexNsis.cxx */; }; - 22C76BF2C3E331CD87657E6F /* LexNsis.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1BC0322549563787A21CE8F1 /* LexNsis.cxx */; }; - 22EC132AEF863BFBAA6EDEC3 /* LexPowerPro.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2A5FC30FF3743DBAAF8910EC /* LexPowerPro.cxx */; }; - 22EC132AEF863BFBAA6EDEC4 /* LexPowerPro.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2A5FC30FF3743DBAAF8910EC /* LexPowerPro.cxx */; }; - 2315C8692C443ED1AE431728 /* tif_extension.c in Sources */ = {isa = PBXBuildFile; fileRef = AF7CE00168AB33C994374ABA /* tif_extension.c */; }; - 2315C8692C443ED1AE431729 /* tif_extension.c in Sources */ = {isa = PBXBuildFile; fileRef = AF7CE00168AB33C994374ABA /* tif_extension.c */; }; - 23479484EC143D34871550C1 /* textmeasurecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEC69FC5D7F73759A0670C4A /* textmeasurecmn.cpp */; }; - 23479484EC143D34871550C2 /* textmeasurecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEC69FC5D7F73759A0670C4A /* textmeasurecmn.cpp */; }; - 2386B575BC3931D2AF86CB33 /* fontdlgosx.mm in Sources */ = {isa = PBXBuildFile; fileRef = 38CEA4A3579331EF808B8363 /* fontdlgosx.mm */; }; - 2386B575BC3931D2AF86CB34 /* fontdlgosx.mm in Sources */ = {isa = PBXBuildFile; fileRef = 38CEA4A3579331EF808B8363 /* fontdlgosx.mm */; }; - 23965E313EDC3BBE9B2FA1C5 /* imagpng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24396D584D053948A3FF0DCD /* imagpng.cpp */; }; - 23965E313EDC3BBE9B2FA1C6 /* imagpng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24396D584D053948A3FF0DCD /* imagpng.cpp */; }; - 23A7AF68A03E380785EE7C24 /* object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1731D6708BFE3DE7B101CE74 /* object.cpp */; }; - 23A7AF68A03E380785EE7C25 /* object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1731D6708BFE3DE7B101CE74 /* object.cpp */; }; - 23CECD8647C037E0B41DF0D4 /* LexA68k.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7020ADB5D3E0375E875B418B /* LexA68k.cxx */; }; - 23CECD8647C037E0B41DF0D5 /* LexA68k.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7020ADB5D3E0375E875B418B /* LexA68k.cxx */; }; - 241A346E77E131918C6DE9B9 /* colordlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91C415400F0435528B9995B7 /* colordlg.cpp */; }; - 241A346E77E131918C6DE9BA /* colordlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91C415400F0435528B9995B7 /* colordlg.cpp */; }; - 242E1D1A9BF331BA918134EC /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 0964797530CF3FE7B8DB6242 /* pngwtran.c */; }; - 242E1D1A9BF331BA918134ED /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 0964797530CF3FE7B8DB6242 /* pngwtran.c */; }; - 246B4FF96BA135258FE45F4F /* encconv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C269E9CA99DF3AE5B1BD6AFA /* encconv.cpp */; }; - 246B4FF96BA135258FE45F50 /* encconv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C269E9CA99DF3AE5B1BD6AFA /* encconv.cpp */; }; - 2480859662ED399799E120A5 /* pen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BA819575B5136B09FA8FEB1 /* pen.cpp */; }; - 2480859662ED399799E120A6 /* pen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BA819575B5136B09FA8FEB1 /* pen.cpp */; }; - 249C9177B1A33EFEAB30F93F /* tipwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E8BF36D3A7C309482CBA9EC /* tipwin.cpp */; }; - 249C9177B1A33EFEAB30F940 /* tipwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E8BF36D3A7C309482CBA9EC /* tipwin.cpp */; }; - 24A5A71C79733E9CB913C5B7 /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8744F2C80ECF375999195935 /* LexPB.cxx */; }; - 24A5A71C79733E9CB913C5B8 /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8744F2C80ECF375999195935 /* LexPB.cxx */; }; - 2563C775427E3D68BD384F2F /* richtextstyles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D30617843F33310089C1F77A /* richtextstyles.cpp */; }; - 2563C775427E3D68BD384F30 /* richtextstyles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D30617843F33310089C1F77A /* richtextstyles.cpp */; }; - 25656617A56D342AA3D1BFE2 /* ctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0EB91E8407CB3300A19F387D /* ctrlcmn.cpp */; }; - 25656617A56D342AA3D1BFE3 /* ctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0EB91E8407CB3300A19F387D /* ctrlcmn.cpp */; }; - 26649553E4763EE6BA268B7D /* xh_gdctl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A2E6F103403BBFADD449FE /* xh_gdctl.cpp */; }; - 26649553E4763EE6BA268B7E /* xh_gdctl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A2E6F103403BBFADD449FE /* xh_gdctl.cpp */; }; - 268DDC88C99A3A64AB8B2FFA /* LexCaml.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B8AD0120F3EA6BF5B0AE0 /* LexCaml.cxx */; }; - 268DDC88C99A3A64AB8B2FFB /* LexCaml.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B8AD0120F3EA6BF5B0AE0 /* LexCaml.cxx */; }; - 26BB10834DA1388881BDD1EC /* propgrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B98B72B3A0A73044B85AED60 /* propgrid.cpp */; }; - 26BB10834DA1388881BDD1ED /* propgrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B98B72B3A0A73044B85AED60 /* propgrid.cpp */; }; - 26E4813A97DE323E88119163 /* xh_choicbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CCED0C7EF69A31A4A9240D60 /* xh_choicbk.cpp */; }; - 26E4813A97DE323E88119164 /* xh_choicbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CCED0C7EF69A31A4A9240D60 /* xh_choicbk.cpp */; }; - 27759C2FBB0E35FDA847B2B5 /* LexForth.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B181F564935730E89AB00D92 /* LexForth.cxx */; }; - 27759C2FBB0E35FDA847B2B6 /* LexForth.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B181F564935730E89AB00D92 /* LexForth.cxx */; }; - 27E2EABB117334CD89CFD2A4 /* mdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B568A7364ECA30288820CCE7 /* mdi.cpp */; }; - 27E2EABB117334CD89CFD2A5 /* mdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B568A7364ECA30288820CCE7 /* mdi.cpp */; }; - 27E73CA5C35A30CE89946ECA /* slider_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D215A0D67563350CB4EECB06 /* slider_osx.cpp */; }; - 27E73CA5C35A30CE89946ECB /* slider_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D215A0D67563350CB4EECB06 /* slider_osx.cpp */; }; - 283C3ABE42433244983C27C1 /* stattext_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CF5C09D9A1230EEB42713E1 /* stattext_osx.cpp */; }; - 283C3ABE42433244983C27C2 /* stattext_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CF5C09D9A1230EEB42713E1 /* stattext_osx.cpp */; }; - 287A6D1B6AA030AAB7C057F7 /* dialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DF561FCD0C038B79C62B083 /* dialog.cpp */; }; - 287A6D1B6AA030AAB7C057F8 /* dialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DF561FCD0C038B79C62B083 /* dialog.cpp */; }; - 28ADE8D385A53445A5451F23 /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 72869747E68E37998CB0A07E /* jdhuff.c */; }; - 28ADE8D385A53445A5451F24 /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 72869747E68E37998CB0A07E /* jdhuff.c */; }; - 296692A7A3783E3A83D005C6 /* brush.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 302A13BC64C238A297F4399F /* brush.cpp */; }; - 296692A7A3783E3A83D005C7 /* brush.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 302A13BC64C238A297F4399F /* brush.cpp */; }; - 2989056891153968B372EA14 /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 45D7558DF5E03A2EB41883F0 /* pngwutil.c */; }; - 2989056891153968B372EA15 /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 45D7558DF5E03A2EB41883F0 /* pngwutil.c */; }; - 2A54BBF33C1E39FE8AF805D6 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB924887605E3CB388F56776 /* utils.cpp */; }; - 2A54BBF33C1E39FE8AF805D7 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB924887605E3CB388F56776 /* utils.cpp */; }; - 2A7640E4210334AC93366900 /* winpars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7FCA75FE592C3469AE351FBF /* winpars.cpp */; }; - 2A7640E4210334AC93366901 /* winpars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7FCA75FE592C3469AE351FBF /* winpars.cpp */; }; - 2B13BFC894C63373B7ACFA3D /* xh_hyperlink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4E4032CA9883CA4B25BE082 /* xh_hyperlink.cpp */; }; - 2B13BFC894C63373B7ACFA3E /* xh_hyperlink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4E4032CA9883CA4B25BE082 /* xh_hyperlink.cpp */; }; - 2C53221A318E37529E6460EB /* tif_fax3sm.c in Sources */ = {isa = PBXBuildFile; fileRef = BFF8216871643FEA8B5D7804 /* tif_fax3sm.c */; }; - 2C53221A318E37529E6460EC /* tif_fax3sm.c in Sources */ = {isa = PBXBuildFile; fileRef = BFF8216871643FEA8B5D7804 /* tif_fax3sm.c */; }; - 2C95DFA8EE463487956B4EB4 /* infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DE6A96FDD5D381D8B33D58E /* infobar.cpp */; }; - 2C95DFA8EE463487956B4EB5 /* infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DE6A96FDD5D381D8B33D58E /* infobar.cpp */; }; - 2CAD4DF9505F36E4A2EAD53D /* helpdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C466F32CCBD13DBC87285B3D /* helpdata.cpp */; }; - 2CAD4DF9505F36E4A2EAD53E /* helpdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C466F32CCBD13DBC87285B3D /* helpdata.cpp */; }; - 2CCC30C0162131DBBE9D8027 /* dobjcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E93DE2F9FE73AD2AB9571E2 /* dobjcmn.cpp */; }; - 2CCC30C0162131DBBE9D8028 /* dobjcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E93DE2F9FE73AD2AB9571E2 /* dobjcmn.cpp */; }; - 2CD89A08C7ED3D35A0FBD893 /* listctrl_mac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02A756A2887839B2900F8CAC /* listctrl_mac.cpp */; }; - 2CD89A08C7ED3D35A0FBD894 /* listctrl_mac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02A756A2887839B2900F8CAC /* listctrl_mac.cpp */; }; - 2D4D105CA9BE3FA6995A5FFF /* tif_dumpmode.c in Sources */ = {isa = PBXBuildFile; fileRef = 1094F7D0E7A93B0CAC949001 /* tif_dumpmode.c */; }; - 2D4D105CA9BE3FA6995A6000 /* tif_dumpmode.c in Sources */ = {isa = PBXBuildFile; fileRef = 1094F7D0E7A93B0CAC949001 /* tif_dumpmode.c */; }; - 2D60F289103837EA8925E3F1 /* dcbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D1EE17722EA937E88A7F0C01 /* dcbase.cpp */; }; - 2D60F289103837EA8925E3F2 /* dcbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D1EE17722EA937E88A7F0C01 /* dcbase.cpp */; }; - 2DBF5F96CCC63F7481C26A43 /* webview_webkit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5FEECFD764E037288CE94FEB /* webview_webkit.mm */; }; - 2DBF5F96CCC63F7481C26A44 /* webview_webkit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5FEECFD764E037288CE94FEB /* webview_webkit.mm */; }; - 2DF74933A90E34129F1BEF72 /* dnd_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CA72410F615B3A78A6340532 /* dnd_osx.cpp */; }; - 2DF74933A90E34129F1BEF73 /* dnd_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CA72410F615B3A78A6340532 /* dnd_osx.cpp */; }; - 2E059BFE8E3B3D9299D55969 /* textmeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9B31409EC6532FC83B0B957 /* textmeasure.cpp */; }; - 2E059BFE8E3B3D9299D5596A /* textmeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9B31409EC6532FC83B0B957 /* textmeasure.cpp */; }; - 2E4747E0736B30569ACD5422 /* textbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 701B84EE7C043B539FF5195A /* textbuf.cpp */; }; - 2E4747E0736B30569ACD5423 /* textbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 701B84EE7C043B539FF5195A /* textbuf.cpp */; }; - 2E8440A2BDD53BE7B01547C2 /* uri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4E1DC1869C6327C80D2F5F4 /* uri.cpp */; }; - 2E8440A2BDD53BE7B01547C3 /* uri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4E1DC1869C6327C80D2F5F4 /* uri.cpp */; }; - 2E930206397C3EDCBD8206FC /* gridctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A1BD6BCA15430CA8A4869EF /* gridctrl.cpp */; }; - 2E930206397C3EDCBD8206FD /* gridctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A1BD6BCA15430CA8A4869EF /* gridctrl.cpp */; }; - 2EECB3C2F9523D0B95847A7F /* accel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C78A1539462370CAA429508 /* accel.cpp */; }; - 2EECB3C2F9523D0B95847A80 /* accel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C78A1539462370CAA429508 /* accel.cpp */; }; - 2F35A207C3993DE08E4FE0B0 /* timerunx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CB2CC8E60833A6993BEA321 /* timerunx.cpp */; }; - 2F35A207C3993DE08E4FE0B1 /* timerunx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CB2CC8E60833A6993BEA321 /* timerunx.cpp */; }; - 2F50DBC14FE538A49823925A /* calctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 496674699F173A5385EAFF07 /* calctrlg.cpp */; }; - 2F50DBC14FE538A49823925B /* calctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 496674699F173A5385EAFF07 /* calctrlg.cpp */; }; - 2F7F5B9BBCD83D90B237A1A0 /* markupparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DA7F7633279936EFA0B9C5CF /* markupparser.cpp */; }; - 2F7F5B9BBCD83D90B237A1A1 /* markupparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DA7F7633279936EFA0B9C5CF /* markupparser.cpp */; }; - 2FA1A8FE3644325ABAD273A4 /* fmapbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832BBBFE664736D5978420C6 /* fmapbase.cpp */; }; - 2FA1A8FE3644325ABAD273A5 /* fmapbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832BBBFE664736D5978420C6 /* fmapbase.cpp */; }; - 2FAE979E6FE23D088C768B7D /* gridcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDD3CE34439B3D2BBD9DC8D3 /* gridcmn.cpp */; }; - 2FAE979E6FE23D088C768B7E /* gridcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDD3CE34439B3D2BBD9DC8D3 /* gridcmn.cpp */; }; - 2FE10EA678C73523836FCC1C /* richtooltipcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A1CE0B28CB73F90AE92B5AB /* richtooltipcmn.cpp */; }; - 2FE10EA678C73523836FCC1D /* richtooltipcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A1CE0B28CB73F90AE92B5AB /* richtooltipcmn.cpp */; }; - 30493B486DFF35AF80D12C49 /* stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FFDD414DBCC73D0FB6C2C5FD /* stream.cpp */; }; - 30493B486DFF35AF80D12C4A /* stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FFDD414DBCC73D0FB6C2C5FD /* stream.cpp */; }; - 309C0A78D45C3AB7B8778B59 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 5E463A493FD930DE80E58608 /* pngset.c */; }; - 309C0A78D45C3AB7B8778B5A /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 5E463A493FD930DE80E58608 /* pngset.c */; }; - 311840186794346AAAA42091 /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BEC6B3CAFB532CBB9F95D74 /* jutils.c */; }; - 311840186794346AAAA42092 /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BEC6B3CAFB532CBB9F95D74 /* jutils.c */; }; - 31380AD4F5BD38A6B9212FE0 /* LexR.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7255468B6D5F3D8697994A53 /* LexR.cxx */; }; - 31380AD4F5BD38A6B9212FE1 /* LexR.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7255468B6D5F3D8697994A53 /* LexR.cxx */; }; - 3141FEDED0943BD6A2EF858F /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA93D41B11683E758D456531 /* log.cpp */; }; - 3141FEDED0943BD6A2EF8590 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA93D41B11683E758D456531 /* log.cpp */; }; - 319EA32592DA3C74B86DDDFF /* wxcrt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23FC98E2305230E2990471E3 /* wxcrt.cpp */; }; - 319EA32592DA3C74B86DDE00 /* wxcrt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23FC98E2305230E2990471E3 /* wxcrt.cpp */; }; - 319FB8E64CE731D6A58AD301 /* clntdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C904B4BA8273355869812B2 /* clntdata.cpp */; }; - 319FB8E64CE731D6A58AD302 /* clntdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C904B4BA8273355869812B2 /* clntdata.cpp */; }; - 31DD19A942283FA8810B6382 /* numformatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BD8DAB407D231EFA5B2CAE5 /* numformatter.cpp */; }; - 31DD19A942283FA8810B6383 /* numformatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BD8DAB407D231EFA5B2CAE5 /* numformatter.cpp */; }; - 31FEAB56919D372993CAD89C /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = A06AB1974DB93EE2999EC75C /* pngrio.c */; }; - 31FEAB56919D372993CAD89D /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = A06AB1974DB93EE2999EC75C /* pngrio.c */; }; - 32486A808EBC3E088598D51C /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = 7FE0455EBDC63D82B2D88587 /* jcprepct.c */; }; - 32486A808EBC3E088598D51D /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = 7FE0455EBDC63D82B2D88587 /* jcprepct.c */; }; - 324B2BAC54553D45B3C56BFD /* LexOScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D11E2223B5AA3E26A21A8817 /* LexOScript.cxx */; }; - 324B2BAC54553D45B3C56BFE /* LexOScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D11E2223B5AA3E26A21A8817 /* LexOScript.cxx */; }; - 32FECED7A7633C4D8C1BFBB3 /* toolbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24DF23D67E693D999B875101 /* toolbkg.cpp */; }; - 32FECED7A7633C4D8C1BFBB4 /* toolbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24DF23D67E693D999B875101 /* toolbkg.cpp */; }; - 3357BD0518F538E9A949F886 /* xh_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21A697F65B1E31168F0A7BD7 /* xh_tree.cpp */; }; - 3357BD0518F538E9A949F887 /* xh_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21A697F65B1E31168F0A7BD7 /* xh_tree.cpp */; }; - 335DD610974A33D4B6581E2A /* colourdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0D3BD03BCE953D1B964EDB7A /* colourdata.cpp */; }; - 335DD610974A33D4B6581E2B /* colourdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0D3BD03BCE953D1B964EDB7A /* colourdata.cpp */; }; - 3399AB7BB1333B5AAF5FAF55 /* wrapsizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5E2D6917EB1352983C7FE85 /* wrapsizer.cpp */; }; - 3399AB7BB1333B5AAF5FAF56 /* wrapsizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5E2D6917EB1352983C7FE85 /* wrapsizer.cpp */; }; - 33B16442F6AF3233BD533108 /* bmpbuttn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA69FCE7B4FA377E98438FE5 /* bmpbuttn.cpp */; }; - 33B16442F6AF3233BD533109 /* bmpbuttn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA69FCE7B4FA377E98438FE5 /* bmpbuttn.cpp */; }; - 33ED014A7FF7398794E6E4CF /* xh_split.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */; }; - 33ED014A7FF7398794E6E4D0 /* xh_split.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */; }; - 346D274E17673A01B0177D5B /* sockunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB7661E9E09A397790ED9545 /* sockunix.cpp */; }; - 346D274E17673A01B0177D5C /* sockunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB7661E9E09A397790ED9545 /* sockunix.cpp */; }; - 353B584AD0C03919A57A3048 /* affinematrix2d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD09A813E10A31C19554B425 /* affinematrix2d.cpp */; }; - 353B584AD0C03919A57A3049 /* affinematrix2d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD09A813E10A31C19554B425 /* affinematrix2d.cpp */; }; - 3554C88010CE3D2A8970A135 /* sashwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 917F2666B67E3D2EB84E74F8 /* sashwin.cpp */; }; - 3554C88010CE3D2A8970A136 /* sashwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 917F2666B67E3D2EB84E74F8 /* sashwin.cpp */; }; - 3694B007E88A3D8C8CB952F0 /* LexRegistry.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A737317EDE0F3921B1412966 /* LexRegistry.cxx */; }; - 3694B007E88A3D8C8CB952F1 /* LexRegistry.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A737317EDE0F3921B1412966 /* LexRegistry.cxx */; }; - 369BCCFF61D13A058D837835 /* LexPerl.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D0C3A635C8BD3FA6BD47975F /* LexPerl.cxx */; }; - 369BCCFF61D13A058D837836 /* LexPerl.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D0C3A635C8BD3FA6BD47975F /* LexPerl.cxx */; }; - 36B0B923B836358D9DB0AE10 /* xh_panel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4B85051B7C835A8BF4E3EE1 /* xh_panel.cpp */; }; - 36B0B923B836358D9DB0AE11 /* xh_panel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4B85051B7C835A8BF4E3EE1 /* xh_panel.cpp */; }; - 36DB80FD5B153E9099DB6912 /* imaggif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */; }; - 36DB80FD5B153E9099DB6913 /* imaggif.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */; }; - 36EB5D19429D3BD1A01001D5 /* framemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26632A254717372BAA4D514D /* framemanager.cpp */; }; - 36EB5D19429D3BD1A01001D6 /* framemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26632A254717372BAA4D514D /* framemanager.cpp */; }; - 371809DA4AD1382F8B532878 /* fontenum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36E1DBA275AD325DB759C180 /* fontenum.cpp */; }; - 371809DA4AD1382F8B532879 /* fontenum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36E1DBA275AD325DB759C180 /* fontenum.cpp */; }; - 37715483D08335B790FFE058 /* filectrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5A756B733D093B09BE2098A6 /* filectrlcmn.cpp */; }; - 37715483D08335B790FFE059 /* filectrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5A756B733D093B09BE2098A6 /* filectrlcmn.cpp */; }; - 37749AC3468836FC857BD0D5 /* checklstcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83A94241BCB13767AFEC5946 /* checklstcmn.cpp */; }; - 37749AC3468836FC857BD0D6 /* checklstcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83A94241BCB13767AFEC5946 /* checklstcmn.cpp */; }; - 37DD17F479A1371ABF3589B9 /* xh_wizrd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBD381E57BAE3F2AA31A68CB /* xh_wizrd.cpp */; }; - 37DD17F479A1371ABF3589BA /* xh_wizrd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBD381E57BAE3F2AA31A68CB /* xh_wizrd.cpp */; }; - 3813146434693234965C4F31 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B0D32537D35069C7E053F /* inftrees.c */; }; - 3813146434693234965C4F32 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B0D32537D35069C7E053F /* inftrees.c */; }; - 383A6993E90936D39A5F12BD /* headerctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5794CD687013AF8A20A691A /* headerctrlcmn.cpp */; }; - 383A6993E90936D39A5F12BE /* headerctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5794CD687013AF8A20A691A /* headerctrlcmn.cpp */; }; - 3902517F9ED03648B5A4B96A /* drawer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39B825E5EAB43D9ABDCEB2CD /* drawer.cpp */; }; - 3902517F9ED03648B5A4B96B /* drawer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39B825E5EAB43D9ABDCEB2CD /* drawer.cpp */; }; - 39CC380F801F3EE984523275 /* auibar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05A4437E9697300390FDE14E /* auibar.cpp */; }; - 39CC380F801F3EE984523276 /* auibar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05A4437E9697300390FDE14E /* auibar.cpp */; }; - 39D6435B10073B85A499AFD8 /* dcbufcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBC5A5797B0D369291A76D6E /* dcbufcmn.cpp */; }; - 39D6435B10073B85A499AFD9 /* dcbufcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBC5A5797B0D369291A76D6E /* dcbufcmn.cpp */; }; - 39FB197CF9EB3D76BE0723CF /* LexBash.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 78D7866F95C73A28BB540606 /* LexBash.cxx */; }; - 39FB197CF9EB3D76BE0723D0 /* LexBash.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 78D7866F95C73A28BB540606 /* LexBash.cxx */; }; - 3ACCC2EB8E973C11835EB597 /* bmpbtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 772AD4682A3E38538511D341 /* bmpbtncmn.cpp */; }; - 3ACCC2EB8E973C11835EB598 /* bmpbtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 772AD4682A3E38538511D341 /* bmpbtncmn.cpp */; }; - 3B7E035ECF3D3FFB9827AC1C /* xh_dlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 06B4A895955B32258DCD62BF /* xh_dlg.cpp */; }; - 3B7E035ECF3D3FFB9827AC1D /* xh_dlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 06B4A895955B32258DCD62BF /* xh_dlg.cpp */; }; - 3B8A54D5E5A53607A6F7979A /* arrstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57CF60203F53459A03951A9 /* arrstr.cpp */; }; - 3B8A54D5E5A53607A6F7979B /* arrstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57CF60203F53459A03951A9 /* arrstr.cpp */; }; - 3C0EB1DDA5243E31B2D92CE2 /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 02D9332D5C5632E981936E29 /* jquant2.c */; }; - 3C0EB1DDA5243E31B2D92CE3 /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 02D9332D5C5632E981936E29 /* jquant2.c */; }; - 3C36437B2E933F83984D431E /* imagtiff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFA85C8E426C361F9CA9D15F /* imagtiff.cpp */; }; - 3C36437B2E933F83984D431F /* imagtiff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFA85C8E426C361F9CA9D15F /* imagtiff.cpp */; }; - 3C394FBD47B6310C80577E3B /* LexMMIXAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FEFE1B83470D38D38D0E76B0 /* LexMMIXAL.cxx */; }; - 3C394FBD47B6310C80577E3C /* LexMMIXAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FEFE1B83470D38D38D0E76B0 /* LexMMIXAL.cxx */; }; - 3C5E1A45A57B3169A4C073D9 /* LexVerilog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D76B3D3BD33E3775BEAB4737 /* LexVerilog.cxx */; }; - 3C5E1A45A57B3169A4C073DA /* LexVerilog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D76B3D3BD33E3775BEAB4737 /* LexVerilog.cxx */; }; - 3C665EA42ECC3E5990BA347B /* EditView.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 430739CB8B95336ABB372EC7 /* EditView.cxx */; }; - 3C665EA42ECC3E5990BA347C /* EditView.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 430739CB8B95336ABB372EC7 /* EditView.cxx */; }; - 3C92143CC3173F659CE40DC3 /* checkbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19A5AFB993843FF0B8F75E47 /* checkbox.cpp */; }; - 3C92143CC3173F659CE40DC4 /* checkbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19A5AFB993843FF0B8F75E47 /* checkbox.cpp */; }; - 3CDE2B6BF88D326189F069BD /* accelcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A436B55DC44E3827A757A6D8 /* accelcmn.cpp */; }; - 3CDE2B6BF88D326189F069BE /* accelcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A436B55DC44E3827A757A6D8 /* accelcmn.cpp */; }; - 3D22FC202D903007AEE3D164 /* fdiounix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B548B1FF2A238809315C8A9 /* fdiounix.cpp */; }; - 3D22FC202D903007AEE3D165 /* fdiounix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B548B1FF2A238809315C8A9 /* fdiounix.cpp */; }; - 3D3EA1BAAD1833B1B48E9C86 /* xh_stbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832DDCA57DEE3FD1B34829EC /* xh_stbmp.cpp */; }; - 3D3EA1BAAD1833B1B48E9C87 /* xh_stbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832DDCA57DEE3FD1B34829EC /* xh_stbmp.cpp */; }; - 3D424F4B33653A00AE9B623A /* m_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 082CA018FB883999839C1DCE /* m_tables.cpp */; }; - 3D424F4B33653A00AE9B623B /* m_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 082CA018FB883999839C1DCE /* m_tables.cpp */; }; - 3D762A0BBF1B39B88A769632 /* helpwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2DBD5DB511C53218B3EF1625 /* helpwnd.cpp */; }; - 3D762A0BBF1B39B88A769633 /* helpwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2DBD5DB511C53218B3EF1625 /* helpwnd.cpp */; }; - 3E6AA08E72A030D39D867D4B /* ScintillaWX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E6F9D4319F639BE89E5A82F /* ScintillaWX.cpp */; }; - 3E6AA08E72A030D39D867D4C /* ScintillaWX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E6F9D4319F639BE89E5A82F /* ScintillaWX.cpp */; }; - 3E99016BDE043A08B4D6B3CE /* htmprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 194ADD28300E329E80F7892E /* htmprint.cpp */; }; - 3E99016BDE043A08B4D6B3CF /* htmprint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 194ADD28300E329E80F7892E /* htmprint.cpp */; }; - 3EB6B8528A0D3B6CADAE1256 /* archive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02D2E8B5C89939CE90B99E2B /* archive.cpp */; }; - 3EB6B8528A0D3B6CADAE1257 /* archive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02D2E8B5C89939CE90B99E2B /* archive.cpp */; }; - 3ED6F4B64C283232A79423CF /* dircmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC9B6DFBF2F73917A99361C5 /* dircmn.cpp */; }; - 3ED6F4B64C283232A79423D0 /* dircmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC9B6DFBF2F73917A99361C5 /* dircmn.cpp */; }; - 403FBA20CEFE3EAFB4E6B905 /* dir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7332A03D93D3DABB050615D /* dir.cpp */; }; - 403FBA20CEFE3EAFB4E6B906 /* dir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7332A03D93D3DABB050615D /* dir.cpp */; }; - 4040AE89BF9F34668091064A /* dragimgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A67053D16D63C588E555C84 /* dragimgg.cpp */; }; - 4040AE89BF9F34668091064B /* dragimgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A67053D16D63C588E555C84 /* dragimgg.cpp */; }; - 41943A8F82723027A151A468 /* fileconf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61DA2A4C0D143CBE804BB8A1 /* fileconf.cpp */; }; - 41943A8F82723027A151A469 /* fileconf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61DA2A4C0D143CBE804BB8A1 /* fileconf.cpp */; }; - 42260A6F1853361083803B0C /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CB467F9898C3952A68D988B /* zutil.c */; }; - 42260A6F1853361083803B0D /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CB467F9898C3952A68D988B /* zutil.c */; }; - 4269B85FDC5639BEB76A8AEB /* nonownedwnd_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19559DDA007D364E838014B5 /* nonownedwnd_osx.cpp */; }; - 4269B85FDC5639BEB76A8AEC /* nonownedwnd_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19559DDA007D364E838014B5 /* nonownedwnd_osx.cpp */; }; - 4279D39CAAF834F6A5B99196 /* persist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D9626646773CED82449D5D /* persist.cpp */; }; - 4279D39CAAF834F6A5B99197 /* persist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D9626646773CED82449D5D /* persist.cpp */; }; - 427E6AF88CF73D799206E37D /* checkboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FC2F076657431458896115A /* checkboxcmn.cpp */; }; - 427E6AF88CF73D799206E37E /* checkboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FC2F076657431458896115A /* checkboxcmn.cpp */; }; - 42AC484FDD7D3E948CEA801C /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = B5370A676AAC32419D7FDD87 /* inflate.c */; }; - 42AC484FDD7D3E948CEA801D /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = B5370A676AAC32419D7FDD87 /* inflate.c */; }; - 42ED9BAFD6E936849F1D36CB /* xtixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4048A3523EC03409BD899BEF /* xtixml.cpp */; }; - 42ED9BAFD6E936849F1D36CC /* xtixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4048A3523EC03409BD899BEF /* xtixml.cpp */; }; - 437519A6002A3A0FB2C9A8FC /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6CC2B05353C3284B37B2DD7 /* settings.cpp */; }; - 437519A6002A3A0FB2C9A8FD /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6CC2B05353C3284B37B2DD7 /* settings.cpp */; }; - 438EAEA4B30C325C827F6197 /* xh_fontpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */; }; - 438EAEA4B30C325C827F6198 /* xh_fontpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */; }; - 4442EA28B0B3373B9A2D0862 /* collheaderctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F377099B8B37F18C26716B /* collheaderctrlg.cpp */; }; - 4442EA28B0B3373B9A2D0863 /* collheaderctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F377099B8B37F18C26716B /* collheaderctrlg.cpp */; }; - 447FEC72F3C234378CE28DE7 /* effects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48D72D20DB1D3E1CA5ED112A /* effects.cpp */; }; - 447FEC72F3C234378CE28DE8 /* effects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48D72D20DB1D3E1CA5ED112A /* effects.cpp */; }; - 44C6F11C7D1C399F99CF6BD4 /* xh_auitoolb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CC4C44F4DB833839AD96DBD /* xh_auitoolb.cpp */; }; - 44C6F11C7D1C399F99CF6BD5 /* xh_auitoolb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CC4C44F4DB833839AD96DBD /* xh_auitoolb.cpp */; }; - 45AB45C6B24A3983B22E56A5 /* dataobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 271B4B77622B3411A7BF6634 /* dataobj.cpp */; }; - 45AB45C6B24A3983B22E56A6 /* dataobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 271B4B77622B3411A7BF6634 /* dataobj.cpp */; }; - 45D88A74B3EE3837B9F79595 /* LexFlagship.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F32C0D20638232CE8F43BF33 /* LexFlagship.cxx */; }; - 45D88A74B3EE3837B9F79596 /* LexFlagship.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F32C0D20638232CE8F43BF33 /* LexFlagship.cxx */; }; - 45FE206BBAD13DDCA1EA41CF /* treebase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7BA6ADD758693BD180D3275B /* treebase.cpp */; }; - 45FE206BBAD13DDCA1EA41D0 /* treebase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7BA6ADD758693BD180D3275B /* treebase.cpp */; }; - 46395873DB1C3B7FA81DE5F8 /* LexerBase.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 93EDB3A2B85E3275A6D27C56 /* LexerBase.cxx */; }; - 46395873DB1C3B7FA81DE5F9 /* LexerBase.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 93EDB3A2B85E3275A6D27C56 /* LexerBase.cxx */; }; - 4657479AF35533AEB7876676 /* helpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BBB30516233A39BE809405AA /* helpbase.cpp */; }; - 4657479AF35533AEB7876677 /* helpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BBB30516233A39BE809405AA /* helpbase.cpp */; }; - 4657E7382E9E3EDC8DE2401E /* mimetype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C97C1F26B5A38C49543060C /* mimetype.cpp */; }; - 4657E7382E9E3EDC8DE2401F /* mimetype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C97C1F26B5A38C49543060C /* mimetype.cpp */; }; - 4666CDC48BA9301EA283BFFF /* choice_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59D075A3E96F3187B58F6D03 /* choice_osx.cpp */; }; - 4666CDC48BA9301EA283C000 /* choice_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59D075A3E96F3187B58F6D03 /* choice_osx.cpp */; }; - 46A4CCF128FC3EB092074DC5 /* property.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58E1F571B01F34D4AB70CA18 /* property.cpp */; }; - 46A4CCF128FC3EB092074DC6 /* property.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58E1F571B01F34D4AB70CA18 /* property.cpp */; }; - 46CE8B53D2663927AAE5DF9D /* xh_treebk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B912D2E3385E365CAB61A7FF /* xh_treebk.cpp */; }; - 46CE8B53D2663927AAE5DF9E /* xh_treebk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B912D2E3385E365CAB61A7FF /* xh_treebk.cpp */; }; - 46E331300D8F349DB36AB50A /* imagpnm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC12B97F233B3B9494DA217F /* imagpnm.cpp */; }; - 46E331300D8F349DB36AB50B /* imagpnm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC12B97F233B3B9494DA217F /* imagpnm.cpp */; }; - 46F341B46F80376B962759F5 /* animateg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 580AFC66F3003582B43043B1 /* animateg.cpp */; }; - 46F341B46F80376B962759F6 /* animateg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 580AFC66F3003582B43043B1 /* animateg.cpp */; }; - 4788F736CD9C324E8A3DFA74 /* LexEScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 58EFF24DE2E737CA8A164F5C /* LexEScript.cxx */; }; - 4788F736CD9C324E8A3DFA75 /* LexEScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 58EFF24DE2E737CA8A164F5C /* LexEScript.cxx */; }; - 47EBBB18BDB539C2A948C711 /* chm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E24C6F2A04E30EB95598305 /* chm.cpp */; }; - 47EBBB18BDB539C2A948C712 /* chm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E24C6F2A04E30EB95598305 /* chm.cpp */; }; - 47F4FC8717AF3A848812DFCC /* xh_radbt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5AACC1EC2E2A33B3ABF5EDCA /* xh_radbt.cpp */; }; - 47F4FC8717AF3A848812DFCD /* xh_radbt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5AACC1EC2E2A33B3ABF5EDCA /* xh_radbt.cpp */; }; - 48A1F28E04603A68A1E70318 /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = A0DCC5EF59143640BE13AD73 /* jidctfst.c */; }; - 48A1F28E04603A68A1E70319 /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = A0DCC5EF59143640BE13AD73 /* jidctfst.c */; }; - 49260580A7F23B569A827D3F /* filefn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58421C141C9E31C6A7A3C183 /* filefn.cpp */; }; - 49260580A7F23B569A827D40 /* filefn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58421C141C9E31C6A7A3C183 /* filefn.cpp */; }; - 4958BD2E717A3F03AB030188 /* tbarbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3F32C01D122301AB00D06A5 /* tbarbase.cpp */; }; - 4958BD2E717A3F03AB030189 /* tbarbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3F32C01D122301AB00D06A5 /* tbarbase.cpp */; }; - 49BEDFBC3661339D90EF6935 /* LexTCL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C0929D5DDFE337329FA8C6BC /* LexTCL.cxx */; }; - 49BEDFBC3661339D90EF6936 /* LexTCL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C0929D5DDFE337329FA8C6BC /* LexTCL.cxx */; }; - 49C873EE448C3CD9A32012CD /* spinctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8FAA77ADAB7833648DA5D079 /* spinctrlcmn.cpp */; }; - 49C873EE448C3CD9A32012CE /* spinctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8FAA77ADAB7833648DA5D079 /* spinctrlcmn.cpp */; }; - 49FE0228D8FD3F7AB64A4432 /* bmpbuttn_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38EF5FC5934C34D599FD6074 /* bmpbuttn_osx.cpp */; }; - 49FE0228D8FD3F7AB64A4433 /* bmpbuttn_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38EF5FC5934C34D599FD6074 /* bmpbuttn_osx.cpp */; }; - 4AEC67BF65B039D99F421666 /* statbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C87B071E3593A889704F512 /* statbar.cpp */; }; - 4AEC67BF65B039D99F421667 /* statbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C87B071E3593A889704F512 /* statbar.cpp */; }; - 4B88254FF9963833A276A64C /* snglinst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D5D8B68EA743F6E97ADF612 /* snglinst.cpp */; }; - 4B88254FF9963833A276A64D /* snglinst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D5D8B68EA743F6E97ADF612 /* snglinst.cpp */; }; - 4B996B4C54163D7091427DB5 /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = BAD4614CABC934D6AFF8D9CD /* gzread.c */; }; - 4B996B4C54163D7091427DB6 /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = BAD4614CABC934D6AFF8D9CD /* gzread.c */; }; - 4BAFAE70A6B1313B96D86630 /* page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59ED0C057D8F388A89DC7177 /* page.cpp */; }; - 4BAFAE70A6B1313B96D86631 /* page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59ED0C057D8F388A89DC7177 /* page.cpp */; }; - 4C9BA36123E43589956864C6 /* Style.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C28429A964C337A192D76CC8 /* Style.cxx */; }; - 4C9BA36123E43589956864C7 /* Style.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C28429A964C337A192D76CC8 /* Style.cxx */; }; - 4CB3626391CE34D4B1F71AA0 /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = DECAF5DD80383A2CA76EB383 /* jdatasrc.c */; }; - 4CB3626391CE34D4B1F71AA1 /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = DECAF5DD80383A2CA76EB383 /* jdatasrc.c */; }; - 4CF9BA40653C3153805D88AB /* arcfind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C513377E9E303F778BA9D7ED /* arcfind.cpp */; }; - 4CF9BA40653C3153805D88AC /* arcfind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C513377E9E303F778BA9D7ED /* arcfind.cpp */; }; - 4CFB7E6E5BD53E2BB39BEF63 /* m_style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EB95BCFA255323183A996C9 /* m_style.cpp */; }; - 4CFB7E6E5BD53E2BB39BEF64 /* m_style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EB95BCFA255323183A996C9 /* m_style.cpp */; }; - 4D0BA8B9F72C3C31BC170CE2 /* progdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEA102FF0FFC33DEAEF2FE14 /* progdlgg.cpp */; }; - 4D0BA8B9F72C3C31BC170CE3 /* progdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEA102FF0FFC33DEAEF2FE14 /* progdlgg.cpp */; }; - 4DA209AEF4AD32AAB97F9718 /* htmlcell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E5188DB6003C35A8C7754D /* htmlcell.cpp */; }; - 4DA209AEF4AD32AAB97F9719 /* htmlcell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E5188DB6003C35A8C7754D /* htmlcell.cpp */; }; - 4DD98A9436C83CF3B9425A78 /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; - 4DD98A9436C83CF3B9425A79 /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; - 4E140367282F38C8A904A005 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; - 4E2737AC738431EB9898B8B6 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; - 4E2737AC738431EB9898B8B7 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; - 4E396D8D2E9138D797F320C6 /* tif_aux.c in Sources */ = {isa = PBXBuildFile; fileRef = D0CDADAF2D893E32A38351E4 /* tif_aux.c */; }; - 4E396D8D2E9138D797F320C7 /* tif_aux.c in Sources */ = {isa = PBXBuildFile; fileRef = D0CDADAF2D893E32A38351E4 /* tif_aux.c */; }; - 502D7B786EAE383B9546F31F /* LexRust.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 24BD2EF635673E819B8406CB /* LexRust.cxx */; }; - 502D7B786EAE383B9546F320 /* LexRust.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 24BD2EF635673E819B8406CB /* LexRust.cxx */; }; - 50D7E093424138C88BB50D27 /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 53D06E47477B3E32BB6B915E /* jcsample.c */; }; - 50D7E093424138C88BB50D28 /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 53D06E47477B3E32BB6B915E /* jcsample.c */; }; - 50E89226E8D7390D9D21C809 /* debugrpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63F15C5B895F38028FE5D0A5 /* debugrpt.cpp */; }; - 50E89226E8D7390D9D21C80A /* debugrpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63F15C5B895F38028FE5D0A5 /* debugrpt.cpp */; }; - 5116CE330E333724A66982E3 /* rearrangectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 972BC9B2B0D438EFB12BCE1E /* rearrangectrl.cpp */; }; - 5116CE330E333724A66982E4 /* rearrangectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 972BC9B2B0D438EFB12BCE1E /* rearrangectrl.cpp */; }; - 51437DC2AD7B3BEB9A53CE1A /* cmdline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBE1C531185131A89EFF7FAF /* cmdline.cpp */; }; - 51437DC2AD7B3BEB9A53CE1B /* cmdline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBE1C531185131A89EFF7FAF /* cmdline.cpp */; }; - 51D133EC44F830588FEEAEC0 /* LexHaskell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 10EADF7E7DC032CA8522C1F8 /* LexHaskell.cxx */; }; - 51D133EC44F830588FEEAEC1 /* LexHaskell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 10EADF7E7DC032CA8522C1F8 /* LexHaskell.cxx */; }; - 522E6CF2A62F34259BCE2DE2 /* tif_flush.c in Sources */ = {isa = PBXBuildFile; fileRef = 305614D19CF23CB2B14A5B2E /* tif_flush.c */; }; - 522E6CF2A62F34259BCE2DE3 /* tif_flush.c in Sources */ = {isa = PBXBuildFile; fileRef = 305614D19CF23CB2B14A5B2E /* tif_flush.c */; }; - 523FB2A8435A3324A8E1B370 /* PerLine.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9389DAF8B91030B7AAB029FF /* PerLine.cxx */; }; - 523FB2A8435A3324A8E1B371 /* PerLine.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9389DAF8B91030B7AAB029FF /* PerLine.cxx */; }; - 527054445A0D3A00A5C2EC44 /* tif_thunder.c in Sources */ = {isa = PBXBuildFile; fileRef = 68BEC0AB8A933CF2B5ACA149 /* tif_thunder.c */; }; - 527054445A0D3A00A5C2EC45 /* tif_thunder.c in Sources */ = {isa = PBXBuildFile; fileRef = 68BEC0AB8A933CF2B5ACA149 /* tif_thunder.c */; }; - 52C0984A2A4F31BC885519B0 /* xtistrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDAEFCE0ED9D30DA94340A3B /* xtistrm.cpp */; }; - 52C0984A2A4F31BC885519B1 /* xtistrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDAEFCE0ED9D30DA94340A3B /* xtistrm.cpp */; }; - 5388468A6F8F3141B25CD400 /* treebkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7925E38823563BCDB5565DCF /* treebkg.cpp */; }; - 5388468A6F8F3141B25CD401 /* treebkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7925E38823563BCDB5565DCF /* treebkg.cpp */; }; - 539B586AEAD630A79FC12ECF /* sstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F46EC1508C063C8395CE7A95 /* sstream.cpp */; }; - 539B586AEAD630A79FC12ED0 /* sstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F46EC1508C063C8395CE7A95 /* sstream.cpp */; }; - 5417332FE2DB3CD3A647B15D /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BF1F491B8A8376E8E2E8182 /* cursor.cpp */; }; - 5417332FE2DB3CD3A647B15E /* cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0BF1F491B8A8376E8E2E8182 /* cursor.cpp */; }; - 54A89D04FF953D55AE8DCCF0 /* dynarray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACC61BA84C6C33D4BCA403ED /* dynarray.cpp */; }; - 54A89D04FF953D55AE8DCCF1 /* dynarray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACC61BA84C6C33D4BCA403ED /* dynarray.cpp */; }; - 5519BA1F2463308FAC4A0C9F /* LexAVS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 57E4784E521339BEB971D81D /* LexAVS.cxx */; }; - 5519BA1F2463308FAC4A0CA0 /* LexAVS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 57E4784E521339BEB971D81D /* LexAVS.cxx */; }; - 551BF168445E3D7BB54D0174 /* LexPS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = EDB48813110636DBA045BF3A /* LexPS.cxx */; }; - 551BF168445E3D7BB54D0175 /* LexPS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = EDB48813110636DBA045BF3A /* LexPS.cxx */; }; - 552708E6296D33EBB5F6A493 /* tif_swab.c in Sources */ = {isa = PBXBuildFile; fileRef = AAC12B4456E13F57BEA25A5E /* tif_swab.c */; }; - 552708E6296D33EBB5F6A494 /* tif_swab.c in Sources */ = {isa = PBXBuildFile; fileRef = AAC12B4456E13F57BEA25A5E /* tif_swab.c */; }; - 5557AA36FBCC3ED9A5F5751A /* editlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D90D14874FD38079835AF0B /* editlbox.cpp */; }; - 5557AA36FBCC3ED9A5F5751B /* editlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D90D14874FD38079835AF0B /* editlbox.cpp */; }; - 5568A53DA84E3B498D606506 /* taskbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BACF6FE87AD337729BBB72BD /* taskbar.cpp */; }; - 5568A53DA84E3B498D606507 /* taskbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BACF6FE87AD337729BBB72BD /* taskbar.cpp */; }; - 55D893FDD00633FEA82ABD81 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A34C5BBBA543DC0A50DE1B6 /* event.cpp */; }; - 55D893FDD00633FEA82ABD82 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A34C5BBBA543DC0A50DE1B6 /* event.cpp */; }; - 55E03D705E9C39EFA3EE3E25 /* listbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABA5F3C56C8C37809F696A49 /* listbox.cpp */; }; - 55E03D705E9C39EFA3EE3E26 /* listbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABA5F3C56C8C37809F696A49 /* listbox.cpp */; }; - 55F0D287F60F3EDEA16CCB64 /* stringimpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5357E76650035639844D15B /* stringimpl.cpp */; }; - 55F0D287F60F3EDEA16CCB65 /* stringimpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5357E76650035639844D15B /* stringimpl.cpp */; }; - 567A32722BA33AEE9FF93D7C /* fs_inet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B7581D7140293BAE88E43DBE /* fs_inet.cpp */; }; - 567A32722BA33AEE9FF93D7D /* fs_inet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B7581D7140293BAE88E43DBE /* fs_inet.cpp */; }; - 570FA90F526E3F25A8E8FCF2 /* tif_read.c in Sources */ = {isa = PBXBuildFile; fileRef = 64B25B87203E3464BCDD277D /* tif_read.c */; }; - 570FA90F526E3F25A8E8FCF3 /* tif_read.c in Sources */ = {isa = PBXBuildFile; fileRef = 64B25B87203E3464BCDD277D /* tif_read.c */; }; - 5792675690843C6AA4125A72 /* font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77F5E7BCD9B2307D8DBCC052 /* font.cpp */; }; - 5792675690843C6AA4125A73 /* font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77F5E7BCD9B2307D8DBCC052 /* font.cpp */; }; - 57AE7FCF768F3965BD39B47A /* m_span.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 727F25F832AD32D4B12D8E39 /* m_span.cpp */; }; - 57AE7FCF768F3965BD39B47B /* m_span.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 727F25F832AD32D4B12D8E39 /* m_span.cpp */; }; - 57DDBAE7E4413A3C9DCC9EE3 /* srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8A72557C5B13F16A59980EF /* srchctrl.cpp */; }; - 57DDBAE7E4413A3C9DCC9EE4 /* srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8A72557C5B13F16A59980EF /* srchctrl.cpp */; }; - 595DCB164D55342EB86604EC /* hashmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A6636144CDE83E8E85270FAF /* hashmap.cpp */; }; - 595DCB164D55342EB86604ED /* hashmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A6636144CDE83E8E85270FAF /* hashmap.cpp */; }; - 59BFB8C8310E37B39AF8B0D4 /* any.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4867546E8B8D3C8683A23ED5 /* any.cpp */; }; - 59BFB8C8310E37B39AF8B0D5 /* any.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4867546E8B8D3C8683A23ED5 /* any.cpp */; }; - 5A459FC1180130C5B705AEDA /* xh_ribbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6A37A02D28E30CD9B83E134 /* xh_ribbon.cpp */; }; - 5A459FC1180130C5B705AEDB /* xh_ribbon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6A37A02D28E30CD9B83E134 /* xh_ribbon.cpp */; }; - 5A8638C234133824BDF93BBF /* gbsizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2FEBCEED2D33CFAAF75206 /* gbsizer.cpp */; }; - 5A8638C234133824BDF93BC0 /* gbsizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2FEBCEED2D33CFAAF75206 /* gbsizer.cpp */; }; - 5AEA6E94FB76371D928D371C /* LexMatlab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC9153A350893820B942D37E /* LexMatlab.cxx */; }; - 5AEA6E94FB76371D928D371D /* LexMatlab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC9153A350893820B942D37E /* LexMatlab.cxx */; }; - 5B5B8DF915D438AA9FCEB39E /* imagall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8FFDFB4D208F37569AC548B0 /* imagall.cpp */; }; - 5B5B8DF915D438AA9FCEB39F /* imagall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8FFDFB4D208F37569AC548B0 /* imagall.cpp */; }; - 5C3B0ED2EA973DFDBFBCC692 /* richtextctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDEC1C66E6E83C69AF2732DB /* richtextctrl.cpp */; }; - 5C3B0ED2EA973DFDBFBCC693 /* richtextctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDEC1C66E6E83C69AF2732DB /* richtextctrl.cpp */; }; - 5C44446AB150378696CD6B3C /* bmpcboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8CF560E06F2A3B6088203D09 /* bmpcboxcmn.cpp */; }; - 5C44446AB150378696CD6B3D /* bmpcboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8CF560E06F2A3B6088203D09 /* bmpcboxcmn.cpp */; }; - 5C5D0983160A36189A770742 /* webviewarchivehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70112AB00E013A35BE974FF1 /* webviewarchivehandler.cpp */; }; - 5C5D0983160A36189A770743 /* webviewarchivehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70112AB00E013A35BE974FF1 /* webviewarchivehandler.cpp */; }; - 5EE94793DFCB3BA281A4864E /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = FDB0E2D0966C3E408C4A2D3D /* infback.c */; }; - 5EE94793DFCB3BA281A4864F /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = FDB0E2D0966C3E408C4A2D3D /* infback.c */; }; - 5F2C2A46781739D897CF293D /* xh_chckl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA3F8832890138E9AB6E65D8 /* xh_chckl.cpp */; }; - 5F2C2A46781739D897CF293E /* xh_chckl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA3F8832890138E9AB6E65D8 /* xh_chckl.cpp */; }; - 5F57C4908E5038D19D68ED7A /* gallery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F1C1EB5C0B3302C86D91315 /* gallery.cpp */; }; - 5F57C4908E5038D19D68ED7B /* gallery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F1C1EB5C0B3302C86D91315 /* gallery.cpp */; }; - 5F6B4F226B473AACB7AC8DF5 /* xh_slidr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38E0F60AE1F83633A0CC18FC /* xh_slidr.cpp */; }; - 5F6B4F226B473AACB7AC8DF6 /* xh_slidr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38E0F60AE1F83633A0CC18FC /* xh_slidr.cpp */; }; - 5F78DB0417BF3CE1B4E35C7F /* stackwalk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA2520F427493A22A70A5C09 /* stackwalk.cpp */; }; - 5F78DB0417BF3CE1B4E35C80 /* stackwalk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA2520F427493A22A70A5C09 /* stackwalk.cpp */; }; - 5FE969523BDB3353AEF96810 /* xh_filepicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C8CEE782CD236A5A9999724 /* xh_filepicker.cpp */; }; - 5FE969523BDB3353AEF96811 /* xh_filepicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C8CEE782CD236A5A9999724 /* xh_filepicker.cpp */; }; - 604ABF86317C3D4F899DBF37 /* richtextsymboldlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB3FF9FECCB5300A9561CE36 /* richtextsymboldlg.cpp */; }; - 604ABF86317C3D4F899DBF38 /* richtextsymboldlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB3FF9FECCB5300A9561CE36 /* richtextsymboldlg.cpp */; }; - 60706F8836A130A2AF282FE1 /* fontutilcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E00E14795F23A8392713A26 /* fontutilcmn.cpp */; }; - 60706F8836A130A2AF282FE2 /* fontutilcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E00E14795F23A8392713A26 /* fontutilcmn.cpp */; }; - 6138BCBC8E4438FA91E0EF9F /* xh_chckb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB7DBBD53BA837D2B01CE2B6 /* xh_chckb.cpp */; }; - 6138BCBC8E4438FA91E0EFA0 /* xh_chckb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB7DBBD53BA837D2B01CE2B6 /* xh_chckb.cpp */; }; - 6167245C417A32179EC37D2D /* textfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0903EE9B3793303285FF96E3 /* textfile.cpp */; }; - 6167245C417A32179EC37D2E /* textfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0903EE9B3793303285FF96E3 /* textfile.cpp */; }; - 61A2B54FD2E33C759CF5A5E8 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 358D0A3AC73F322EA732D020 /* pngrutil.c */; }; - 61A2B54FD2E33C759CF5A5E9 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 358D0A3AC73F322EA732D020 /* pngrutil.c */; }; - 61C3F7D495FB3E8BA402E4F8 /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 20E4A10BCD773C84AEC481A1 /* jdmarker.c */; }; - 61C3F7D495FB3E8BA402E4F9 /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 20E4A10BCD773C84AEC481A1 /* jdmarker.c */; }; - 61FD5E0E28F732E8AB1729F8 /* xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6AB648BC5173104A96CAE66 /* xml.cpp */; }; - 61FD5E0E28F732E8AB1729F9 /* xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6AB648BC5173104A96CAE66 /* xml.cpp */; }; - 61FEDBF2D47A3B4E861F8296 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2ACC8667173D3AB09F6214F4 /* sound.cpp */; }; - 61FEDBF2D47A3B4E861F8297 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2ACC8667173D3AB09F6214F4 /* sound.cpp */; }; - 62331487C17B32E081B8FEA7 /* LexLaTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E72F0A2EE3DB34E193D8CCA7 /* LexLaTeX.cxx */; }; - 62331487C17B32E081B8FEA8 /* LexLaTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E72F0A2EE3DB34E193D8CCA7 /* LexLaTeX.cxx */; }; - 62757F24C4EE3B84B6AE3F14 /* textdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8D529E2668C23D94A7706C8A /* textdlgg.cpp */; }; - 62757F24C4EE3B84B6AE3F15 /* textdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8D529E2668C23D94A7706C8A /* textdlgg.cpp */; }; - 6292B023DBF4337A91404AD0 /* preferencescmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A046179831F63824A67B509B /* preferencescmn.cpp */; }; - 6292B023DBF4337A91404AD1 /* preferencescmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A046179831F63824A67B509B /* preferencescmn.cpp */; }; - 62F1DC80D631335B892610A8 /* splitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C125FA3837C631A9BE0ED5E7 /* splitter.cpp */; }; - 62F1DC80D631335B892610A9 /* splitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C125FA3837C631A9BE0ED5E7 /* splitter.cpp */; }; - 633DD2E870263F42A8DBF9BF /* markuptext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4FC6F0AB2AC34D2B26F8ED8 /* markuptext.cpp */; }; - 633DD2E870263F42A8DBF9C0 /* markuptext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4FC6F0AB2AC34D2B26F8ED8 /* markuptext.cpp */; }; - 63C8D23DD8AB32FE906B669B /* gauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BFAF243431D3CA2AA51ADF2 /* gauge.cpp */; }; - 63C8D23DD8AB32FE906B669C /* gauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BFAF243431D3CA2AA51ADF2 /* gauge.cpp */; }; - 63F0C8EEDF4B3641878A8B4D /* dlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9051902662BE38B3912B34EA /* dlgcmn.cpp */; }; - 63F0C8EEDF4B3641878A8B4E /* dlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9051902662BE38B3912B34EA /* dlgcmn.cpp */; }; - 63F2517EC6B2334CA825A6F9 /* layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEB08798C70E33DDB360E563 /* layout.cpp */; }; - 63F2517EC6B2334CA825A6FA /* layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEB08798C70E33DDB360E563 /* layout.cpp */; }; - 64A716F87A5136F9A790EC5A /* webview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DA80913C0E33144A42BD30F /* webview.cpp */; }; - 64A716F87A5136F9A790EC5B /* webview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0DA80913C0E33144A42BD30F /* webview.cpp */; }; - 64DD406C453D39FEBBE66ED1 /* tif_pixarlog.c in Sources */ = {isa = PBXBuildFile; fileRef = 4071FF90F1D4336C836B2AE4 /* tif_pixarlog.c */; }; - 64DD406C453D39FEBBE66ED2 /* tif_pixarlog.c in Sources */ = {isa = PBXBuildFile; fileRef = 4071FF90F1D4336C836B2AE4 /* tif_pixarlog.c */; }; - 64F11C549E3035DF85691060 /* tif_ojpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 1FBC6F8B4CA63A0081D6F34A /* tif_ojpeg.c */; }; - 64F11C549E3035DF85691061 /* tif_ojpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = 1FBC6F8B4CA63A0081D6F34A /* tif_ojpeg.c */; }; - 652CFDD9A1C1366E99B5D6BC /* socketiohandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDE22D7DDAC93DCABAE5AED0 /* socketiohandler.cpp */; }; - 652CFDD9A1C1366E99B5D6BD /* socketiohandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDE22D7DDAC93DCABAE5AED0 /* socketiohandler.cpp */; }; - 65514CD6A9F23ED98436AC02 /* ftp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB4781DF8C432C688F30CDD /* ftp.cpp */; }; - 65514CD6A9F23ED98436AC03 /* ftp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB4781DF8C432C688F30CDD /* ftp.cpp */; }; - 65E8A5F333D7336C816F0D0C /* variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31F4B9B03D52339B8F82C114 /* variant.cpp */; }; - 65E8A5F333D7336C816F0D0D /* variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31F4B9B03D52339B8F82C114 /* variant.cpp */; }; - 65FCDBFFF3F138A3ABBAA650 /* xh_menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3078CDAEB863CFD84EDD3BB /* xh_menu.cpp */; }; - 65FCDBFFF3F138A3ABBAA651 /* xh_menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3078CDAEB863CFD84EDD3BB /* xh_menu.cpp */; }; - 664A54F914443110B7BB6928 /* tglbtn_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B7308D9C4BA39F19223C82C /* tglbtn_osx.cpp */; }; - 664A54F914443110B7BB6929 /* tglbtn_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B7308D9C4BA39F19223C82C /* tglbtn_osx.cpp */; }; - 66584BC871303041BA622DE0 /* m_fonts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1F3C70512D93501B0478F3E /* m_fonts.cpp */; }; - 66584BC871303041BA622DE1 /* m_fonts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1F3C70512D93501B0478F3E /* m_fonts.cpp */; }; - 66ED6552F94F3770BB934E2F /* statlmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4148D62D50863214B8479E60 /* statlmac.cpp */; }; - 66ED6552F94F3770BB934E30 /* statlmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4148D62D50863214B8479E60 /* statlmac.cpp */; }; - 66FD099CE5A338C18329FC36 /* LexAbaqus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD72950967F33809931D4968 /* LexAbaqus.cxx */; }; - 66FD099CE5A338C18329FC37 /* LexAbaqus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD72950967F33809931D4968 /* LexAbaqus.cxx */; }; - 67EBCE5FA5FF36349ADF0916 /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 1EF327CE8D7E3C11BFC6BD74 /* jdapistd.c */; }; - 67EBCE5FA5FF36349ADF0917 /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 1EF327CE8D7E3C11BFC6BD74 /* jdapistd.c */; }; - 682403FBBD4E3D5E88159501 /* CellBuffer.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E860DD54EEBF3119961B7BB1 /* CellBuffer.cxx */; }; - 682403FBBD4E3D5E88159502 /* CellBuffer.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E860DD54EEBF3119961B7BB1 /* CellBuffer.cxx */; }; - 6832385DDBB33D1B90C73CBA /* renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 425BFA3FDB7D3EA7ADCE1087 /* renderer.cpp */; }; - 6832385DDBB33D1B90C73CBB /* renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 425BFA3FDB7D3EA7ADCE1087 /* renderer.cpp */; }; - 68AC8860B0943C1FAF76D96B /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 552757A901E732CAA8E3F16D /* list.cpp */; }; - 68AC8860B0943C1FAF76D96C /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 552757A901E732CAA8E3F16D /* list.cpp */; }; - 692FCCABFB963696AFC1E122 /* gdiobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 377056CEB1FC3EEB8526E7A6 /* gdiobj.cpp */; }; - 692FCCABFB963696AFC1E123 /* gdiobj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 377056CEB1FC3EEB8526E7A6 /* gdiobj.cpp */; }; - 6944AC98F6F83E3D983DABD3 /* tif_getimage.c in Sources */ = {isa = PBXBuildFile; fileRef = 3D82E7D38BB43BB886E2BFA0 /* tif_getimage.c */; }; - 6944AC98F6F83E3D983DABD4 /* tif_getimage.c in Sources */ = {isa = PBXBuildFile; fileRef = 3D82E7D38BB43BB886E2BFA0 /* tif_getimage.c */; }; - 6978D7A20DA93A329DDD1383 /* socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40CE02524DD4385AB2C3DF95 /* socket.cpp */; }; - 6978D7A20DA93A329DDD1384 /* socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40CE02524DD4385AB2C3DF95 /* socket.cpp */; }; - 697FC496816F33568E1FB5A5 /* LexTCMD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1CABAEA3B48333CB88B40F08 /* LexTCMD.cxx */; }; - 697FC496816F33568E1FB5A6 /* LexTCMD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1CABAEA3B48333CB88B40F08 /* LexTCMD.cxx */; }; - 699D88EE2DAA3594B6606890 /* ViewStyle.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C133B838193A35ABBB803151 /* ViewStyle.cxx */; }; - 699D88EE2DAA3594B6606891 /* ViewStyle.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C133B838193A35ABBB803151 /* ViewStyle.cxx */; }; - 69A19836B4DC39918A74B12C /* spinbutt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A05AEAB07C613BE2A0357BD8 /* spinbutt.cpp */; }; - 69A19836B4DC39918A74B12D /* spinbutt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A05AEAB07C613BE2A0357BD8 /* spinbutt.cpp */; }; - 6A032420671B375D81273714 /* valnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 684D92E552BE313CBE0A88AA /* valnum.cpp */; }; - 6A032420671B375D81273715 /* valnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 684D92E552BE313CBE0A88AA /* valnum.cpp */; }; - 6A081BF19747385CB4C1877F /* radiobut_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FFCB72168FD31DE86A1B674 /* radiobut_osx.cpp */; }; - 6A081BF19747385CB4C18780 /* radiobut_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FFCB72168FD31DE86A1B674 /* radiobut_osx.cpp */; }; - 6A10511265493FA2BB79CE4D /* propdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BC93D1DE277395592610085 /* propdlg.cpp */; }; - 6A10511265493FA2BB79CE4E /* propdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BC93D1DE277395592610085 /* propdlg.cpp */; }; - 6AA0EE765330326380989FD1 /* stopwatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F4F0113872C39FB9D10E411 /* stopwatch.cpp */; }; - 6AA0EE765330326380989FD2 /* stopwatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F4F0113872C39FB9D10E411 /* stopwatch.cpp */; }; - 6AC347D2DCC730149A0A83D8 /* button_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF4F4F5211933057824B5621 /* button_osx.cpp */; }; - 6AC347D2DCC730149A0A83D9 /* button_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF4F4F5211933057824B5621 /* button_osx.cpp */; }; - 6B9EEA3CF2E536E3B1ADAC42 /* manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBED392D081335FA80523244 /* manager.cpp */; }; - 6B9EEA3CF2E536E3B1ADAC43 /* manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBED392D081335FA80523244 /* manager.cpp */; }; - 6BC8B3EDB3AE3EF4BACFC08A /* ContractionState.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5219A792C6A736F193D4A82F /* ContractionState.cxx */; }; - 6BC8B3EDB3AE3EF4BACFC08B /* ContractionState.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5219A792C6A736F193D4A82F /* ContractionState.cxx */; }; - 6BF19C7CA9E93D989C210FE3 /* dseldlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1197B997B1D139C5AE4D198A /* dseldlg.cpp */; }; - 6BF19C7CA9E93D989C210FE4 /* dseldlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1197B997B1D139C5AE4D198A /* dseldlg.cpp */; }; - 6C46AF0370793AA0B74A5A4A /* tabmdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */; }; - 6C46AF0370793AA0B74A5A4B /* tabmdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */; }; - 6C7C1CC506CB329FB2D086A9 /* LexBasic.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B6AADC1056E03A3B80C20C5B /* LexBasic.cxx */; }; - 6C7C1CC506CB329FB2D086AA /* LexBasic.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B6AADC1056E03A3B80C20C5B /* LexBasic.cxx */; }; - 6C80B6049A523836BCD20BCA /* WordList.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0E7BF9256DF533EBAE2B945E /* WordList.cxx */; }; - 6C80B6049A523836BCD20BCB /* WordList.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0E7BF9256DF533EBAE2B945E /* WordList.cxx */; }; - 6C822F7F313734DCB51F44B9 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81A30C745CA73E30B788B408 /* image.cpp */; }; - 6C822F7F313734DCB51F44BA /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81A30C745CA73E30B788B408 /* image.cpp */; }; - 6CA1BAEBBDB4336E9E201F95 /* protocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B389A14D6BF3AFD8CCE0807 /* protocol.cpp */; }; - 6CA1BAEBBDB4336E9E201F96 /* protocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B389A14D6BF3AFD8CCE0807 /* protocol.cpp */; }; - 6D073876E1753549B5EEFDDA /* tif_compress.c in Sources */ = {isa = PBXBuildFile; fileRef = CA0D5D47D62A3148BA51B31B /* tif_compress.c */; }; - 6D073876E1753549B5EEFDDB /* tif_compress.c in Sources */ = {isa = PBXBuildFile; fileRef = CA0D5D47D62A3148BA51B31B /* tif_compress.c */; }; - 6D723C987BFB39B7B887DCB1 /* Editor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DA5E95D498C53A808A8E2EEB /* Editor.cxx */; }; - 6D723C987BFB39B7B887DCB2 /* Editor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DA5E95D498C53A808A8E2EEB /* Editor.cxx */; }; - 6E2C2E8AA1713ADE9C338379 /* tif_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 726C0457DF1232C793918DC1 /* tif_zip.c */; }; - 6E2C2E8AA1713ADE9C33837A /* tif_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 726C0457DF1232C793918DC1 /* tif_zip.c */; }; - 6E68759BC2E63CA59C12FDC0 /* popupcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D922063B2F2536629EEEAAF0 /* popupcmn.cpp */; }; - 6E68759BC2E63CA59C12FDC1 /* popupcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D922063B2F2536629EEEAAF0 /* popupcmn.cpp */; }; - 6EC32E5F03DF3EC9852474DF /* statbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 32B2BC8A91983DDA9CC46793 /* statbox.cpp */; }; - 6EC32E5F03DF3EC9852474E0 /* statbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 32B2BC8A91983DDA9CC46793 /* statbox.cpp */; }; - 6F0605F3A4E83BF0BF4C8B7E /* cmdproc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A5FF9CED1FE36069FDBF636 /* cmdproc.cpp */; }; - 6F0605F3A4E83BF0BF4C8B7F /* cmdproc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A5FF9CED1FE36069FDBF636 /* cmdproc.cpp */; }; - 6F472413FFA03B53B395BB74 /* LexCLW.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7EE2459D69BA35838C274488 /* LexCLW.cxx */; }; - 6F472413FFA03B53B395BB75 /* LexCLW.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7EE2459D69BA35838C274488 /* LexCLW.cxx */; }; - 6F5A0D3C7763334396A3783D /* LexCmake.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7AF8F8A78A5130DCB4D46729 /* LexCmake.cxx */; }; - 6F5A0D3C7763334396A3783E /* LexCmake.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7AF8F8A78A5130DCB4D46729 /* LexCmake.cxx */; }; - 6F8129E317EE3486A89D8548 /* LexSpecman.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */; }; - 6F8129E317EE3486A89D8549 /* LexSpecman.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */; }; - 6FA47EAACE613B039B6EC261 /* containr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3645350F572364BABF50238 /* containr.cpp */; }; - 6FA47EAACE613B039B6EC262 /* containr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3645350F572364BABF50238 /* containr.cpp */; }; - 700BBDECBE313E108BA99ABD /* toplvcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861438BD294335D4B859EA71 /* toplvcmn.cpp */; }; - 700BBDECBE313E108BA99ABE /* toplvcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861438BD294335D4B859EA71 /* toplvcmn.cpp */; }; - 702616D38A5B345D9CC87114 /* xh_bannerwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3116006345D833509865FF7F /* xh_bannerwindow.cpp */; }; - 702616D38A5B345D9CC87115 /* xh_bannerwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3116006345D833509865FF7F /* xh_bannerwindow.cpp */; }; - 70F898F8B129380BBECAC559 /* richtexthtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7969963AA93537FCA4F54DA7 /* richtexthtml.cpp */; }; - 70F898F8B129380BBECAC55A /* richtexthtml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7969963AA93537FCA4F54DA7 /* richtexthtml.cpp */; }; - 7181709A030D3749AB355B74 /* xh_radbx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F43AF44465B335479752116D /* xh_radbx.cpp */; }; - 7181709A030D3749AB355B75 /* xh_radbx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F43AF44465B335479752116D /* xh_radbx.cpp */; }; - 71CCB06E790C3C54BFF1199D /* LexSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2B1A318636A134DB93C0BA45 /* LexSQL.cxx */; }; - 71CCB06E790C3C54BFF1199E /* LexSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2B1A318636A134DB93C0BA45 /* LexSQL.cxx */; }; - 729091CC33C73C989B4E0719 /* timerimpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0401B7302088357BB6B7F16F /* timerimpl.cpp */; }; - 729091CC33C73C989B4E071A /* timerimpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0401B7302088357BB6B7F16F /* timerimpl.cpp */; }; - 72AD4417FF7C3094BB1FF62C /* xh_grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B77251C0E0382D9A8E113D /* xh_grid.cpp */; }; - 72AD4417FF7C3094BB1FF62D /* xh_grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B77251C0E0382D9A8E113D /* xh_grid.cpp */; }; - 73AA68AB9F1236ED9F1FBB2E /* metafile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2BB2949CC0B387AB6879539 /* metafile.cpp */; }; - 73AA68AB9F1236ED9F1FBB2F /* metafile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2BB2949CC0B387AB6879539 /* metafile.cpp */; }; - 743BB23211B336A6A0F26E57 /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = F83172EE2DAE352FB969D4F2 /* jcapistd.c */; }; - 743BB23211B336A6A0F26E58 /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = F83172EE2DAE352FB969D4F2 /* jcapistd.c */; }; - 745C39E90E8C3C08A887B51C /* msgdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CB6A4171D4343BB0A9858A /* msgdlgg.cpp */; }; - 745C39E90E8C3C08A887B51D /* msgdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CB6A4171D4343BB0A9858A /* msgdlgg.cpp */; }; - 7569F0BC3C603EB19168088F /* collpaneg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84758329F2163F00A9C005DF /* collpaneg.cpp */; }; - 7569F0BC3C603EB191680890 /* collpaneg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84758329F2163F00A9C005DF /* collpaneg.cpp */; }; - 758629DA468A3EF7B1C15241 /* gifdecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16FE98EC26223BF0A78AB2EE /* gifdecod.cpp */; }; - 758629DA468A3EF7B1C15242 /* gifdecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 16FE98EC26223BF0A78AB2EE /* gifdecod.cpp */; }; - 75DCE6FF00E93C5D93970842 /* arttango.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9988CBB0772A3539970162FA /* arttango.cpp */; }; - 75DCE6FF00E93C5D93970843 /* arttango.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9988CBB0772A3539970162FA /* arttango.cpp */; }; - 760C729E41D93CC1AA2B4E0D /* hyperlinkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CBCA90340E433DBBAE74EBE1 /* hyperlinkg.cpp */; }; - 760C729E41D93CC1AA2B4E0E /* hyperlinkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CBCA90340E433DBBAE74EBE1 /* hyperlinkg.cpp */; }; - 7625D908B2CD34C78243BA8F /* settcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE3DC4AA47D39ACA83F27C0 /* settcmn.cpp */; }; - 7625D908B2CD34C78243BA90 /* settcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE3DC4AA47D39ACA83F27C0 /* settcmn.cpp */; }; - 768716016CE7310BB1AD7567 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = 1482A34AC32133E4BE207223 /* regexec.c */; }; - 768716016CE7310BB1AD7568 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = 1482A34AC32133E4BE207223 /* regexec.c */; }; - 76A83A293C9F33BCB7DFDE26 /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = 59B19927E27F39ACB1D2BDA3 /* jdatadst.c */; }; - 76A83A293C9F33BCB7DFDE27 /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = 59B19927E27F39ACB1D2BDA3 /* jdatadst.c */; }; - 76D1A1A49CC831FFB9EBB1F5 /* LexOpal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5FDE0AC63C4639E4BFD3B582 /* LexOpal.cxx */; }; - 76D1A1A49CC831FFB9EBB1F6 /* LexOpal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5FDE0AC63C4639E4BFD3B582 /* LexOpal.cxx */; }; - 774A6D1CA57235AD9ECD5D14 /* nonownedwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95B1DB08E37B3EB193FEFE0C /* nonownedwnd.cpp */; }; - 774A6D1CA57235AD9ECD5D15 /* nonownedwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95B1DB08E37B3EB193FEFE0C /* nonownedwnd.cpp */; }; - 774A89998E09308CBFB03EE0 /* imagxpm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C85865D28DC31649440A921 /* imagxpm.cpp */; }; - 774A89998E09308CBFB03EE1 /* imagxpm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C85865D28DC31649440A921 /* imagxpm.cpp */; }; - 774EB9F3F7E93A379E1F7551 /* graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C4762898E5330C28651EE73 /* graphics.cpp */; }; - 774EB9F3F7E93A379E1F7552 /* graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C4762898E5330C28651EE73 /* graphics.cpp */; }; - 77764368190938E6A4000AE1 /* stattext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3A28411B852734BDA2C04165 /* stattext.cpp */; }; - 77764368190938E6A4000AE2 /* stattext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3A28411B852734BDA2C04165 /* stattext.cpp */; }; - 779D3480141B3683A6D132BE /* tif_lzw.c in Sources */ = {isa = PBXBuildFile; fileRef = 346C68F0CCD23823B78267F0 /* tif_lzw.c */; }; - 779D3480141B3683A6D132BF /* tif_lzw.c in Sources */ = {isa = PBXBuildFile; fileRef = 346C68F0CCD23823B78267F0 /* tif_lzw.c */; }; - 77BC918AF05C30E8A0BD27F8 /* tipdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B56A9BF7AE1E3F11A5848297 /* tipdlg.cpp */; }; - 77BC918AF05C30E8A0BD27F9 /* tipdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B56A9BF7AE1E3F11A5848297 /* tipdlg.cpp */; }; - 784F7C50882F320FA76537B5 /* LexAU3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C76222F466E831F896A89269 /* LexAU3.cxx */; }; - 784F7C50882F320FA76537B6 /* LexAU3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C76222F466E831F896A89269 /* LexAU3.cxx */; }; - 78E15D8200F635529F396099 /* LexBullant.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 6718204F4700318E89EAC906 /* LexBullant.cxx */; }; - 78E15D8200F635529F39609A /* LexBullant.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 6718204F4700318E89EAC906 /* LexBullant.cxx */; }; - 793F542F20AB31F6AF736795 /* tif_open.c in Sources */ = {isa = PBXBuildFile; fileRef = 1731A6096BFC3A468AB4755A /* tif_open.c */; }; - 793F542F20AB31F6AF736796 /* tif_open.c in Sources */ = {isa = PBXBuildFile; fileRef = 1731A6096BFC3A468AB4755A /* tif_open.c */; }; - 795613831EC8332A83FF26E7 /* string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7E99B35A98D30818120B002 /* string.cpp */; }; - 795613831EC8332A83FF26E8 /* string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7E99B35A98D30818120B002 /* string.cpp */; }; - 796311E398FF313C84218824 /* uiactioncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A87BF60D0D4A33E2AD2E1E25 /* uiactioncmn.cpp */; }; - 796311E398FF313C84218825 /* uiactioncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A87BF60D0D4A33E2AD2E1E25 /* uiactioncmn.cpp */; }; - 7A3976A4AF7836048B31F7DE /* msgdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABCA89FC1E76356797A2AF2B /* msgdlg.cpp */; }; - 7A3976A4AF7836048B31F7DF /* msgdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABCA89FC1E76356797A2AF2B /* msgdlg.cpp */; }; - 7A7439BE66AA3771B4A89048 /* regex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB46BC22F6B23909A938C561 /* regex.cpp */; }; - 7A7439BE66AA3771B4A89049 /* regex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB46BC22F6B23909A938C561 /* regex.cpp */; }; - 7A79D9AC608E3B8287229174 /* tif_warning.c in Sources */ = {isa = PBXBuildFile; fileRef = C83C97A1FCC5345896C9D7DE /* tif_warning.c */; }; - 7A79D9AC608E3B8287229175 /* tif_warning.c in Sources */ = {isa = PBXBuildFile; fileRef = C83C97A1FCC5345896C9D7DE /* tif_warning.c */; }; - 7A84B9471A3238B4B66B1776 /* nbkbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B901252876603DCEA4C66D89 /* nbkbase.cpp */; }; - 7A84B9471A3238B4B66B1777 /* nbkbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B901252876603DCEA4C66D89 /* nbkbase.cpp */; }; - 7B372FEA276438C186F7E340 /* RunStyles.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7E0DD59CA6F8337C9964F954 /* RunStyles.cxx */; }; - 7B372FEA276438C186F7E341 /* RunStyles.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7E0DD59CA6F8337C9964F954 /* RunStyles.cxx */; }; - 7B4DA2F5F25B3E188CBAFE38 /* hyperlnkcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A7D521FE5B437D7AD5F4B54 /* hyperlnkcmn.cpp */; }; - 7B4DA2F5F25B3E188CBAFE39 /* hyperlnkcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A7D521FE5B437D7AD5F4B54 /* hyperlnkcmn.cpp */; }; - 7B642B17F5D23F4F8ED38BB4 /* graphcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BB59DD194923D6399087A75 /* graphcmn.cpp */; }; - 7B642B17F5D23F4F8ED38BB5 /* graphcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BB59DD194923D6399087A75 /* graphcmn.cpp */; }; - 7C20B79175D33852A2E9DE83 /* LexRuby.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8734C52C7559310784396455 /* LexRuby.cxx */; }; - 7C20B79175D33852A2E9DE84 /* LexRuby.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8734C52C7559310784396455 /* LexRuby.cxx */; }; - 7C52E7CC12463941B0E4D402 /* statbmpcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EFC31E6FB631998E44B49C /* statbmpcmn.cpp */; }; - 7C52E7CC12463941B0E4D403 /* statbmpcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12EFC31E6FB631998E44B49C /* statbmpcmn.cpp */; }; - 7C5552FA058034238F485900 /* dbgrptg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 182C8AD4F822375495795B43 /* dbgrptg.cpp */; }; - 7C5552FA058034238F485901 /* dbgrptg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 182C8AD4F822375495795B43 /* dbgrptg.cpp */; }; - 7C87CC7641033D91823ED688 /* helpfrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82A8381819DD37DA9A3830D1 /* helpfrm.cpp */; }; - 7C87CC7641033D91823ED689 /* helpfrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82A8381819DD37DA9A3830D1 /* helpfrm.cpp */; }; - 7C9EAFF4A0223EE597E0E39E /* xh_srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD55F391CD1032DFACA88CFD /* xh_srchctrl.cpp */; }; - 7C9EAFF4A0223EE597E0E39F /* xh_srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD55F391CD1032DFACA88CFD /* xh_srchctrl.cpp */; }; - 7CC211E10D853B958250A4CE /* LexModula.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5A562F1DA7EA3B909BBB1465 /* LexModula.cxx */; }; - 7CC211E10D853B958250A4CF /* LexModula.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5A562F1DA7EA3B909BBB1465 /* LexModula.cxx */; }; - 7D0E549020D33ED39751DFC8 /* LexTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FD0C7FCA25A3312E8F2FCF3C /* LexTeX.cxx */; }; - 7D0E549020D33ED39751DFC9 /* LexTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FD0C7FCA25A3312E8F2FCF3C /* LexTeX.cxx */; }; - 7D615329368D32709CEF4B58 /* headerctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7273A7E255323EB3B391D997 /* headerctrlg.cpp */; }; - 7D615329368D32709CEF4B59 /* headerctrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7273A7E255323EB3B391D997 /* headerctrlg.cpp */; }; - 7DC4A542372437ECA0790F87 /* art_msw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B540E18F9C91381CA175BABB /* art_msw.cpp */; }; - 7DC4A542372437ECA0790F88 /* art_msw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B540E18F9C91381CA175BABB /* art_msw.cpp */; }; - 7DEC57D6CE8232A09EF74219 /* PropSetSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 41D75DF4695B361DB700D51D /* PropSetSimple.cxx */; }; - 7DEC57D6CE8232A09EF7421A /* PropSetSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 41D75DF4695B361DB700D51D /* PropSetSimple.cxx */; }; - 7E6C627A325F32FFB2EF9B9E /* caret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A82EDCFFBAC30098B238957 /* caret.cpp */; }; - 7E6C627A325F32FFB2EF9B9F /* caret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A82EDCFFBAC30098B238957 /* caret.cpp */; }; - 7ECC6EE6D5273F75BB6B7B74 /* tif_dirinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 032A38738B58394E8617617B /* tif_dirinfo.c */; }; - 7ECC6EE6D5273F75BB6B7B75 /* tif_dirinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 032A38738B58394E8617617B /* tif_dirinfo.c */; }; - 7EF89F935314301381802FAB /* filectrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2334539088B036BEAB230D1C /* filectrlg.cpp */; }; - 7EF89F935314301381802FAC /* filectrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2334539088B036BEAB230D1C /* filectrlg.cpp */; }; - 7F77E347E1243D77A666FB43 /* clipbrd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12453E271F2A3AC9969E62A4 /* clipbrd.cpp */; }; - 7F77E347E1243D77A666FB44 /* clipbrd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12453E271F2A3AC9969E62A4 /* clipbrd.cpp */; }; - 7FC3D17B3C853FE58841002D /* timercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7195E665E0F233839B967FC9 /* timercmn.cpp */; }; - 7FC3D17B3C853FE58841002E /* timercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7195E665E0F233839B967FC9 /* timercmn.cpp */; }; - 805CCAE64D023561AD334B53 /* popupwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530DC2E26BF2313E8702AD43 /* popupwin.cpp */; }; - 805CCAE64D023561AD334B54 /* popupwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530DC2E26BF2313E8702AD43 /* popupwin.cpp */; }; - 80665EEAE8613DF8A93A7984 /* utilscmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4188821BBA833CCAA678B234 /* utilscmn.cpp */; }; - 80665EEAE8613DF8A93A7985 /* utilscmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4188821BBA833CCAA678B234 /* utilscmn.cpp */; }; - 80C6D10D9A6F300995396960 /* tooltip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D90D0FA35833140A3CCCD94 /* tooltip.cpp */; }; - 80C6D10D9A6F300995396961 /* tooltip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D90D0FA35833140A3CCCD94 /* tooltip.cpp */; }; - 81B742D64BEB373DB705947A /* m_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4028ABB08C63AB59F5F240B /* m_list.cpp */; }; - 81B742D64BEB373DB705947B /* m_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4028ABB08C63AB59F5F240B /* m_list.cpp */; }; - 825EAD51920B387DB4F8C426 /* LexAsn1.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A46D50BEBF523B3F88831086 /* LexAsn1.cxx */; }; - 825EAD51920B387DB4F8C427 /* LexAsn1.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A46D50BEBF523B3F88831086 /* LexAsn1.cxx */; }; - 8292D346BFC33D6E8D3CDDBF /* xh_sttxt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3F1680BBE8331A7B745638C /* xh_sttxt.cpp */; }; - 8292D346BFC33D6E8D3CDDC0 /* xh_sttxt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3F1680BBE8331A7B745638C /* xh_sttxt.cpp */; }; - 82FA4AA043213728AC266700 /* wizard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F08F70E1EF239999A4D2AC4 /* wizard.cpp */; }; - 82FA4AA043213728AC266701 /* wizard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F08F70E1EF239999A4D2AC4 /* wizard.cpp */; }; - 830A61EA04FD367C9EB6A757 /* fswatcher_fsevents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B83407D156C3CC3A66F05A4 /* fswatcher_fsevents.cpp */; }; - 830A61EA04FD367C9EB6A758 /* fswatcher_fsevents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B83407D156C3CC3A66F05A4 /* fswatcher_fsevents.cpp */; }; - 834F2ADD0520313FBAC4F927 /* LexCsound.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0A59A5C2305D3D1C8049BE71 /* LexCsound.cxx */; }; - 834F2ADD0520313FBAC4F928 /* LexCsound.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0A59A5C2305D3D1C8049BE71 /* LexCsound.cxx */; }; - 83616D33080E3F0F9FA5FBB4 /* xh_html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 889FFA9573A835F280A21CB4 /* xh_html.cpp */; }; - 83616D33080E3F0F9FA5FBB5 /* xh_html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 889FFA9573A835F280A21CB4 /* xh_html.cpp */; }; - 83C492B87F4A3A97930F227A /* ExternalLexer.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FD6D2664C05131C3A06E98B4 /* ExternalLexer.cxx */; }; - 83C492B87F4A3A97930F227B /* ExternalLexer.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FD6D2664C05131C3A06E98B4 /* ExternalLexer.cxx */; }; - 84382E5DB3203A73AC5EE390 /* xh_combo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0905A1EBD653F6D82395602 /* xh_combo.cpp */; }; - 84382E5DB3203A73AC5EE391 /* xh_combo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0905A1EBD653F6D82395602 /* xh_combo.cpp */; }; - 84997126352137E798CD258A /* spinctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59572A234F0636D78BFD9F6B /* spinctlg.cpp */; }; - 84997126352137E798CD258B /* spinctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59572A234F0636D78BFD9F6B /* spinctlg.cpp */; }; - 84B3625464F732C3A79E1314 /* xh_bmpbt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11AE4D94B791344AB6BF6397 /* xh_bmpbt.cpp */; }; - 84B3625464F732C3A79E1315 /* xh_bmpbt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11AE4D94B791344AB6BF6397 /* xh_bmpbt.cpp */; }; - 85F9828B80B03178A274BD17 /* selstore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5ED2105A5A033E3384EBC4ED /* selstore.cpp */; }; - 85F9828B80B03178A274BD18 /* selstore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5ED2105A5A033E3384EBC4ED /* selstore.cpp */; }; - 86003C8EB906304F9025F788 /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6739C3BD3EFA9CF71102 /* jcinit.c */; }; - 86003C8EB906304F9025F789 /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6739C3BD3EFA9CF71102 /* jcinit.c */; }; - 867F5D1962383C98A8ADDC3D /* xmladv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1A01885B036C28EBDAE27 /* xmladv.cpp */; }; - 867F5D1962383C98A8ADDC3E /* xmladv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1A01885B036C28EBDAE27 /* xmladv.cpp */; }; - 86AED49CEAFC3637B1F10537 /* dialog_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BDE76674C0F5391BAD2AFA2F /* dialog_osx.cpp */; }; - 86AED49CEAFC3637B1F10538 /* dialog_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BDE76674C0F5391BAD2AFA2F /* dialog_osx.cpp */; }; - 86B0D280A43C308CAC14BE24 /* CaseFolder.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F52DCBC0442233738B39138E /* CaseFolder.cxx */; }; - 86B0D280A43C308CAC14BE25 /* CaseFolder.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F52DCBC0442233738B39138E /* CaseFolder.cxx */; }; - 86BE5213D3F131D8A6862679 /* hid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 160EB9744CB63A0B81DC651F /* hid.cpp */; }; - 86BE5213D3F131D8A686267A /* hid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 160EB9744CB63A0B81DC651F /* hid.cpp */; }; - 87092C0C817D343DAB77E23E /* xh_scwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E97AE22E9F043AB6846B3BE7 /* xh_scwin.cpp */; }; - 87092C0C817D343DAB77E23F /* xh_scwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E97AE22E9F043AB6846B3BE7 /* xh_scwin.cpp */; }; - 87AA9C5D887B3C31A2AFB49D /* htmllbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD5F11A3646F397BA62EB037 /* htmllbox.cpp */; }; - 87AA9C5D887B3C31A2AFB49E /* htmllbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD5F11A3646F397BA62EB037 /* htmllbox.cpp */; }; - 87C67583D36C3465ACD64103 /* vlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA90128E29A03CCCA30F4D35 /* vlbox.cpp */; }; - 87C67583D36C3465ACD64104 /* vlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA90128E29A03CCCA30F4D35 /* vlbox.cpp */; }; - 88A43B1C5A7438838DE97B94 /* tif_luv.c in Sources */ = {isa = PBXBuildFile; fileRef = 66FDA882451239EA8DF2E0B5 /* tif_luv.c */; }; - 88A43B1C5A7438838DE97B95 /* tif_luv.c in Sources */ = {isa = PBXBuildFile; fileRef = 66FDA882451239EA8DF2E0B5 /* tif_luv.c */; }; - 88E1AE56FD393C8BA5CF8545 /* stringops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E724EA70AB35DDB130F84F /* stringops.cpp */; }; - 88E1AE56FD393C8BA5CF8546 /* stringops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E724EA70AB35DDB130F84F /* stringops.cpp */; }; - 89046455F49D3D75A21C9DB8 /* imagfill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 137E01C362E134449BF966ED /* imagfill.cpp */; }; - 89046455F49D3D75A21C9DB9 /* imagfill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 137E01C362E134449BF966ED /* imagfill.cpp */; }; - 89200B144075388BA69A07E2 /* xh_timectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25A81E9028793C109D868068 /* xh_timectrl.cpp */; }; - 89200B144075388BA69A07E3 /* xh_timectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25A81E9028793C109D868068 /* xh_timectrl.cpp */; }; - 894D43C8F224394FB3171F26 /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 6EDDEEEC981133E8BA6A3998 /* jcapimin.c */; }; - 894D43C8F224394FB3171F27 /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 6EDDEEEC981133E8BA6A3998 /* jcapimin.c */; }; - 8966F77CC97B3ED780C8F137 /* xh_bmpcbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8826A683573F35EA9789612C /* xh_bmpcbox.cpp */; }; - 8966F77CC97B3ED780C8F138 /* xh_bmpcbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8826A683573F35EA9789612C /* xh_bmpcbox.cpp */; }; - 8A4046BD38873D9CAC9C2B59 /* filesys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F263022F3FEA3F75895B644D /* filesys.cpp */; }; - 8A4046BD38873D9CAC9C2B5A /* filesys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F263022F3FEA3F75895B644D /* filesys.cpp */; }; - 8A662992FFCB32E99D11950C /* commandlinkbuttong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8BD1489D95E3FD78B200B1B /* commandlinkbuttong.cpp */; }; - 8A662992FFCB32E99D11950D /* commandlinkbuttong.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8BD1489D95E3FD78B200B1B /* commandlinkbuttong.cpp */; }; - 8AA341CCFB8E3F6AB3523595 /* splash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F8836E29C5A370E80CE070E /* splash.cpp */; }; - 8AA341CCFB8E3F6AB3523596 /* splash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F8836E29C5A370E80CE070E /* splash.cpp */; }; - 8AB7191F7CB838FC8337C48D /* xh_statbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FADE850169F7347F83FE1499 /* xh_statbar.cpp */; }; - 8AB7191F7CB838FC8337C48E /* xh_statbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FADE850169F7347F83FE1499 /* xh_statbar.cpp */; }; - 8B38C6C416BA3A51B37F60C4 /* statlinecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C08C0A1203654ABAA2CB1 /* statlinecmn.cpp */; }; - 8B38C6C416BA3A51B37F60C5 /* statlinecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C08C0A1203654ABAA2CB1 /* statlinecmn.cpp */; }; - 8B60964DA1DF3F3DB40BE123 /* datavgen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F3D473DC5123EDAB767045C /* datavgen.cpp */; }; - 8B60964DA1DF3F3DB40BE124 /* datavgen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F3D473DC5123EDAB767045C /* datavgen.cpp */; }; - 8B9C9FCB954F3596A4CED9A5 /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 86884BC843F6337EABF744BB /* jdapimin.c */; }; - 8B9C9FCB954F3596A4CED9A6 /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 86884BC843F6337EABF744BB /* jdapimin.c */; }; - 8DE45CEAF2DD3C22AA019F74 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CF73F49AEC238C99CE89845 /* deflate.c */; }; - 8DE45CEAF2DD3C22AA019F75 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CF73F49AEC238C99CE89845 /* deflate.c */; }; - 8E220BCD39B336A495E775BD /* aboutdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BBF01162E86737818F704DBE /* aboutdlg.cpp */; }; - 8E220BCD39B336A495E775BE /* aboutdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BBF01162E86737818F704DBE /* aboutdlg.cpp */; }; - 8E674574343A3C009B1BCD00 /* tif_codec.c in Sources */ = {isa = PBXBuildFile; fileRef = 88FF67EB6E7D302A9CDEF660 /* tif_codec.c */; }; - 8E674574343A3C009B1BCD01 /* tif_codec.c in Sources */ = {isa = PBXBuildFile; fileRef = 88FF67EB6E7D302A9CDEF660 /* tif_codec.c */; }; - 8F949B9010863F66A58FFEF1 /* xh_activityindicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60FA0E3524391D8581AD7C /* xh_activityindicator.cpp */; }; - 8F949B9010863F66A58FFEF2 /* xh_activityindicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60FA0E3524391D8581AD7C /* xh_activityindicator.cpp */; }; - 8F98C20E7B223FF4B352C130 /* Catalogue.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 975E3B6A269434F0A069987D /* Catalogue.cxx */; }; - 8F98C20E7B223FF4B352C131 /* Catalogue.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 975E3B6A269434F0A069987D /* Catalogue.cxx */; }; - 8FB5FBC5730C33F1A3D85D9F /* LexD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B9DFC4083C6A38CABE4BB4E3 /* LexD.cxx */; }; - 8FB5FBC5730C33F1A3D85DA0 /* LexD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B9DFC4083C6A38CABE4BB4E3 /* LexD.cxx */; }; - 8FC1C07FEE793897A1E96D23 /* statbmpg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DA2119A7C67D37B290C17989 /* statbmpg.cpp */; }; - 8FC1C07FEE793897A1E96D24 /* statbmpg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DA2119A7C67D37B290C17989 /* statbmpg.cpp */; }; - 8FDC800D873F30E282691832 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 87799D3168B43EB7B5686826 /* pngrtran.c */; }; - 8FDC800D873F30E282691833 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 87799D3168B43EB7B5686826 /* pngrtran.c */; }; - 901F659891613419B8643952 /* calctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8D0EF4BDCB5F329ABE15EEED /* calctrlcmn.cpp */; }; - 901F659891613419B8643953 /* calctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8D0EF4BDCB5F329ABE15EEED /* calctrlcmn.cpp */; }; - 9058997222493A7A859A4D4C /* richtextxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C69E48C06BD23C178F650E42 /* richtextxml.cpp */; }; - 9058997222493A7A859A4D4D /* richtextxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C69E48C06BD23C178F650E42 /* richtextxml.cpp */; }; - 9065A4BE3D0433B88CF45571 /* richtextbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47F5E77F7B8D3ABBA365F112 /* richtextbuffer.cpp */; }; - 9065A4BE3D0433B88CF45572 /* richtextbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47F5E77F7B8D3ABBA365F112 /* richtextbuffer.cpp */; }; - 908957F65B7E36F8BF3858DD /* PlatWX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47FF6D792CA234C395692118 /* PlatWX.cpp */; }; - 908957F65B7E36F8BF3858DE /* PlatWX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47FF6D792CA234C395692118 /* PlatWX.cpp */; }; - 90AB8293DB663C508BAEF655 /* textctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F97C7436BF3B3BBEB423550D /* textctrl.cpp */; }; - 90AB8293DB663C508BAEF656 /* textctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F97C7436BF3B3BBEB423550D /* textctrl.cpp */; }; - 90BC965B1A1F35A3B2C9D1C9 /* Decoration.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BF1C44D726E63B18A98006EC /* Decoration.cxx */; }; - 90BC965B1A1F35A3B2C9D1CA /* Decoration.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BF1C44D726E63B18A98006EC /* Decoration.cxx */; }; - 9110ACFC3CFB3C7994E907B0 /* imagiff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4A745D1821A32D591D76650 /* imagiff.cpp */; }; - 9110ACFC3CFB3C7994E907B1 /* imagiff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4A745D1821A32D591D76650 /* imagiff.cpp */; }; - 912C69ADB1673ACEB0E6CF08 /* tif_strip.c in Sources */ = {isa = PBXBuildFile; fileRef = B83EDE2D1731311ABDE62F9F /* tif_strip.c */; }; - 912C69ADB1673ACEB0E6CF09 /* tif_strip.c in Sources */ = {isa = PBXBuildFile; fileRef = B83EDE2D1731311ABDE62F9F /* tif_strip.c */; }; - 91364FDD73053139BBAA313B /* Accessor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D2DE67C976CF3004A8FE883A /* Accessor.cxx */; }; - 91364FDD73053139BBAA313C /* Accessor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D2DE67C976CF3004A8FE883A /* Accessor.cxx */; }; - 91BC7802C15337CDA84C3742 /* statline_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE35DFD2063632AA8FE50C89 /* statline_osx.cpp */; }; - 91BC7802C15337CDA84C3743 /* statline_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE35DFD2063632AA8FE50C89 /* statline_osx.cpp */; }; - 91BDA5B04CF33C9AB7358B8A /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69F098E47EBF34368ABAE7ED /* timer.cpp */; }; - 91BDA5B04CF33C9AB7358B8B /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69F098E47EBF34368ABAE7ED /* timer.cpp */; }; - 91EA325FCE3A3A6A8D1D21A5 /* srchctrl_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C80A0223B993BCB80D1C0A0 /* srchctrl_osx.cpp */; }; - 91EA325FCE3A3A6A8D1D21A6 /* srchctrl_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C80A0223B993BCB80D1C0A0 /* srchctrl_osx.cpp */; }; - 923F4797A73A3BDD87BBD1E1 /* LineMarker.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AF3DF03795153E039B8F1F87 /* LineMarker.cxx */; }; - 923F4797A73A3BDD87BBD1E2 /* LineMarker.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AF3DF03795153E039B8F1F87 /* LineMarker.cxx */; }; - 929B053AC2B2355CAF7EBA82 /* activityindicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6444F5BA54EB351887AAC24A /* activityindicator.cpp */; }; - 929B053AC2B2355CAF7EBA83 /* activityindicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6444F5BA54EB351887AAC24A /* activityindicator.cpp */; }; - 93E04642049537EB8A37BA26 /* htmlwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FEBA7AC7F743EE88352AEBC /* htmlwin.cpp */; }; - 93E04642049537EB8A37BA27 /* htmlwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FEBA7AC7F743EE88352AEBC /* htmlwin.cpp */; }; - 94389E029E27343EB69C8B79 /* mediactrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D03731D60A063988AF6AE70F /* mediactrl.cpp */; }; - 94389E029E27343EB69C8B7A /* mediactrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D03731D60A063988AF6AE70F /* mediactrl.cpp */; }; - 9455B49669853E71BD4FD965 /* richtextformatdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C978558AE31D3CFA85B3BBE3 /* richtextformatdlg.cpp */; }; - 9455B49669853E71BD4FD966 /* richtextformatdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C978558AE31D3CFA85B3BBE3 /* richtextformatdlg.cpp */; }; - 94B1C88076793400810FAC30 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = AF26BAB1F4733114926F1724 /* png.c */; }; - 94B1C88076793400810FAC31 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = AF26BAB1F4733114926F1724 /* png.c */; }; - 94E510619F433AE3AC884755 /* xh_bmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07CDBBC10C8E37BBA8600DD6 /* xh_bmp.cpp */; }; - 94E510619F433AE3AC884756 /* xh_bmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07CDBBC10C8E37BBA8600DD6 /* xh_bmp.cpp */; }; - 9513691C6A943A41B4184643 /* uma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6DFFB06606F3D2E953CFC96 /* uma.cpp */; }; - 9513691C6A943A41B4184644 /* uma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6DFFB06606F3D2E953CFC96 /* uma.cpp */; }; - 955D2199F1893D37BA2D7478 /* laywin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3784C240C2F330683494926 /* laywin.cpp */; }; - 955D2199F1893D37BA2D7479 /* laywin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3784C240C2F330683494926 /* laywin.cpp */; }; - 9564A6968D66325DAEADEBA3 /* dcgraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 776CD7F5B0673B4688F2EC92 /* dcgraph.cpp */; }; - 9564A6968D66325DAEADEBA4 /* dcgraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 776CD7F5B0673B4688F2EC92 /* dcgraph.cpp */; }; - 95826E8528CC32D8934C36EC /* xh_frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5A9B63746753EDFB2EC48D3 /* xh_frame.cpp */; }; - 95826E8528CC32D8934C36ED /* xh_frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5A9B63746753EDFB2EC48D3 /* xh_frame.cpp */; }; - 95AD56D602CF3C5085602AF8 /* geometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BC0A61629E635FAB4E09505 /* geometry.cpp */; }; - 95AD56D602CF3C5085602AF9 /* geometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BC0A61629E635FAB4E09505 /* geometry.cpp */; }; - 9678C2B19D293818AA8E9E0D /* LexSpice.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4592464D4868329897F3864D /* LexSpice.cxx */; }; - 9678C2B19D293818AA8E9E0E /* LexSpice.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4592464D4868329897F3864D /* LexSpice.cxx */; }; - 96927C5A21FD3ACF936CDF6C /* renderg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49CABA38E78D34DFA260AA06 /* renderg.cpp */; }; - 96927C5A21FD3ACF936CDF6D /* renderg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49CABA38E78D34DFA260AA06 /* renderg.cpp */; }; - 96A6458C826732348D2872C5 /* radiobut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59F8B419381C34A184190EA1 /* radiobut.cpp */; }; - 96A6458C826732348D2872C6 /* radiobut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59F8B419381C34A184190EA1 /* radiobut.cpp */; }; - 96B507455762391688B5E500 /* xh_listc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F5D02D60DCA35358B2780C7 /* xh_listc.cpp */; }; - 96B507455762391688B5E501 /* xh_listc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F5D02D60DCA35358B2780C7 /* xh_listc.cpp */; }; - 9744994E8A813AA6938A7CE2 /* textcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DFD4F32E48039C3B9A66355 /* textcmn.cpp */; }; - 9744994E8A813AA6938A7CE3 /* textcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DFD4F32E48039C3B9A66355 /* textcmn.cpp */; }; - 97BAFEAD53E238B6881178DD /* evtloopcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 640783FBACA43206B782C77B /* evtloopcmn.cpp */; }; - 97BAFEAD53E238B6881178DE /* evtloopcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 640783FBACA43206B782C77B /* evtloopcmn.cpp */; }; - 97C551F8AEF133D680D1FD36 /* LexProgress.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F8E4A9905843A4683A6B460 /* LexProgress.cxx */; }; - 97C551F8AEF133D680D1FD37 /* LexProgress.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F8E4A9905843A4683A6B460 /* LexProgress.cxx */; }; - 97F60B2A9CE93BC8949A8CCD /* LexCrontab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 16A093604BDB3C22BA66EA89 /* LexCrontab.cxx */; }; - 97F60B2A9CE93BC8949A8CCE /* LexCrontab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 16A093604BDB3C22BA66EA89 /* LexCrontab.cxx */; }; - 9836B3D336963795928FE5A1 /* m_dflist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FE1599218730CC99A3F801 /* m_dflist.cpp */; }; - 9836B3D336963795928FE5A2 /* m_dflist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FE1599218730CC99A3F801 /* m_dflist.cpp */; }; - 9881E3FB23ED3283B6CC71A2 /* filepickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BFA50405234C30EEA3F77F17 /* filepickercmn.cpp */; }; - 9881E3FB23ED3283B6CC71A3 /* filepickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BFA50405234C30EEA3F77F17 /* filepickercmn.cpp */; }; - 98AD7D0478BA36249B03C623 /* time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B9586328A1F3C4BA0390AA5 /* time.cpp */; }; - 98AD7D0478BA36249B03C624 /* time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B9586328A1F3C4BA0390AA5 /* time.cpp */; }; - 98DF13E96160304EBB905E73 /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 810EB7316DF3344197C78EC0 /* jcmainct.c */; }; - 98DF13E96160304EBB905E74 /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 810EB7316DF3344197C78EC0 /* jcmainct.c */; }; - 98F52D5224B438DFA8887E06 /* timectrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 741578B590AF3F2CABE615EB /* timectrlg.cpp */; }; - 98F52D5224B438DFA8887E07 /* timectrlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 741578B590AF3F2CABE615EB /* timectrlg.cpp */; }; - 99C3EE31DC1B3ADAAC8E5DA2 /* anybutton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9979CCEEC4C73A6489EF1A21 /* anybutton.cpp */; }; - 99C3EE31DC1B3ADAAC8E5DA3 /* anybutton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9979CCEEC4C73A6489EF1A21 /* anybutton.cpp */; }; - 99E7A46106C03484BA70D29E /* tif_unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D2F8259CC99380CB8217DEF /* tif_unix.c */; }; - 99E7A46106C03484BA70D29F /* tif_unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D2F8259CC99380CB8217DEF /* tif_unix.c */; }; - 99F7D7BFBB543A04AB728375 /* m_hline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECA4A44BEC2F3AED8CF0C911 /* m_hline.cpp */; }; - 99F7D7BFBB543A04AB728376 /* m_hline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECA4A44BEC2F3AED8CF0C911 /* m_hline.cpp */; }; - 9A178ED42D96329D8CBF9B89 /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; }; - 9A178ED42D96329D8CBF9B8A /* tif_predict.c in Sources */ = {isa = PBXBuildFile; fileRef = 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */; }; - 9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; }; - 9A83D365AD1F37FA9C7030C3 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF330EAACFA53877BE289896 /* matrix.cpp */; }; - 9B3F9D04FB533D99B58BD519 /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; }; - 9B3F9D04FB533D99B58BD51A /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */; }; - 9B6A35E706543CDAA6A5014A /* LexGui4Cli.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FFB767BD2C7235F293F45796 /* LexGui4Cli.cxx */; }; - 9B6A35E706543CDAA6A5014B /* LexGui4Cli.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FFB767BD2C7235F293F45796 /* LexGui4Cli.cxx */; }; - 9B8E5690A6103FC1BDC6C47E /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 29D6506AEA5A323B8735F126 /* pngread.c */; }; - 9B8E5690A6103FC1BDC6C47F /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 29D6506AEA5A323B8735F126 /* pngread.c */; }; - 9C1F073349FD393E9220C0D3 /* combog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CBD7B44E33373BCCB60FC11F /* combog.cpp */; }; - 9C1F073349FD393E9220C0D4 /* combog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CBD7B44E33373BCCB60FC11F /* combog.cpp */; }; - 9C6E9E4BA54733EF9F87E4B7 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 513033E36E643593AC305B3D /* uncompr.c */; }; - 9C6E9E4BA54733EF9F87E4B8 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 513033E36E643593AC305B3D /* uncompr.c */; }; - 9CA687845B3F30CCA44A89D0 /* choicbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 09F8B0818C3A3248A26EE05D /* choicbkg.cpp */; }; - 9CA687845B3F30CCA44A89D1 /* choicbkg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 09F8B0818C3A3248A26EE05D /* choicbkg.cpp */; }; - 9CC92BB4B0E233A0A7F81279 /* LexVisualProlog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 43D416CF0DE334E79A8E48C8 /* LexVisualProlog.cxx */; }; - 9CC92BB4B0E233A0A7F8127A /* LexVisualProlog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 43D416CF0DE334E79A8E48C8 /* LexVisualProlog.cxx */; }; - 9D003890CB7035A298DB7056 /* LexLua.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5145561C78303EEE9F827962 /* LexLua.cxx */; }; - 9D003890CB7035A298DB7057 /* LexLua.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5145561C78303EEE9F827962 /* LexLua.cxx */; }; - 9D4B67A357D23B5283CA8D98 /* clrpickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB8A747FB60239B9AB710264 /* clrpickercmn.cpp */; }; - 9D4B67A357D23B5283CA8D99 /* clrpickercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB8A747FB60239B9AB710264 /* clrpickercmn.cpp */; }; - 9E0B67E34B683412978BA82D /* filtall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4438C284ED5C31EF8CC28FF3 /* filtall.cpp */; }; - 9E0B67E34B683412978BA82E /* filtall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4438C284ED5C31EF8CC28FF3 /* filtall.cpp */; }; - 9EC837DA722736119D49868A /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 9CAA325362C73AC8BE20FAA7 /* pngpread.c */; }; - 9EC837DA722736119D49868B /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 9CAA325362C73AC8BE20FAA7 /* pngpread.c */; }; - 9F608A33D52D327FAA295624 /* sckfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 56653FACC7D13804A70556AD /* sckfile.cpp */; }; - 9F608A33D52D327FAA295625 /* sckfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 56653FACC7D13804A70556AD /* sckfile.cpp */; }; - 9F70A89D00B03D4894AF7638 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01BA6D45FE4C381493EB4372 /* validate.cpp */; }; - 9F70A89D00B03D4894AF7639 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01BA6D45FE4C381493EB4372 /* validate.cpp */; }; - 9FB1E1763EFA334CA0C07C49 /* tarstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0F7BBD216853E718C9F23D9 /* tarstrm.cpp */; }; - 9FB1E1763EFA334CA0C07C4A /* tarstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0F7BBD216853E718C9F23D9 /* tarstrm.cpp */; }; - 9FBC642677C63D01AA2511BC /* evtloop_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */; }; - 9FBC642677C63D01AA2511BD /* evtloop_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */; }; - 9FD99E06F6613A1A958FAF6B /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = B2D390E5D5BF32D4AAA1E15A /* jdmainct.c */; }; - 9FD99E06F6613A1A958FAF6C /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = B2D390E5D5BF32D4AAA1E15A /* jdmainct.c */; }; - A0BA01A85C303C78A3130711 /* art_aui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD5E8709C3BC3727BBC7B97A /* art_aui.cpp */; }; - A0BA01A85C303C78A3130712 /* art_aui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD5E8709C3BC3727BBC7B97A /* art_aui.cpp */; }; - A0FCE3CF565C3F84B63712AC /* LexCPP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9EF09C7CC5413CC6A5E7B21B /* LexCPP.cxx */; }; - A0FCE3CF565C3F84B63712AD /* LexCPP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9EF09C7CC5413CC6A5E7B21B /* LexCPP.cxx */; }; - A139B846584436BCBEBAE3BF /* grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76337016F2CA3C85831702E6 /* grid.cpp */; }; - A139B846584436BCBEBAE3C0 /* grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76337016F2CA3C85831702E6 /* grid.cpp */; }; - A1A7B833061C35B4AABD093C /* preferencesg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D8F06DEA1AA339ED819B3812 /* preferencesg.cpp */; }; - A1A7B833061C35B4AABD093D /* preferencesg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D8F06DEA1AA339ED819B3812 /* preferencesg.cpp */; }; - A1AF8FF873D6383996995ECF /* statusbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 071FEABEA61E3B559A47A7DB /* statusbr.cpp */; }; - A1AF8FF873D6383996995ED0 /* statusbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 071FEABEA61E3B559A47A7DB /* statusbr.cpp */; }; - A212431902B8343CA6D229D3 /* jcphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = E38569D873B6394F9E5B821C /* jcphuff.c */; }; - A212431902B8343CA6D229D4 /* jcphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = E38569D873B6394F9E5B821C /* jcphuff.c */; }; - A2473402D8B83628B1F66749 /* wxprintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 607EF0043E723B7B9BE101EA /* wxprintf.cpp */; }; - A2473402D8B83628B1F6674A /* wxprintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 607EF0043E723B7B9BE101EA /* wxprintf.cpp */; }; - A2769D1659AE3CA3B58C2CAE /* wincmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC5C60B3AF893BE98BCE6C1D /* wincmn.cpp */; }; - A2769D1659AE3CA3B58C2CAF /* wincmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC5C60B3AF893BE98BCE6C1D /* wincmn.cpp */; }; - A283187810EB32DAA173BD33 /* artstd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24E82A05E9A9323287CDB15B /* artstd.cpp */; }; - A283187810EB32DAA173BD34 /* artstd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24E82A05E9A9323287CDB15B /* artstd.cpp */; }; - A3321FE2A87D3BD69E0BB009 /* notebook_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5248A45AB113341EAC361910 /* notebook_osx.cpp */; }; - A3321FE2A87D3BD69E0BB00A /* notebook_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5248A45AB113341EAC361910 /* notebook_osx.cpp */; }; - A336FD218BE63B19991CA513 /* ipcbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C090A76B6F23E6481A27282 /* ipcbase.cpp */; }; - A336FD218BE63B19991CA514 /* ipcbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C090A76B6F23E6481A27282 /* ipcbase.cpp */; }; - A3586433C4B1398FB1C361D6 /* m_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 548906E4E72935E48CE4AF87 /* m_image.cpp */; }; - A3586433C4B1398FB1C361D7 /* m_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 548906E4E72935E48CE4AF87 /* m_image.cpp */; }; - A36B5107860E32659194073F /* LexPython.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CC2713393AB132AA8E337AE1 /* LexPython.cxx */; }; - A36B5107860E326591940740 /* LexPython.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CC2713393AB132AA8E337AE1 /* LexPython.cxx */; }; - A39B0D7EB43137F7BA50A35C /* xh_simplebook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97C4E26489B034B6AE723D8D /* xh_simplebook.cpp */; }; - A39B0D7EB43137F7BA50A35D /* xh_simplebook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97C4E26489B034B6AE723D8D /* xh_simplebook.cpp */; }; - A3A898DA3114311EB7F02227 /* sckstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D784A32C094730FEAA391A9B /* sckstrm.cpp */; }; - A3A898DA3114311EB7F02228 /* sckstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D784A32C094730FEAA391A9B /* sckstrm.cpp */; }; - A3C4D47A84E8362295867525 /* LexPOV.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8EECA8EB93BF3C7A9CC827AD /* LexPOV.cxx */; }; - A3C4D47A84E8362295867526 /* LexPOV.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8EECA8EB93BF3C7A9CC827AD /* LexPOV.cxx */; }; - A423177BBC0F3BE5A436B4B7 /* propgridpagestate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 967EF76827CB3CDE87E1E733 /* propgridpagestate.cpp */; }; - A423177BBC0F3BE5A436B4B8 /* propgridpagestate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 967EF76827CB3CDE87E1E733 /* propgridpagestate.cpp */; }; - A465A43B756630F1944B5A56 /* vscroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1629FA905F903324AA5BE72C /* vscroll.cpp */; }; - A465A43B756630F1944B5A57 /* vscroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1629FA905F903324AA5BE72C /* vscroll.cpp */; }; - A52A7D2FEB1434E29C64582C /* RESearch.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E145FC31ED523B4AA5080A61 /* RESearch.cxx */; }; - A52A7D2FEB1434E29C64582D /* RESearch.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E145FC31ED523B4AA5080A61 /* RESearch.cxx */; }; - A569A33A2097316D8110C2C1 /* toolbar_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CD29E47B69D3F3482665E77 /* toolbar_osx.cpp */; }; - A569A33A2097316D8110C2C2 /* toolbar_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CD29E47B69D3F3482665E77 /* toolbar_osx.cpp */; }; - A5775D87FD713CBB930A783E /* bookctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00BC2298BC7A33B7A68584FE /* bookctrl.cpp */; }; - A5775D87FD713CBB930A783F /* bookctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00BC2298BC7A33B7A68584FE /* bookctrl.cpp */; }; - A59667064DED3BD48F29686C /* dataview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5E4E466CCBA3A78A38A6E79 /* dataview.cpp */; }; - A59667064DED3BD48F29686D /* dataview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5E4E466CCBA3A78A38A6E79 /* dataview.cpp */; }; - A7692B4D8658347BA16EEB83 /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = 374E341C8703367686DEDE93 /* jmemnobs.c */; }; - A7692B4D8658347BA16EEB84 /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = 374E341C8703367686DEDE93 /* jmemnobs.c */; }; - A80D00249A693F43A9CBE777 /* rgncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63867276260C3F4A980E83D8 /* rgncmn.cpp */; }; - A80D00249A693F43A9CBE778 /* rgncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63867276260C3F4A980E83D8 /* rgncmn.cpp */; }; - A874AF0B203D3DC99C27469A /* LexNimrod.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BC5C5DB466CD3D6FA6985B56 /* LexNimrod.cxx */; }; - A874AF0B203D3DC99C27469B /* LexNimrod.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BC5C5DB466CD3D6FA6985B56 /* LexNimrod.cxx */; }; - A92439BAFD3A30A29DD93131 /* apptraits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4A23A8BC7373D4BBD72851D /* apptraits.cpp */; }; - A92439BAFD3A30A29DD93132 /* apptraits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4A23A8BC7373D4BBD72851D /* apptraits.cpp */; }; - A93D0E6F0871368EA8FC9FF9 /* fswatchercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D2BE094D90D3AFDAE49F589 /* fswatchercmn.cpp */; }; - A93D0E6F0871368EA8FC9FFA /* fswatchercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D2BE094D90D3AFDAE49F589 /* fswatchercmn.cpp */; }; - A965348C7FA73CEC90C8FA25 /* filedlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDD97DF408EC347A8CB8EF45 /* filedlgg.cpp */; }; - A965348C7FA73CEC90C8FA26 /* filedlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDD97DF408EC347A8CB8EF45 /* filedlgg.cpp */; }; - A9864F0104FA344BBE79D3BC /* rendcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 96CED508FA3C3B6B9265099E /* rendcmn.cpp */; }; - A9864F0104FA344BBE79D3BD /* rendcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 96CED508FA3C3B6B9265099E /* rendcmn.cpp */; }; - A9A5973552EE30838306D15C /* tif_packbits.c in Sources */ = {isa = PBXBuildFile; fileRef = 9CE73979D0933A43830307E4 /* tif_packbits.c */; }; - A9A5973552EE30838306D15D /* tif_packbits.c in Sources */ = {isa = PBXBuildFile; fileRef = 9CE73979D0933A43830307E4 /* tif_packbits.c */; }; - AAAB5DF8E60736D88273DCFE /* strconv_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D5F9383D1CE931499F339D85 /* strconv_cf.cpp */; }; - AAAB5DF8E60736D88273DCFF /* strconv_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D5F9383D1CE931499F339D85 /* strconv_cf.cpp */; }; - AAABEE399008310A8BC9BE43 /* imagtga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA7029BB5751398AA02D8C24 /* imagtga.cpp */; }; - AAABEE399008310A8BC9BE44 /* imagtga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA7029BB5751398AA02D8C24 /* imagtga.cpp */; }; - AAC2AC9C49F1366D8BD20F5E /* LexECL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1AD9605C9385374C87FAC9BC /* LexECL.cxx */; }; - AAC2AC9C49F1366D8BD20F5F /* LexECL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1AD9605C9385374C87FAC9BC /* LexECL.cxx */; }; - AAC2CB4D851230008AE4ABA1 /* dcscreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */; }; - AAC2CB4D851230008AE4ABA2 /* dcscreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */; }; - AB58406CEBA13BC4A2A83B66 /* printmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */; }; - AB58406CEBA13BC4A2A83B67 /* printmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */; }; - ABCD15C4AB37396EA17B7B28 /* translation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC666417602346EA583709E /* translation.cpp */; }; - ABCD15C4AB37396EA17B7B29 /* translation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC666417602346EA583709E /* translation.cpp */; }; - AC07BA4EA5403443914DFDB1 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 7013DB195D023C31ADE68546 /* crc32.c */; }; - AC07BA4EA5403443914DFDB2 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 7013DB195D023C31ADE68546 /* crc32.c */; }; - AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51054B41BFD83E97BAF76D07 /* tabart.cpp */; }; - AC0B0C52922B30188AE95E95 /* tabart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51054B41BFD83E97BAF76D07 /* tabart.cpp */; }; - AC6AC589EFB233C7B65A3224 /* overlaycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 303ACF199BE431BD891C9301 /* overlaycmn.cpp */; }; - AC6AC589EFB233C7B65A3225 /* overlaycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 303ACF199BE431BD891C9301 /* overlaycmn.cpp */; }; - AC91349D7F0E37739B1F5165 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEF6B3FB66243812969E5BD1 /* palette.cpp */; }; - AC91349D7F0E37739B1F5166 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEF6B3FB66243812969E5BD1 /* palette.cpp */; }; - ACD644CFA85A3B70A3E3B118 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F41EDEB298538CC86FF6DC1 /* jcparam.c */; }; - ACD644CFA85A3B70A3E3B119 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F41EDEB298538CC86FF6DC1 /* jcparam.c */; }; - AD07124BBA613B47829F0692 /* sockosx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4969528429903F15882F5391 /* sockosx.cpp */; }; - AD07124BBA613B47829F0693 /* sockosx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4969528429903F15882F5391 /* sockosx.cpp */; }; - AD4A533C4E1633598A6D5C6F /* textentrycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F63BF9430CE371DA04AC900 /* textentrycmn.cpp */; }; - AD4A533C4E1633598A6D5C70 /* textentrycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F63BF9430CE371DA04AC900 /* textentrycmn.cpp */; }; - AD7EEB418C7930CB828EAF87 /* dynlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D272910EC35531E5B4D6E05B /* dynlib.cpp */; }; - AD7EEB418C7930CB828EAF88 /* dynlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D272910EC35531E5B4D6E05B /* dynlib.cpp */; }; - AE5286C71D1130EAA368A1C4 /* radiobtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 724927B0045F3CC0884878BB /* radiobtncmn.cpp */; }; - AE5286C71D1130EAA368A1C5 /* radiobtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 724927B0045F3CC0884878BB /* radiobtncmn.cpp */; }; - AE84BC9A1CCA3ADA9C483950 /* xmlrole.c in Sources */ = {isa = PBXBuildFile; fileRef = 59C6B9849FF6325E890942EF /* xmlrole.c */; }; - AE84BC9A1CCA3ADA9C483951 /* xmlrole.c in Sources */ = {isa = PBXBuildFile; fileRef = 59C6B9849FF6325E890942EF /* xmlrole.c */; }; - AEB9099819B33F4A8AAB9F54 /* radiocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 531B0E5DB9ED393996E3FBB8 /* radiocmn.cpp */; }; - AEB9099819B33F4A8AAB9F55 /* radiocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 531B0E5DB9ED393996E3FBB8 /* radiocmn.cpp */; }; - AEEE6BC41B6531898A61CB16 /* LexHTML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D87406BCF3E833369E12D89A /* LexHTML.cxx */; }; - AEEE6BC41B6531898A61CB17 /* LexHTML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D87406BCF3E833369E12D89A /* LexHTML.cxx */; }; - AF1E3338E892336E924AF631 /* pickerbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FBC22BAD63D3A1AB78F5F82 /* pickerbase.cpp */; }; - AF1E3338E892336E924AF632 /* pickerbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FBC22BAD63D3A1AB78F5F82 /* pickerbase.cpp */; }; - B01C4EF49CF9390DA93A3502 /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C131F7BF8A83960ACB26242 /* jidctflt.c */; }; - B01C4EF49CF9390DA93A3503 /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C131F7BF8A83960ACB26242 /* jidctflt.c */; }; - B026621DE50A3921B6598EF6 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = A70C82ADB45A3FB99C420D03 /* regerror.c */; }; - B026621DE50A3921B6598EF7 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = A70C82ADB45A3FB99C420D03 /* regerror.c */; }; - B0E94A59C83637C09FAAE71C /* app.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 757B31FCCA1F381C95B30DF8 /* app.cpp */; }; - B0E94A59C83637C09FAAE71D /* app.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 757B31FCCA1F381C95B30DF8 /* app.cpp */; }; - B1775EF7C72233408044034B /* radiobox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 773D91F8280434519BD167EA /* radiobox_osx.cpp */; }; - B1775EF7C72233408044034C /* radiobox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 773D91F8280434519BD167EA /* radiobox_osx.cpp */; }; - B181806CC34839E791E54BF0 /* xh_tglbtn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */; }; - B181806CC34839E791E54BF1 /* xh_tglbtn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */; }; - B189DB62AE9F30A1B613756B /* bmpcboxg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13FD4A890E9B3BAEBD568C3B /* bmpcboxg.cpp */; }; - B189DB62AE9F30A1B613756C /* bmpcboxg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13FD4A890E9B3BAEBD568C3B /* bmpcboxg.cpp */; }; - B198DA8239E9358A9D56B988 /* menu_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66C21CA37BF63893887FD91B /* menu_osx.cpp */; }; - B198DA8239E9358A9D56B989 /* menu_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66C21CA37BF63893887FD91B /* menu_osx.cpp */; }; - B1E30CF6CFA932F5A3DBA94F /* docview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB634FD597793A74B3B3AA7F /* docview.cpp */; }; - B1E30CF6CFA932F5A3DBA950 /* docview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB634FD597793A74B3B3AA7F /* docview.cpp */; }; - B20B7313102232A4B3E01ABA /* threadinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE40B073C95D3A7497952D8F /* threadinfo.cpp */; }; - B20B7313102232A4B3E01ABB /* threadinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE40B073C95D3A7497952D8F /* threadinfo.cpp */; }; - B37802B0A90133C68EF93DDA /* LexInno.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD0AAFEB435429EA96D41 /* LexInno.cxx */; }; - B37802B0A90133C68EF93DDB /* LexInno.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD0AAFEB435429EA96D41 /* LexInno.cxx */; }; - B4425B59CC27389CA9FF81D1 /* datectlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE856D950B8C369EB0FE13BA /* datectlg.cpp */; }; - B4425B59CC27389CA9FF81D2 /* datectlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE856D950B8C369EB0FE13BA /* datectlg.cpp */; }; - B4CE55324C62369CBB823B68 /* dnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E27194D6828C3BB297B2CBAA /* dnd.cpp */; }; - B4CE55324C62369CBB823B69 /* dnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E27194D6828C3BB297B2CBAA /* dnd.cpp */; }; - B5470121BB4B35DE9C4836DA /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = F1A6F3936A0D31CBB58082BA /* jdcoefct.c */; }; - B5470121BB4B35DE9C4836DB /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = F1A6F3936A0D31CBB58082BA /* jdcoefct.c */; }; - B5587C93D4D3333FA81D08A2 /* printdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5477A7352353CDE8D96D582 /* printdlg.cpp */; }; - B5587C93D4D3333FA81D08A3 /* printdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5477A7352353CDE8D96D582 /* printdlg.cpp */; }; - B559E894684A38238CAAA115 /* dirctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E110907DDC13305E88B90086 /* dirctrlcmn.cpp */; }; - B559E894684A38238CAAA116 /* dirctrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E110907DDC13305E88B90086 /* dirctrlcmn.cpp */; }; - B59FC7345C383D9099391AC3 /* mimecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F316F7DD3CB3390A6E50179 /* mimecmn.cpp */; }; - B59FC7345C383D9099391AC4 /* mimecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F316F7DD3CB3390A6E50179 /* mimecmn.cpp */; }; - B5C7FD8C27F43F3289A77FC9 /* utilsunx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DC75C7251C1732B0B07C7BD3 /* utilsunx.cpp */; }; - B5C7FD8C27F43F3289A77FCA /* utilsunx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DC75C7251C1732B0B07C7BD3 /* utilsunx.cpp */; }; - B640A8A74D973A8FBEF63916 /* LexConf.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 04082EC1C91334379425802D /* LexConf.cxx */; }; - B640A8A74D973A8FBEF63917 /* LexConf.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 04082EC1C91334379425802D /* LexConf.cxx */; }; - B6891F848CA0325EAB6D1373 /* textentry_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 777385D10CCC350C90F02824 /* textentry_osx.cpp */; }; - B6891F848CA0325EAB6D1374 /* textentry_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 777385D10CCC350C90F02824 /* textentry_osx.cpp */; }; - B6C364CB4AE33708A862B4B4 /* srchctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D46A36564C78312CAC538E93 /* srchctlg.cpp */; }; - B6C364CB4AE33708A862B4B5 /* srchctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D46A36564C78312CAC538E93 /* srchctlg.cpp */; }; - B791BD05072B3B909A7093C2 /* dcsvg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE9DBF06A1F43EF2B26445D5 /* dcsvg.cpp */; }; - B791BD05072B3B909A7093C3 /* dcsvg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE9DBF06A1F43EF2B26445D5 /* dcsvg.cpp */; }; - B839235BED6F3609BDB732B8 /* dndcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0116581B77DF3A5D889B8D17 /* dndcmn.cpp */; }; - B839235BED6F3609BDB732B9 /* dndcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0116581B77DF3A5D889B8D17 /* dndcmn.cpp */; }; - B84642DA949638A189032CE6 /* http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F84F0DB790A23D92A193D2B4 /* http.cpp */; }; - B84642DA949638A189032CE7 /* http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F84F0DB790A23D92A193D2B4 /* http.cpp */; }; - B8FEEC2C94183AB69C963177 /* headercolcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B558F1ED9346332D8C4BDFBC /* headercolcmn.cpp */; }; - B8FEEC2C94183AB69C963178 /* headercolcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B558F1ED9346332D8C4BDFBC /* headercolcmn.cpp */; }; - B97C178B47173E6AB0CE577B /* CaseConvert.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 274A156457C63EC5801029C2 /* CaseConvert.cxx */; }; - B97C178B47173E6AB0CE577C /* CaseConvert.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 274A156457C63EC5801029C2 /* CaseConvert.cxx */; }; - BA57708D2D563967A0D1F003 /* LexTxt2tags.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D41D102919B232EBB72A6F2D /* LexTxt2tags.cxx */; }; - BA57708D2D563967A0D1F004 /* LexTxt2tags.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D41D102919B232EBB72A6F2D /* LexTxt2tags.cxx */; }; - BA7B12396B873FDA8F3A2748 /* xlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 418AD9241B673308BE31DC06 /* xlocale.cpp */; }; - BA7B12396B873FDA8F3A2749 /* xlocale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 418AD9241B673308BE31DC06 /* xlocale.cpp */; }; - BA9F0BBD57F63FD29E484FD3 /* LexScriptol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2F1B41B0F10C3DA38188C239 /* LexScriptol.cxx */; }; - BA9F0BBD57F63FD29E484FD4 /* LexScriptol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2F1B41B0F10C3DA38188C239 /* LexScriptol.cxx */; }; - BAA75384DA82370298672333 /* helpctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42E433D1700631A8907B8227 /* helpctrl.cpp */; }; - BAA75384DA82370298672334 /* helpctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42E433D1700631A8907B8227 /* helpctrl.cpp */; }; - BAAB6B1D80A33843A8436B10 /* appunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B40E0F6AA0273ACD9BDEAD72 /* appunix.cpp */; }; - BAAB6B1D80A33843A8436B11 /* appunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B40E0F6AA0273ACD9BDEAD72 /* appunix.cpp */; }; - BAFF04F1680F32DA988EB03D /* stockitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B180290089B139F18B0C7BBA /* stockitem.cpp */; }; - BAFF04F1680F32DA988EB03E /* stockitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B180290089B139F18B0C7BBA /* stockitem.cpp */; }; - BB31D65BA1253A1CB64CE9D2 /* combobox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A3F26F539473705AA82411D /* combobox.cpp */; }; - BB31D65BA1253A1CB64CE9D3 /* combobox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A3F26F539473705AA82411D /* combobox.cpp */; }; - BB6FE851028C3DE7A070C213 /* convauto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20B922D61CDB3CCEB59A5194 /* convauto.cpp */; }; - BB6FE851028C3DE7A070C214 /* convauto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20B922D61CDB3CCEB59A5194 /* convauto.cpp */; }; - BBAABF3C693E37D3B0FF2502 /* colrdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66AC0EA493AB3B6A86DAE174 /* colrdlgg.cpp */; }; - BBAABF3C693E37D3B0FF2503 /* colrdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66AC0EA493AB3B6A86DAE174 /* colrdlgg.cpp */; }; - BCD81FD3D1EC305F801E1C1B /* sckipc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E23CCDC1932BC985EFBD2 /* sckipc.cpp */; }; - BCD81FD3D1EC305F801E1C1C /* sckipc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F6E23CCDC1932BC985EFBD2 /* sckipc.cpp */; }; - BCDAE378D03E37F5994FB9C5 /* XPM.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C25521AF59B9324EB2809C73 /* XPM.cxx */; }; - BCDAE378D03E37F5994FB9C6 /* XPM.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C25521AF59B9324EB2809C73 /* XPM.cxx */; }; - BD2B17EB72E73A6EB6E0B26F /* dcmemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 343D4FDD5CC030618EF24729 /* dcmemory.cpp */; }; - BD2B17EB72E73A6EB6E0B270 /* dcmemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 343D4FDD5CC030618EF24729 /* dcmemory.cpp */; }; - BD49EC50CB363642BDBF25C8 /* mousemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D037EA567C253DEEA17E822B /* mousemanager.cpp */; }; - BD49EC50CB363642BDBF25C9 /* mousemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D037EA567C253DEEA17E822B /* mousemanager.cpp */; }; - BD53E095EC1136EF853A47D8 /* m_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5EE0B8985443BDCB36F781F /* m_layout.cpp */; }; - BD53E095EC1136EF853A47D9 /* m_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5EE0B8985443BDCB36F781F /* m_layout.cpp */; }; - BDAB44F5D017395D9D3A1F23 /* frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3019BA65DD73F30A865365F /* frame.cpp */; }; - BDAB44F5D017395D9D3A1F24 /* frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3019BA65DD73F30A865365F /* frame.cpp */; }; - BDB7B2AD26CB356B8BEAAECD /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = DC0FFDC7A6163F2DA73B84EB /* jchuff.c */; }; - BDB7B2AD26CB356B8BEAAECE /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = DC0FFDC7A6163F2DA73B84EB /* jchuff.c */; }; - BDB8EF0E0DA03693BFB77EF7 /* accesscmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8555204EBA8930809B732842 /* accesscmn.cpp */; }; - BDB8EF0E0DA03693BFB77EF8 /* accesscmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8555204EBA8930809B732842 /* accesscmn.cpp */; }; - BE3ED6EF34303867B8C8E923 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = D4C4495603293C07A3B09D54 /* compress.c */; }; - BE3ED6EF34303867B8C8E924 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = D4C4495603293C07A3B09D54 /* compress.c */; }; - BE99A85EE76236CC8C719A64 /* xh_gauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A23D41D747D38BF8AD30067 /* xh_gauge.cpp */; }; - BE99A85EE76236CC8C719A65 /* xh_gauge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A23D41D747D38BF8AD30067 /* xh_gauge.cpp */; }; - BEA90F2C6BB93143958F899A /* propgridiface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E742B172463EDFBBFA5AB0 /* propgridiface.cpp */; }; - BEA90F2C6BB93143958F899B /* propgridiface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E742B172463EDFBBFA5AB0 /* propgridiface.cpp */; }; - BEAC2449AFA7304989BA301E /* fontpickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBE8E520BA0530C6AD857434 /* fontpickerg.cpp */; }; - BEAC2449AFA7304989BA301F /* fontpickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBE8E520BA0530C6AD857434 /* fontpickerg.cpp */; }; - BEFC179F8A0E337F9D627D84 /* LexOthers.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C356B5738AB13E829E66729E /* LexOthers.cxx */; }; - BEFC179F8A0E337F9D627D85 /* LexOthers.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C356B5738AB13E829E66729E /* LexOthers.cxx */; }; - BF068F3C06473D8CBC55D507 /* PositionCache.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BCD873D873A53BBF955D8A4E /* PositionCache.cxx */; }; - BF068F3C06473D8CBC55D508 /* PositionCache.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BCD873D873A53BBF955D8A4E /* PositionCache.cxx */; }; - BF1760458996391E8EB42949 /* ctrlsub.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B0533F88F3434609A54FB37 /* ctrlsub.cpp */; }; - BF1760458996391E8EB4294A /* ctrlsub.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B0533F88F3434609A54FB37 /* ctrlsub.cpp */; }; - BF2585CFA6853023975F1E78 /* iconbndl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DBFB65776C563C88BB7BF0D6 /* iconbndl.cpp */; }; - BF2585CFA6853023975F1E79 /* iconbndl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DBFB65776C563C88BB7BF0D6 /* iconbndl.cpp */; }; - BF3D600A93403C589B65C5BF /* xh_stlin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F555177554E398286DBC6FB /* xh_stlin.cpp */; }; - BF3D600A93403C589B65C5C0 /* xh_stlin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F555177554E398286DBC6FB /* xh_stlin.cpp */; }; - BF8C33B7CB3A3ECE814A95FB /* tokenzr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3720038D64CF3C0B8F642A90 /* tokenzr.cpp */; }; - BF8C33B7CB3A3ECE814A95FC /* tokenzr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3720038D64CF3C0B8F642A90 /* tokenzr.cpp */; }; - BF9B151DC0543E37878F8B9A /* stattextg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DE635F30F3935099AF1486C /* stattextg.cpp */; }; - BF9B151DC0543E37878F8B9B /* stattextg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DE635F30F3935099AF1486C /* stattextg.cpp */; }; - BFA6983551B4310DA7C8A404 /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 6DBF3053414F3C448312165A /* jcdctmgr.c */; }; - BFA6983551B4310DA7C8A405 /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 6DBF3053414F3C448312165A /* jcdctmgr.c */; }; - BFD3BFBDC8DA3B1EAD141F96 /* LexErlang.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A1276C0E5D48337489DEE8DF /* LexErlang.cxx */; }; - BFD3BFBDC8DA3B1EAD141F97 /* LexErlang.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A1276C0E5D48337489DEE8DF /* LexErlang.cxx */; }; - BFD4B8871B3934048B631419 /* languageinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 67D76B026121359F9B22F8B0 /* languageinfo.cpp */; }; - BFD4B8871B3934048B63141A /* languageinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 67D76B026121359F9B22F8B0 /* languageinfo.cpp */; }; - C005C2D547E735E9B081658E /* prntdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64DA16CF41C834D7B7642024 /* prntdlgg.cpp */; }; - C005C2D547E735E9B081658F /* prntdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64DA16CF41C834D7B7642024 /* prntdlgg.cpp */; }; - C05BDB0B5F5A33A9A57FF012 /* m_links.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080597FC0436378E96EDA94B /* m_links.cpp */; }; - C05BDB0B5F5A33A9A57FF013 /* m_links.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080597FC0436378E96EDA94B /* m_links.cpp */; }; - C0CDA289E9EC3E20BE70B2E6 /* choiccmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24930711031D35288D28B04B /* choiccmn.cpp */; }; - C0CDA289E9EC3E20BE70B2E7 /* choiccmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24930711031D35288D28B04B /* choiccmn.cpp */; }; - C170B941F01334F982315E4A /* tif_print.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EB77ED688E3EE294167EF1 /* tif_print.c */; }; - C170B941F01334F982315E4B /* tif_print.c in Sources */ = {isa = PBXBuildFile; fileRef = C6EB77ED688E3EE294167EF1 /* tif_print.c */; }; - C1CDD035AA393ACC9E202C03 /* minifram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 693F731B7D1730A79485F9EC /* minifram.cpp */; }; - C1CDD035AA393ACC9E202C04 /* minifram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 693F731B7D1730A79485F9EC /* minifram.cpp */; }; - C1DCF69200593986A8C606A6 /* hidjoystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 018B15DE6F3A3D49B9CDE9DE /* hidjoystick.cpp */; }; - C1DCF69200593986A8C606A7 /* hidjoystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 018B15DE6F3A3D49B9CDE9DE /* hidjoystick.cpp */; }; - C1E5799141603A75A26BEEA7 /* xpmdecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C562D5885AFF3E15837325CE /* xpmdecod.cpp */; }; - C1E5799141603A75A26BEEA8 /* xpmdecod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C562D5885AFF3E15837325CE /* xpmdecod.cpp */; }; - C259D01CC62533D296EF023A /* scrolbarcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E441D48CB73EF2BFD6C384 /* scrolbarcmn.cpp */; }; - C259D01CC62533D296EF023B /* scrolbarcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E441D48CB73EF2BFD6C384 /* scrolbarcmn.cpp */; }; - C2B07E2ECDDC3833BDC9B28C /* arcall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75D0C937F2A03ADA8581A2BB /* arcall.cpp */; }; - C2B07E2ECDDC3833BDC9B28D /* arcall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75D0C937F2A03ADA8581A2BB /* arcall.cpp */; }; - C2CF6B59914A3183ADE84028 /* tif_error.c in Sources */ = {isa = PBXBuildFile; fileRef = 48F1439BF6C3361296F05A33 /* tif_error.c */; }; - C2CF6B59914A3183ADE84029 /* tif_error.c in Sources */ = {isa = PBXBuildFile; fileRef = 48F1439BF6C3361296F05A33 /* tif_error.c */; }; - C2D45B334BE03F6C941CA041 /* utilsexc_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95E2B80B2D7033808504DA8D /* utilsexc_cf.cpp */; }; - C2D45B334BE03F6C941CA042 /* utilsexc_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95E2B80B2D7033808504DA8D /* utilsexc_cf.cpp */; }; - C2DEE063B5E032C1BD2B5026 /* xmlparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A92B6033D8233DB1821F193B /* xmlparse.c */; }; - C2DEE063B5E032C1BD2B5027 /* xmlparse.c in Sources */ = {isa = PBXBuildFile; fileRef = A92B6033D8233DB1821F193B /* xmlparse.c */; }; - C2E37E798F743A4199C8658E /* fddlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDC7345501033EC3AAD53D5F /* fddlgcmn.cpp */; }; - C2E37E798F743A4199C8658F /* fddlgcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDC7345501033EC3AAD53D5F /* fddlgcmn.cpp */; }; - C32EF2EC1A103BC3A6254321 /* xh_spin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 950D51915EF83B57B5E8306F /* xh_spin.cpp */; }; - C32EF2EC1A103BC3A6254322 /* xh_spin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 950D51915EF83B57B5E8306F /* xh_spin.cpp */; }; - C34B8675439F39B4845FFC50 /* xh_listb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4DCCF66D880330A9EE9B6B2 /* xh_listb.cpp */; }; - C34B8675439F39B4845FFC51 /* xh_listb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B4DCCF66D880330A9EE9B6B2 /* xh_listb.cpp */; }; - C3A63D7091913CD39094AE0B /* btncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A7A3B499503ECABC6A838F /* btncmn.cpp */; }; - C3A63D7091913CD39094AE0C /* btncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A7A3B499503ECABC6A838F /* btncmn.cpp */; }; - C3AC94EA13C1352790BF5FF7 /* listctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D9016355F66D3125919E017D /* listctrl.cpp */; }; - C3AC94EA13C1352790BF5FF8 /* listctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D9016355F66D3125919E017D /* listctrl.cpp */; }; - C425A172B0AB3EBD9AC9A590 /* ustring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EBEE1A04537E7887E9FD0 /* ustring.cpp */; }; - C425A172B0AB3EBD9AC9A591 /* ustring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EBEE1A04537E7887E9FD0 /* ustring.cpp */; }; - C43A9650A9DC3372AB8F5F78 /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 1DAF0931E4AD3E6581D7FDBC /* jidctint.c */; }; - C43A9650A9DC3372AB8F5F79 /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 1DAF0931E4AD3E6581D7FDBC /* jidctint.c */; }; - C5419BC04D6234B5A8307B81 /* xti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25C86D3D4839343BA1D8BDEE /* xti.cpp */; }; - C5419BC04D6234B5A8307B82 /* xti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25C86D3D4839343BA1D8BDEE /* xti.cpp */; }; - C5A8DF376BB13A2A8290C2E5 /* xh_unkwn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15FCCD1B587637DDA3C1748A /* xh_unkwn.cpp */; }; - C5A8DF376BB13A2A8290C2E6 /* xh_unkwn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15FCCD1B587637DDA3C1748A /* xh_unkwn.cpp */; }; - C5E5AB869065307F83E27DD1 /* htmlpars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1800B1884CC73C78A09E7FF1 /* htmlpars.cpp */; }; - C5E5AB869065307F83E27DD2 /* htmlpars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1800B1884CC73C78A09E7FF1 /* htmlpars.cpp */; }; - C67EAE20657E36839BF86690 /* richtooltipg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54710DA2AC4F3262A8A1EA63 /* richtooltipg.cpp */; }; - C67EAE20657E36839BF86691 /* richtooltipg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54710DA2AC4F3262A8A1EA63 /* richtooltipg.cpp */; }; - C6DF6F29407B34F29ED1B66D /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 3E3043D7BE9C33B59E900CCE /* jcmaster.c */; }; - C6DF6F29407B34F29ED1B66E /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 3E3043D7BE9C33B59E900CCE /* jcmaster.c */; }; - C7B6240E0E213836996A178B /* dockart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD709DEB71623974B9836D69 /* dockart.cpp */; }; - C7B6240E0E213836996A178C /* dockart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD709DEB71623974B9836D69 /* dockart.cpp */; }; - C8C68927DB243AEAB51E11F2 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = AF9EE701DD653E2299293E5F /* pngwio.c */; }; - C8C68927DB243AEAB51E11F3 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = AF9EE701DD653E2299293E5F /* pngwio.c */; }; - C8F1FB8C029031A5909DBC56 /* KeyMap.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E72CF5F9C1E53BCFAA2BC253 /* KeyMap.cxx */; }; - C8F1FB8C029031A5909DBC57 /* KeyMap.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E72CF5F9C1E53BCFAA2BC253 /* KeyMap.cxx */; }; - C92005CB86C6361BBB9D7C67 /* LexBibTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0851C46057CE3C37991B9E34 /* LexBibTeX.cxx */; }; - C92005CB86C6361BBB9D7C68 /* LexBibTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0851C46057CE3C37991B9E34 /* LexBibTeX.cxx */; }; - CA155860CE9A3A8189C3A4C2 /* zipstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54FB8A5FCBD0309AAC2E4F70 /* zipstrm.cpp */; }; - CA155860CE9A3A8189C3A4C3 /* zipstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54FB8A5FCBD0309AAC2E4F70 /* zipstrm.cpp */; }; - CA4DCD57060B38CC8B2283D7 /* filtfind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA4AF89C36C53EB4B307DCAB /* filtfind.cpp */; }; - CA4DCD57060B38CC8B2283D8 /* filtfind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA4AF89C36C53EB4B307DCAB /* filtfind.cpp */; }; - CA5BD8ABDBA13641BBE7CD66 /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = E89AC104BF4F33A083F8B382 /* jccoefct.c */; }; - CA5BD8ABDBA13641BBE7CD67 /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = E89AC104BF4F33A083F8B382 /* jccoefct.c */; }; - CA85901B9E2538CFB7E44216 /* process.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B35DA585CFDD32468868E892 /* process.cpp */; }; - CA85901B9E2538CFB7E44217 /* process.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B35DA585CFDD32468868E892 /* process.cpp */; }; - CAF5C5BB129431B596C4C6C1 /* LexTAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 38891BF8F51E398F9082903F /* LexTAL.cxx */; }; - CAF5C5BB129431B596C4C6C2 /* LexTAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 38891BF8F51E398F9082903F /* LexTAL.cxx */; }; - CB078622E90F33BE9D131131 /* buttonbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5612DBC4125B379DA2B28824 /* buttonbar.cpp */; }; - CB078622E90F33BE9D131132 /* buttonbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5612DBC4125B379DA2B28824 /* buttonbar.cpp */; }; - CB078622E90F33BE9D131133 /* buttonbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5612DBC4125B379DA2B28825 /* buttonbar.cpp */; }; - CB078622E90F33BE9D131134 /* buttonbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5612DBC4125B379DA2B28825 /* buttonbar.cpp */; }; - CB1F37993ECB3B73A51B42FD /* LexMySQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2F3EE2E9EE05311497826962 /* LexMySQL.cxx */; }; - CB1F37993ECB3B73A51B42FE /* LexMySQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2F3EE2E9EE05311497826962 /* LexMySQL.cxx */; }; - CB2E99E8FB7D3269A333A55E /* window_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D7C4995D7A35A1854B533F /* window_osx.cpp */; }; - CB2E99E8FB7D3269A333A55F /* window_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D7C4995D7A35A1854B533F /* window_osx.cpp */; }; - CB46C7E531903700ADFB11C8 /* tif_jbig.c in Sources */ = {isa = PBXBuildFile; fileRef = F6F01A84F4DE3C9FB9849004 /* tif_jbig.c */; }; - CB46C7E531903700ADFB11C9 /* tif_jbig.c in Sources */ = {isa = PBXBuildFile; fileRef = F6F01A84F4DE3C9FB9849004 /* tif_jbig.c */; }; - CBBD7B32DB7B3E24AE745D78 /* epolldispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2EA275DD7D1138F9AE988E45 /* epolldispatcher.cpp */; }; - CBBD7B32DB7B3E24AE745D79 /* epolldispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2EA275DD7D1138F9AE988E45 /* epolldispatcher.cpp */; }; - CBD152BCD11634B7BBB8AA8C /* button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 926AEAA989793A2F82185627 /* button.cpp */; }; - CBD152BCD11634B7BBB8AA8D /* button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 926AEAA989793A2F82185627 /* button.cpp */; }; - CCE4ECA9CE883B008065C6FB /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 725574EF98C4301989181CBF /* jctrans.c */; }; - CCE4ECA9CE883B008065C6FC /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 725574EF98C4301989181CBF /* jctrans.c */; }; - CCFD3144A22C3A87B67D88AB /* LexRebol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0D9828C9BD9633C1A8F4E0CD /* LexRebol.cxx */; }; - CCFD3144A22C3A87B67D88AC /* LexRebol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0D9828C9BD9633C1A8F4E0CD /* LexRebol.cxx */; }; - CD241361D4693785A0B8939D /* StyleContext.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9720FFA4490D3AC38E53BE03 /* StyleContext.cxx */; }; - CD241361D4693785A0B8939E /* StyleContext.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9720FFA4490D3AC38E53BE03 /* StyleContext.cxx */; }; - CD2A9111B8A83AFA8B5B97E5 /* overlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2128AD8BD12E3F33AD57478E /* overlay.cpp */; }; - CD2A9111B8A83AFA8B5B97E6 /* overlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2128AD8BD12E3F33AD57478E /* overlay.cpp */; }; - CD35A576FD363FD49C3AC4B3 /* LexAda.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 375E7A99FF4C38FA9E223772 /* LexAda.cxx */; }; - CD35A576FD363FD49C3AC4B4 /* LexAda.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 375E7A99FF4C38FA9E223772 /* LexAda.cxx */; }; - CDC0FF253B503BA19693D68D /* xh_propdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49BF55FA3427335097F99A2C /* xh_propdlg.cpp */; }; - CDC0FF253B503BA19693D68E /* xh_propdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49BF55FA3427335097F99A2C /* xh_propdlg.cpp */; }; - CE17002B5B7E375582747639 /* xh_choic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89EC3C6F9AEF3F6DA7CEB3B3 /* xh_choic.cpp */; }; - CE17002B5B7E37558274763A /* xh_choic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89EC3C6F9AEF3F6DA7CEB3B3 /* xh_choic.cpp */; }; - CE2C937117FE3AB599DD30B9 /* sound_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9B2316B32653DA0939A372D /* sound_osx.cpp */; }; - CE2C937117FE3AB599DD30BA /* sound_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9B2316B32653DA0939A372D /* sound_osx.cpp */; }; - CEBAAB0C77983358A601BFFE /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; - CEBAAB0C77983358A601BFFF /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; - CEC6430AEB6E3200BFA75D07 /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 90EC2A5B80EE3031BA4087B9 /* jfdctint.c */; }; - CEC6430AEB6E3200BFA75D08 /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 90EC2A5B80EE3031BA4087B9 /* jfdctint.c */; }; - CEE0D7A7D5D8323B9957A780 /* notifmsgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 924AA3A156F834BCA1A57976 /* notifmsgg.cpp */; }; - CEE0D7A7D5D8323B9957A781 /* notifmsgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 924AA3A156F834BCA1A57976 /* notifmsgg.cpp */; }; - CF172B12EEA53811BE649521 /* choice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC5B7709F4C3875A3A316C3 /* choice.cpp */; }; - CF172B12EEA53811BE649522 /* choice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC5B7709F4C3875A3A316C3 /* choice.cpp */; }; - CF3082BA1ED232F4B904BD14 /* stdpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75BF90BEF2F83BF28EC0458D /* stdpbase.cpp */; }; - CF3082BA1ED232F4B904BD15 /* stdpbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75BF90BEF2F83BF28EC0458D /* stdpbase.cpp */; }; - CFA91122523B31B9A07A3826 /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = C45AFE6CC20F3ED7A55FC8FA /* pngmem.c */; }; - CFA91122523B31B9A07A3827 /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = C45AFE6CC20F3ED7A55FC8FA /* pngmem.c */; }; - CFDBB80A4C9A3BA092273936 /* animatecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8ABD099BCEA30DCBF7A04F4 /* animatecmn.cpp */; }; - CFDBB80A4C9A3BA092273937 /* animatecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8ABD099BCEA30DCBF7A04F4 /* animatecmn.cpp */; }; - CFF73578F04D357E83D1D830 /* lboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */; }; - CFF73578F04D357E83D1D831 /* lboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */; }; - D00AF125FCB63A7A8F9B87DE /* taskbarcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4692909E4B823F71822B13F8 /* taskbarcmn.cpp */; }; - D00AF125FCB63A7A8F9B87DF /* taskbarcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4692909E4B823F71822B13F8 /* taskbarcmn.cpp */; }; - D070C3BE95483FE38BABA1BE /* region.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00DA3D3EEF5E305CA73A1871 /* region.cpp */; }; - D070C3BE95483FE38BABA1BF /* region.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00DA3D3EEF5E305CA73A1871 /* region.cpp */; }; - D088E7DDE38C31DC9C9B3417 /* dcclient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B17772732159304AA7312D72 /* dcclient.cpp */; }; - D088E7DDE38C31DC9C9B3418 /* dcclient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B17772732159304AA7312D72 /* dcclient.cpp */; }; - D0DA11B814AF30A18585122F /* jdphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = E85E680C62B63D4EBAB2E784 /* jdphuff.c */; }; - D0DA11B814AF30A185851230 /* jdphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = E85E680C62B63D4EBAB2E784 /* jdphuff.c */; }; - D13596A4E3CD31DE810061A1 /* imagjpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6876262846EA3569B36D92E9 /* imagjpeg.cpp */; }; - D13596A4E3CD31DE810061A2 /* imagjpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6876262846EA3569B36D92E9 /* imagjpeg.cpp */; }; - D13AE659C3AC37B68D39B2C9 /* LexLout.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B14D6E7E15FD3C869E341198 /* LexLout.cxx */; }; - D13AE659C3AC37B68D39B2CA /* LexLout.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B14D6E7E15FD3C869E341198 /* LexLout.cxx */; }; - D17E3053DA0D3F7EA4D0951B /* helpdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81821049E39B32C6ABCF6820 /* helpdlg.cpp */; }; - D17E3053DA0D3F7EA4D0951C /* helpdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81821049E39B32C6ABCF6820 /* helpdlg.cpp */; }; - D18E2985C48733B2B7B3D442 /* evtloopunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E9B79C8C7C4302AA057843E /* evtloopunix.cpp */; }; - D18E2985C48733B2B7B3D443 /* evtloopunix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E9B79C8C7C4302AA057843E /* evtloopunix.cpp */; }; - D1D7B594A0DB3781951C7682 /* evtloop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D92E3EEACA2132609CA3D28F /* evtloop.cpp */; }; - D1D7B594A0DB3781951C7683 /* evtloop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D92E3EEACA2132609CA3D28F /* evtloop.cpp */; }; - D2BCC29BB1353C6ABC7D4DDE /* menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC8157AB87CE3E47A98A6190 /* menu.cpp */; }; - D2BCC29BB1353C6ABC7D4DDF /* menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC8157AB87CE3E47A98A6190 /* menu.cpp */; }; - D36E76A4CAF5352D9397E1FF /* fdiodispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */; }; - D36E76A4CAF5352D9397E200 /* fdiodispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */; }; - D3FB75C8E3A73AE38EE8A6F6 /* selectdispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5D569A4DE643DC8B0C28087 /* selectdispatcher.cpp */; }; - D3FB75C8E3A73AE38EE8A6F7 /* selectdispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5D569A4DE643DC8B0C28087 /* selectdispatcher.cpp */; }; - D4C87E227A28391891D89088 /* filename.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BAD9A0BFED6A37E4A305E1D7 /* filename.cpp */; }; - D4C87E227A28391891D89089 /* filename.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BAD9A0BFED6A37E4A305E1D7 /* filename.cpp */; }; - D4EC9DB5F8DF319EA0FD26A4 /* LexVB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8F633793051F371F94C27530 /* LexVB.cxx */; }; - D4EC9DB5F8DF319EA0FD26A5 /* LexVB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8F633793051F371F94C27530 /* LexVB.cxx */; }; - D50FA9ECB16933C39A520D88 /* dirdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59255501B8053FEE8F258873 /* dirdlg.cpp */; }; - D50FA9ECB16933C39A520D89 /* dirdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59255501B8053FEE8F258873 /* dirdlg.cpp */; }; - D51B3389209E370489078891 /* tif_dirread.c in Sources */ = {isa = PBXBuildFile; fileRef = F6EA240B3DB93D398A990FAD /* tif_dirread.c */; }; - D51B3389209E370489078892 /* tif_dirread.c in Sources */ = {isa = PBXBuildFile; fileRef = F6EA240B3DB93D398A990FAD /* tif_dirread.c */; }; - D542C7819D593112AE5F7C3D /* combocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 06BB94FBD5E23872BE5AB4A3 /* combocmn.cpp */; }; - D542C7819D593112AE5F7C3E /* combocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 06BB94FBD5E23872BE5AB4A3 /* combocmn.cpp */; }; - D54A162E557834A48F4646A9 /* advprops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 326723AEB79A305F90D6B41D /* advprops.cpp */; }; - D54A162E557834A48F4646AA /* advprops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 326723AEB79A305F90D6B41D /* advprops.cpp */; }; - D54D3CA9E73336A08DB20705 /* LexBaan.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4B16CCC86CD235CB8E8EC0AA /* LexBaan.cxx */; }; - D54D3CA9E73336A08DB20706 /* LexBaan.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4B16CCC86CD235CB8E8EC0AA /* LexBaan.cxx */; }; - D594C725CA08333B83C214C2 /* scrolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B9D43F0F1CCA3BED871F7A6C /* scrolbar.cpp */; }; - D594C725CA08333B83C214C3 /* scrolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B9D43F0F1CCA3BED871F7A6C /* scrolbar.cpp */; }; - D5A25AC579F436509805335A /* appbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95A156A823B536DE8476E4F9 /* appbase.cpp */; }; - D5A25AC579F436509805335B /* appbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95A156A823B536DE8476E4F9 /* appbase.cpp */; }; - D5AABE973F3A351EB1C1A5A6 /* fontmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0817D6A1AF83608B050EBC3 /* fontmap.cpp */; }; - D5AABE973F3A351EB1C1A5A7 /* fontmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0817D6A1AF83608B050EBC3 /* fontmap.cpp */; }; - D5C304182151365FA9FF8A3D /* xh_bttn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0785AD527D033586A7DCE8B8 /* xh_bttn.cpp */; }; - D5C304182151365FA9FF8A3E /* xh_bttn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0785AD527D033586A7DCE8B8 /* xh_bttn.cpp */; }; - D5C5DD83882B3227A1CCFE0E /* LexSorcus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7D8BDFB06EE13E59ABB2A616 /* LexSorcus.cxx */; }; - D5C5DD83882B3227A1CCFE0F /* LexSorcus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 7D8BDFB06EE13E59ABB2A616 /* LexSorcus.cxx */; }; - D66F5D4D204B3B789C7F76B9 /* fontdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18044326B5B13A98A49732DD /* fontdlg.cpp */; }; - D66F5D4D204B3B789C7F76BA /* fontdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18044326B5B13A98A49732DD /* fontdlg.cpp */; }; - D6B2A64A78AF3F2983B441A8 /* ownerdrwcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 155ECF01CC4C318281AAA870 /* ownerdrwcmn.cpp */; }; - D6B2A64A78AF3F2983B441A9 /* ownerdrwcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 155ECF01CC4C318281AAA870 /* ownerdrwcmn.cpp */; }; - D6B73239BF0E32288161679C /* platinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97FFB03FF6793506B246BAC6 /* platinfo.cpp */; }; - D6B73239BF0E32288161679D /* platinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97FFB03FF6793506B246BAC6 /* platinfo.cpp */; }; - D6C3421AD2A537AAA2F0AB80 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168DB301ACC736FF96D7F581 /* file.cpp */; }; - D6C3421AD2A537AAA2F0AB81 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 168DB301ACC736FF96D7F581 /* file.cpp */; }; - D72D99FC424337CF9EDC2042 /* props.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C20E46A504113C899B9DD9B7 /* props.cpp */; }; - D72D99FC424337CF9EDC2043 /* props.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C20E46A504113C899B9DD9B7 /* props.cpp */; }; - D83B32B788EC310D919E0DF7 /* imagpcx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 10ED6D770A5A349AA4EE9747 /* imagpcx.cpp */; }; - D83B32B788EC310D919E0DF8 /* imagpcx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 10ED6D770A5A349AA4EE9747 /* imagpcx.cpp */; }; - D8ADDD24BEAC3D94B3388D3E /* LexCOBOL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B3D9C4122372343DBEAF6492 /* LexCOBOL.cxx */; }; - D8ADDD24BEAC3D94B3388D3F /* LexCOBOL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = B3D9C4122372343DBEAF6492 /* LexCOBOL.cxx */; }; - D9496139621533328AE727B6 /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 91300EB871CC39ECBC430D48 /* pngget.c */; }; - D9496139621533328AE727B7 /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 91300EB871CC39ECBC430D48 /* pngget.c */; }; - D95C5F467D37339AB8DF2354 /* tif_color.c in Sources */ = {isa = PBXBuildFile; fileRef = 149D299A0EDB3D998118EC93 /* tif_color.c */; }; - D95C5F467D37339AB8DF2355 /* tif_color.c in Sources */ = {isa = PBXBuildFile; fileRef = 149D299A0EDB3D998118EC93 /* tif_color.c */; }; - D98FABF75BCE3AF18C91B42D /* LexHex.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C86EC3AA4193E639EB08AA7 /* LexHex.cxx */; }; - D98FABF75BCE3AF18C91B42E /* LexHex.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C86EC3AA4193E639EB08AA7 /* LexHex.cxx */; }; - D997FFC948B73FDA892DB531 /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5FFCF47A161B3E08B19BFE14 /* jdsample.c */; }; - D997FFC948B73FDA892DB532 /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5FFCF47A161B3E08B19BFE14 /* jdsample.c */; }; - D9DCBE799DB634C2A73FD6BD /* statboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D73954EB5397301F87881646 /* statboxcmn.cpp */; }; - D9DCBE799DB634C2A73FD6BE /* statboxcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D73954EB5397301F87881646 /* statboxcmn.cpp */; }; - D9EE059D3C3C3C13AE4419F1 /* stattextcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54BD19211DBD388AA0DEC7A1 /* stattextcmn.cpp */; }; - D9EE059D3C3C3C13AE4419F2 /* stattextcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54BD19211DBD388AA0DEC7A1 /* stattextcmn.cpp */; }; - D9F02AFDA07D3857A905527C /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 68B81FBDA49D3C1991B6356A /* jdcolor.c */; }; - D9F02AFDA07D3857A905527D /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 68B81FBDA49D3C1991B6356A /* jdcolor.c */; }; - DA0FA502405A37B2A5698D20 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FE0B33481283D3493613B0F /* config.cpp */; }; - DA0FA502405A37B2A5698D21 /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FE0B33481283D3493613B0F /* config.cpp */; }; - DAAFBED07FF8365B96D20B99 /* unichar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB90ADAC10693B6F91E7D4E9 /* unichar.cpp */; }; - DAAFBED07FF8365B96D20B9A /* unichar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB90ADAC10693B6F91E7D4E9 /* unichar.cpp */; }; - DB3C3AA956A03FB492480266 /* treectlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F039CCBBE6C32A09930EBDB /* treectlg.cpp */; }; - DB3C3AA956A03FB492480267 /* treectlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F039CCBBE6C32A09930EBDB /* treectlg.cpp */; }; - DB73248401573A5996D8E68D /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 664736BDE465350C9C4750E9 /* jcmarker.c */; }; - DB73248401573A5996D8E68E /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 664736BDE465350C9C4750E9 /* jcmarker.c */; }; - DB9565CC4EAE3BCB9F490620 /* xmltok.c in Sources */ = {isa = PBXBuildFile; fileRef = 8685B8ED68F23DB0B770FD74 /* xmltok.c */; }; - DB9565CC4EAE3BCB9F490621 /* xmltok.c in Sources */ = {isa = PBXBuildFile; fileRef = 8685B8ED68F23DB0B770FD74 /* xmltok.c */; }; - DC5F82733F733D98B39DE74D /* LexDMIS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 910D00F1C9143C6D85C24E7C /* LexDMIS.cxx */; }; - DC5F82733F733D98B39DE74E /* LexDMIS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 910D00F1C9143C6D85C24E7C /* LexDMIS.cxx */; }; - DC6B669C9A78398F914AEE53 /* fontutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FF661188B563D27A11F5716 /* fontutil.cpp */; }; - DC6B669C9A78398F914AEE54 /* fontutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FF661188B563D27A11F5716 /* fontutil.cpp */; }; - DC928C38CA8331F18FF00BCB /* tif_lzma.c in Sources */ = {isa = PBXBuildFile; fileRef = 3088384F07C63A5DB3581656 /* tif_lzma.c */; }; - DC928C38CA8331F18FF00BCC /* tif_lzma.c in Sources */ = {isa = PBXBuildFile; fileRef = 3088384F07C63A5DB3581656 /* tif_lzma.c */; }; - DC978B60F6DF3176B5B114C3 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5466CC2D6579360E9C665EE5 /* memory.cpp */; }; - DC978B60F6DF3176B5B114C4 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5466CC2D6579360E9C665EE5 /* memory.cpp */; }; - DD1B139EA5AD3F6DB92C0FA8 /* EditModel.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E685D81FB9FF3081B6C5C321 /* EditModel.cxx */; }; - DD1B139EA5AD3F6DB92C0FA9 /* EditModel.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E685D81FB9FF3081B6C5C321 /* EditModel.cxx */; }; - DDC71B80D562303690FDBE4C /* appcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F01DDE448E4C3983ACCE67FD /* appcmn.cpp */; }; - DDC71B80D562303690FDBE4D /* appcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F01DDE448E4C3983ACCE67FD /* appcmn.cpp */; }; - DE26572475EE336B8EEA5D92 /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 108517BCD39230E7A89BC943 /* jerror.c */; }; - DE26572475EE336B8EEA5D93 /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 108517BCD39230E7A89BC943 /* jerror.c */; }; - DE43350F6C9D3148A64F0AF9 /* art_internal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C4649974D8B3A109D1BF145 /* art_internal.cpp */; }; - DE43350F6C9D3148A64F0AFA /* art_internal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C4649974D8B3A109D1BF145 /* art_internal.cpp */; }; - DEB35F871F8E3B90AD207AEE /* printps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF76670146413EEFA005206A /* printps.cpp */; }; - DEB35F871F8E3B90AD207AEF /* printps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF76670146413EEFA005206A /* printps.cpp */; }; - DEC5F4B34BC037169D3E5F2A /* mediactrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C839E49184663A7CBB7EEB06 /* mediactrlcmn.cpp */; }; - DEC5F4B34BC037169D3E5F2B /* mediactrlcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C839E49184663A7CBB7EEB06 /* mediactrlcmn.cpp */; }; - DF3B927516FB365E865A9780 /* LexerModule.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DF5A2C3521A43C9CBBB3C878 /* LexerModule.cxx */; }; - DF3B927516FB365E865A9781 /* LexerModule.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DF5A2C3521A43C9CBBB3C878 /* LexerModule.cxx */; }; - DF8124E5E17D386A84CEEA27 /* LexLisp.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 40586C8986443431A64EB066 /* LexLisp.cxx */; }; - DF8124E5E17D386A84CEEA28 /* LexLisp.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 40586C8986443431A64EB066 /* LexLisp.cxx */; }; - DF861EBD9C483E79ADF98602 /* CharacterCategory.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 308B9C05F5A839B5BE8ACBE9 /* CharacterCategory.cxx */; }; - DF861EBD9C483E79ADF98603 /* CharacterCategory.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 308B9C05F5A839B5BE8ACBE9 /* CharacterCategory.cxx */; }; - DF8CE011EAC23F73BDA1C44D /* scrolbar_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 600740717F7E320F8CA78384 /* scrolbar_osx.cpp */; }; - DF8CE011EAC23F73BDA1C44E /* scrolbar_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 600740717F7E320F8CA78384 /* scrolbar_osx.cpp */; }; - DFEB8DA3D42734949CB1E1AA /* clipcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 239D386E9D7D39C5A1E859C6 /* clipcmn.cpp */; }; - DFEB8DA3D42734949CB1E1AB /* clipcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 239D386E9D7D39C5A1E859C6 /* clipcmn.cpp */; }; - E05B06A7FEEE32D5AD87EA4F /* xh_editlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05310A868F0B35999C568681 /* xh_editlbox.cpp */; }; - E05B06A7FEEE32D5AD87EA50 /* xh_editlbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05310A868F0B35999C568681 /* xh_editlbox.cpp */; }; - E0E40333B61C33B58787078E /* LexMarkdown.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E78CBF86AAE637CB982B2EC0 /* LexMarkdown.cxx */; }; - E0E40333B61C33B58787078F /* LexMarkdown.cxx in Sources */ = {isa = PBXBuildFile; fileRef = E78CBF86AAE637CB982B2EC0 /* LexMarkdown.cxx */; }; - E0FAB345D2933D42B62917A3 /* bannerwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36296C259D023EAAA240FC79 /* bannerwindow.cpp */; }; - E0FAB345D2933D42B62917A4 /* bannerwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36296C259D023EAAA240FC79 /* bannerwindow.cpp */; }; - E104017EE1A4357DAF84E1E6 /* auibook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A298576700C33F018616E7BD /* auibook.cpp */; }; - E104017EE1A4357DAF84E1E7 /* auibook.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A298576700C33F018616E7BD /* auibook.cpp */; }; - E1A20811148F31D289AF98AF /* xh_sizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E855AB3AB08325980871AB4 /* xh_sizer.cpp */; }; - E1A20811148F31D289AF98B0 /* xh_sizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E855AB3AB08325980871AB4 /* xh_sizer.cpp */; }; - E1F7C51F411B3AF39476E488 /* fdrepdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F094B0B07DF33BCA6077BC0 /* fdrepdlg.cpp */; }; - E1F7C51F411B3AF39476E489 /* fdrepdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F094B0B07DF33BCA6077BC0 /* fdrepdlg.cpp */; }; - E2A73751CECF32A68FFAEE82 /* panelcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70E9B2C076673C87B4218A01 /* panelcmn.cpp */; }; - E2A73751CECF32A68FFAEE83 /* panelcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70E9B2C076673C87B4218A01 /* panelcmn.cpp */; }; - E3136EF5DD843ACE886E2868 /* tif_dir.c in Sources */ = {isa = PBXBuildFile; fileRef = E79B2D1F630036129B9677A7 /* tif_dir.c */; }; - E3136EF5DD843ACE886E2869 /* tif_dir.c in Sources */ = {isa = PBXBuildFile; fileRef = E79B2D1F630036129B9677A7 /* tif_dir.c */; }; - E39021D3CDCD33BAA646B006 /* sckaddr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE8238DA30FF3FB984511250 /* sckaddr.cpp */; }; - E39021D3CDCD33BAA646B007 /* sckaddr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE8238DA30FF3FB984511250 /* sckaddr.cpp */; }; - E3A4615870B139D29FE727C1 /* menucmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F175D6E8E5723FC797701275 /* menucmn.cpp */; }; - E3A4615870B139D29FE727C2 /* menucmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F175D6E8E5723FC797701275 /* menucmn.cpp */; }; - E3AD8574E13B39BDB8D4E92E /* LexKVIrc.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FCE8B55EBD6B348B8351AB08 /* LexKVIrc.cxx */; }; - E3AD8574E13B39BDB8D4E92F /* LexKVIrc.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FCE8B55EBD6B348B8351AB08 /* LexKVIrc.cxx */; }; - E3B3E4F75D503DB89B5C622D /* stc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B9C41A4D12345AAA764CAD /* stc.cpp */; }; - E3B3E4F75D503DB89B5C622E /* stc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B9C41A4D12345AAA764CAD /* stc.cpp */; }; - E4131E3B445C36E6A7FC802F /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = E433B890264339BA8DB97B1D /* regcomp.c */; }; - E4131E3B445C36E6A7FC8030 /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = E433B890264339BA8DB97B1D /* regcomp.c */; }; - E46BEC5C8D643BD099AF1D56 /* LexSTTXT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 50859F0155753FDCB8C5222A /* LexSTTXT.cxx */; }; - E46BEC5C8D643BD099AF1D57 /* LexSTTXT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 50859F0155753FDCB8C5222A /* LexSTTXT.cxx */; }; - E475B8377D7A352C90342299 /* glcanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B6FCA050C26323893012BD6 /* glcanvas.cpp */; }; - E475B8377D7A352C9034229A /* glcanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B6FCA050C26323893012BD6 /* glcanvas.cpp */; }; - E49F0D43B5A63EF1A57A7112 /* fswatcherg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47783A330B2A3B4EBB1CD95D /* fswatcherg.cpp */; }; - E49F0D43B5A63EF1A57A7113 /* fswatcherg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47783A330B2A3B4EBB1CD95D /* fswatcherg.cpp */; }; - E4B826CE70283D999CB591F3 /* listbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B99CA41708513A599AE275A2 /* listbox_osx.cpp */; }; - E4B826CE70283D999CB591F4 /* listbox_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B99CA41708513A599AE275A2 /* listbox_osx.cpp */; }; - E515EAE375AE390688CBF8D3 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5B32A13D5B3336098B1B9765 /* pngtrans.c */; }; - E515EAE375AE390688CBF8D4 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5B32A13D5B3336098B1B9765 /* pngtrans.c */; }; - E53AFF04877D34C386D77380 /* wfstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C37866F41B0C31E295AA7FA6 /* wfstream.cpp */; }; - E53AFF04877D34C386D77381 /* wfstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C37866F41B0C31E295AA7FA6 /* wfstream.cpp */; }; - E5D698D2606A304DA743AF92 /* grideditors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66426B63AA3E3A279936C034 /* grideditors.cpp */; }; - E5D698D2606A304DA743AF93 /* grideditors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66426B63AA3E3A279936C034 /* grideditors.cpp */; }; - E62F8E49FD5035D8BC71BB49 /* LexGAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 30BBE92ADD8A37C992B4F919 /* LexGAP.cxx */; }; - E62F8E49FD5035D8BC71BB4A /* LexGAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 30BBE92ADD8A37C992B4F919 /* LexGAP.cxx */; }; - E63364B7E727383BA8E2B7EC /* datstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81B3DFBB73573FFDBD320334 /* datstrm.cpp */; }; - E63364B7E727383BA8E2B7ED /* datstrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81B3DFBB73573FFDBD320334 /* datstrm.cpp */; }; - E6D18B2EDE353F678830859F /* odcombocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F23140777B733679D2FAAFC /* odcombocmn.cpp */; }; - E6D18B2EDE353F67883085A0 /* odcombocmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F23140777B733679D2FAAFC /* odcombocmn.cpp */; }; - E7140F3AB94D3FDFA86D8C06 /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49612306912038DDBCABB4DE /* url.cpp */; }; - E7140F3AB94D3FDFA86D8C07 /* url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49612306912038DDBCABB4DE /* url.cpp */; }; - E741CDA71895344C974D8F50 /* AutoComplete.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C63C3983BD243D55AF88DD67 /* AutoComplete.cxx */; }; - E741CDA71895344C974D8F51 /* AutoComplete.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C63C3983BD243D55AF88DD67 /* AutoComplete.cxx */; }; - E7921B0472B63E4091F4F517 /* xh_collpane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8638A6CCF773CCFB70DFC29 /* xh_collpane.cpp */; }; - E7921B0472B63E4091F4F518 /* xh_collpane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8638A6CCF773CCFB70DFC29 /* xh_collpane.cpp */; }; - E7AF3BF2B3473AD9BE66D1A1 /* xh_clrpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFDE3263CE3E728AFC47DF /* xh_clrpicker.cpp */; }; - E7AF3BF2B3473AD9BE66D1A2 /* xh_clrpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFDE3263CE3E728AFC47DF /* xh_clrpicker.cpp */; }; - E7D02E64384F37BC8939A2C4 /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = 375FF97B202F3C359402D13E /* jdpostct.c */; }; - E7D02E64384F37BC8939A2C5 /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = 375FF97B202F3C359402D13E /* jdpostct.c */; }; - E7F35B834A163C67B65176C6 /* tif_dirwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = B9FD5AE12CA9376883AEE4FC /* tif_dirwrite.c */; }; - E7F35B834A163C67B65176C7 /* tif_dirwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = B9FD5AE12CA9376883AEE4FC /* tif_dirwrite.c */; }; - E80BEED62EBF34F09B3F401F /* LexMagik.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 45860601270D318D93BEE1F3 /* LexMagik.cxx */; }; - E80BEED62EBF34F09B3F4020 /* LexMagik.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 45860601270D318D93BEE1F3 /* LexMagik.cxx */; }; - E82CB89681FF3747B6A94427 /* anybutton_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C62CD918A09D3FE5B1BF2D17 /* anybutton_osx.cpp */; }; - E82CB89681FF3747B6A94428 /* anybutton_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C62CD918A09D3FE5B1BF2D17 /* anybutton_osx.cpp */; }; - E882402BEE0330A080A6516F /* strconv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9FEB8204E530329FA085E5B8 /* strconv.cpp */; }; - E882402BEE0330A080A65170 /* strconv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9FEB8204E530329FA085E5B8 /* strconv.cpp */; }; - E8BBC08597EF383597DA0308 /* LexEiffel.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 55EBB18CB4773C788510B14B /* LexEiffel.cxx */; }; - E8BBC08597EF383597DA0309 /* LexEiffel.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 55EBB18CB4773C788510B14B /* LexEiffel.cxx */; }; - E8EE34F0A78C31B489B19FEE /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */; }; - E8EE34F0A78C31B489B19FEF /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */; }; - E8F0C87119C63E8E81423A7C /* stdpaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */; }; - E8F0C87119C63E8E81423A7D /* stdpaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */; }; - E92EB502F79638B0BE569EF4 /* CallTip.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */; }; - E92EB502F79638B0BE569EF5 /* CallTip.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */; }; - E9EDB5C92D5D3B529E8D73B0 /* valgen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7440859617F3B47AF4D3817 /* valgen.cpp */; }; - E9EDB5C92D5D3B529E8D73B1 /* valgen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7440859617F3B47AF4D3817 /* valgen.cpp */; }; - EA02FA6D3B003F8F8A2963C6 /* toolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE4B0CE56BA23002A5C8AEFF /* toolbar.cpp */; }; - EA02FA6D3B003F8F8A2963C7 /* toolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE4B0CE56BA23002A5C8AEFF /* toolbar.cpp */; }; - EA02FA6D3B003F8F8A2963C8 /* toolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE4B0CE56BA23002A5C8AF00 /* toolbar.cpp */; }; - EA02FA6D3B003F8F8A2963C9 /* toolbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE4B0CE56BA23002A5C8AF00 /* toolbar.cpp */; }; - EAA469E1A0CC33E4A21A3F7A /* gaugecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 570D603125ED3A14848FA2E2 /* gaugecmn.cpp */; }; - EAA469E1A0CC33E4A21A3F7B /* gaugecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 570D603125ED3A14848FA2E2 /* gaugecmn.cpp */; }; - EAE02BA934B43EEE92C496C7 /* dcpsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEA0945B20913754A54D0FD9 /* dcpsg.cpp */; }; - EAE02BA934B43EEE92C496C8 /* dcpsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEA0945B20913754A54D0FD9 /* dcpsg.cpp */; }; - EB52C6A915943813932944FE /* control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12363D1F50FE301DAEE7F04A /* control.cpp */; }; - EB52C6A915943813932944FF /* control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12363D1F50FE301DAEE7F04A /* control.cpp */; }; - EB52C6A91594381393294500 /* control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12363D1F50FE301DAEE7F04B /* control.cpp */; }; - EB52C6A91594381393294501 /* control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12363D1F50FE301DAEE7F04B /* control.cpp */; }; - EBA0986930DA3B59B2FB4F1E /* htmltag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FCCFF49F92B4323D9181CEDA /* htmltag.cpp */; }; - EBA0986930DA3B59B2FB4F1F /* htmltag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FCCFF49F92B4323D9181CEDA /* htmltag.cpp */; }; - EBF2D44758003221A22202BC /* colourcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D61240ABD70328BA5789663 /* colourcmn.cpp */; }; - EBF2D44758003221A22202BD /* colourcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D61240ABD70328BA5789663 /* colourcmn.cpp */; }; - EC3A1C620D323B5590AABF02 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DB43FAB1E563B02ACEFF647 /* module.cpp */; }; - EC3A1C620D323B5590AABF03 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9DB43FAB1E563B02ACEFF647 /* module.cpp */; }; - EC3D181D65F33E09A675FFF2 /* addremovectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 964578C24B9F390AAD08576E /* addremovectrl.cpp */; }; - EC3D181D65F33E09A675FFF3 /* addremovectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 964578C24B9F390AAD08576E /* addremovectrl.cpp */; }; - EC43AFB3670A3D459D9B388D /* LexMPT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FE3B47058A723243A285594D /* LexMPT.cxx */; }; - EC43AFB3670A3D459D9B388E /* LexMPT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FE3B47058A723243A285594D /* LexMPT.cxx */; }; - ED8D23D79FF33ED380FE09EB /* scrlwing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FB6D34C3029357EB64AECAA /* scrlwing.cpp */; }; - ED8D23D79FF33ED380FE09EC /* scrlwing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FB6D34C3029357EB64AECAA /* scrlwing.cpp */; }; - EDCA35F1555F3509895CCA69 /* textctrl_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C0129D2DB2D3431B66FD9C3 /* textctrl_osx.cpp */; }; - EDCA35F1555F3509895CCA6A /* textctrl_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C0129D2DB2D3431B66FD9C3 /* textctrl_osx.cpp */; }; - EDD5725CF41336EFA7FB3009 /* framecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54B80C17F823CB5900AD2E8 /* framecmn.cpp */; }; - EDD5725CF41336EFA7FB300A /* framecmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54B80C17F823CB5900AD2E8 /* framecmn.cpp */; }; - EDD92822EBD93E86AE5A2ED0 /* slidercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8072CA67D19346ABF4D465F /* slidercmn.cpp */; }; - EDD92822EBD93E86AE5A2ED1 /* slidercmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8072CA67D19346ABF4D465F /* slidercmn.cpp */; }; - EE0EA850822E35F596B5EBBA /* artprov.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29387393C07C39DB8FF1663B /* artprov.cpp */; }; - EE0EA850822E35F596B5EBBB /* artprov.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29387393C07C39DB8FF1663B /* artprov.cpp */; }; - EE6474BBB4AF34D093E2451D /* MarginView.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F951601E73683F27AD8CA99D /* MarginView.cxx */; }; - EE6474BBB4AF34D093E2451E /* MarginView.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F951601E73683F27AD8CA99D /* MarginView.cxx */; }; - EEB0B28903693C7E9D07192F /* glcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08A51FA8D8A361681B07295 /* glcmn.cpp */; }; - EEB0B28903693C7E9D071930 /* glcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08A51FA8D8A361681B07295 /* glcmn.cpp */; }; - F016C51053373E658ED4C9A9 /* helpext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF376BC55EA73F5FB7328142 /* helpext.cpp */; }; - F016C51053373E658ED4C9AA /* helpext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF376BC55EA73F5FB7328142 /* helpext.cpp */; }; - F0290CF0258A30478FED38A2 /* tglbtn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71F35835D4DE34D59F924E36 /* tglbtn.cpp */; }; - F0290CF0258A30478FED38A3 /* tglbtn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71F35835D4DE34D59F924E36 /* tglbtn.cpp */; }; - F04F796823753478BCC9EB6F /* statbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B7E02F461A33397B00E9004 /* statbmp.cpp */; }; - F04F796823753478BCC9EB70 /* statbmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B7E02F461A33397B00E9004 /* statbmp.cpp */; }; - F07D84D124F23E7FA11CF148 /* extended.c in Sources */ = {isa = PBXBuildFile; fileRef = 033B94A9AC8A3370A794503F /* extended.c */; }; - F07D84D124F23E7FA11CF149 /* extended.c in Sources */ = {isa = PBXBuildFile; fileRef = 033B94A9AC8A3370A794503F /* extended.c */; }; - F0B3F484C38C3BA0B9927CD9 /* docmdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECC9F5C21ACB31A0B24AEE35 /* docmdi.cpp */; }; - F0B3F484C38C3BA0B9927CDA /* docmdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECC9F5C21ACB31A0B24AEE35 /* docmdi.cpp */; }; - F0D892C2618130FEAD46BB86 /* panel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00969CBE3B8F32C78C195619 /* panel.cpp */; }; - F0D892C2618130FEAD46BB87 /* panel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00969CBE3B8F32C78C195619 /* panel.cpp */; }; - F1E4D7CA634E33808AE3B522 /* fontenumcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 373242CD08F330208A7CF438 /* fontenumcmn.cpp */; }; - F1E4D7CA634E33808AE3B523 /* fontenumcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 373242CD08F330208A7CF438 /* fontenumcmn.cpp */; }; - F1E8E4D6D8453F7382E6497F /* filedlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D47A353B2C63204ABDD42DE /* filedlg.cpp */; }; - F1E8E4D6D8453F7382E64980 /* filedlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D47A353B2C63204ABDD42DE /* filedlg.cpp */; }; - F1F484DD591337399FCD0463 /* display.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5617D10CB7136EC9A4194EF /* display.cpp */; }; - F1F484DD591337399FCD0464 /* display.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5617D10CB7136EC9A4194EF /* display.cpp */; }; - F22C401903993639AE05A295 /* xh_stbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147800BBCB80346798B35D75 /* xh_stbox.cpp */; }; - F22C401903993639AE05A296 /* xh_stbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147800BBCB80346798B35D75 /* xh_stbox.cpp */; }; - F24F637D59F637CA9A7E23C9 /* xh_filectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 60EE4448A28D38F5ADE17B5A /* xh_filectrl.cpp */; }; - F24F637D59F637CA9A7E23CA /* xh_filectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 60EE4448A28D38F5ADE17B5A /* xh_filectrl.cpp */; }; - F2813BF297C73A3ABD02EC98 /* glcanvas_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA59091E3ED83FB781FB9659 /* glcanvas_osx.cpp */; }; - F2813BF297C73A3ABD02EC99 /* glcanvas_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA59091E3ED83FB781FB9659 /* glcanvas_osx.cpp */; }; - F2F2963D8ECC32D39FDBF101 /* tif_write.c in Sources */ = {isa = PBXBuildFile; fileRef = E9B992CB6C28339FB0CA5E27 /* tif_write.c */; }; - F2F2963D8ECC32D39FDBF102 /* tif_write.c in Sources */ = {isa = PBXBuildFile; fileRef = E9B992CB6C28339FB0CA5E27 /* tif_write.c */; }; - F34D240EB4513FE996179182 /* xh_mdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AFCEB1FFA3037458F132CAB /* xh_mdi.cpp */; }; - F34D240EB4513FE996179183 /* xh_mdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AFCEB1FFA3037458F132CAB /* xh_mdi.cpp */; }; - F38202271C6131908C358DEC /* mstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DC3D1E222FD93A69B1D1366E /* mstream.cpp */; }; - F38202271C6131908C358DED /* mstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DC3D1E222FD93A69B1D1366E /* mstream.cpp */; }; - F3AC352D6DAE3A12A5664768 /* styleparams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3ABD697F99673F16A0B2D4C1 /* styleparams.cpp */; }; - F3AC352D6DAE3A12A5664769 /* styleparams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3ABD697F99673F16A0B2D4C1 /* styleparams.cpp */; }; - F3CB42BB6D983675862C01F3 /* xh_toolb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BFC1F090EFE30B784CE4C64 /* xh_toolb.cpp */; }; - F3CB42BB6D983675862C01F4 /* xh_toolb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BFC1F090EFE30B784CE4C64 /* xh_toolb.cpp */; }; - F43DAE2E829A3A7493531381 /* richtextimagedlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1CE9B3DD54AD318FAA821732 /* richtextimagedlg.cpp */; }; - F43DAE2E829A3A7493531382 /* richtextimagedlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1CE9B3DD54AD318FAA821732 /* richtextimagedlg.cpp */; }; - F46777ABE0743B04A1E1F0A4 /* spinbtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C668C23A4E9A3A39BEED384E /* spinbtncmn.cpp */; }; - F46777ABE0743B04A1E1F0A5 /* spinbtncmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C668C23A4E9A3A39BEED384E /* spinbtncmn.cpp */; }; - F4C0CEADEDC23610BF6983D6 /* artmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B0665A40F3FC3F218074C63C /* artmac.cpp */; }; - F4C0CEADEDC23610BF6983D7 /* artmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B0665A40F3FC3F218074C63C /* artmac.cpp */; }; - F501AB044AAC39DCB8C0B3E1 /* editors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C7F740A55E39FD890B3C7F /* editors.cpp */; }; - F501AB044AAC39DCB8C0B3E2 /* editors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C7F740A55E39FD890B3C7F /* editors.cpp */; }; - F55F3887CDE633D7877C607B /* LexSmalltalk.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 3551A51B4A493090B67CA216 /* LexSmalltalk.cxx */; }; - F55F3887CDE633D7877C607C /* LexSmalltalk.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 3551A51B4A493090B67CA216 /* LexSmalltalk.cxx */; }; - F569D7A3F0E038E9B4CC2A76 /* xh_comboctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FC445EFDC503C74A5CC6D7D /* xh_comboctrl.cpp */; }; - F569D7A3F0E038E9B4CC2A77 /* xh_comboctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FC445EFDC503C74A5CC6D7D /* xh_comboctrl.cpp */; }; - F5806029B1BA3924A8FDDBC1 /* busyinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F94CF171F4532B89FECF475 /* busyinfo.cpp */; }; - F5806029B1BA3924A8FDDBC2 /* busyinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F94CF171F4532B89FECF475 /* busyinfo.cpp */; }; - F5B0B26BD0803719A3FCB4D7 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 0E45F6DF601A34BCB3CC0206 /* adler32.c */; }; - F5B0B26BD0803719A3FCB4D8 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 0E45F6DF601A34BCB3CC0206 /* adler32.c */; }; - F5D0BCF1A6C839E5829199E2 /* sizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C654A08F74B3DBCA96CC2A9 /* sizer.cpp */; }; - F5D0BCF1A6C839E5829199E3 /* sizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C654A08F74B3DBCA96CC2A9 /* sizer.cpp */; }; - F5D2146C94E733FAAB6D286A /* threadpsx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB466912FDA23F8B87A00A3C /* threadpsx.cpp */; }; - F5D2146C94E733FAAB6D286B /* threadpsx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB466912FDA23F8B87A00A3C /* threadpsx.cpp */; }; - F5DF7AF0FA9E371BB71EF798 /* xh_listbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EB0085AFB93BFC88AC6FFC /* xh_listbk.cpp */; }; - F5DF7AF0FA9E371BB71EF799 /* xh_listbk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EB0085AFB93BFC88AC6FFC /* xh_listbk.cpp */; }; - F5FF98C231B33E3EB7902C64 /* colordlgosx.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAAED71A534135A9A61612A6 /* colordlgosx.mm */; }; - F5FF98C231B33E3EB7902C65 /* colordlgosx.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAAED71A534135A9A61612A6 /* colordlgosx.mm */; }; - F6288F388B8C33FD85E9A155 /* LexerNoExceptions.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 267DB0E799183294B707A39D /* LexerNoExceptions.cxx */; }; - F6288F388B8C33FD85E9A156 /* LexerNoExceptions.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 267DB0E799183294B707A39D /* LexerNoExceptions.cxx */; }; - F6A1AC5CF84E32C19F91A614 /* statbrma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1F2E9C9052D3E53BBD17DE3 /* statbrma.cpp */; }; - F6A1AC5CF84E32C19F91A615 /* statbrma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1F2E9C9052D3E53BBD17DE3 /* statbrma.cpp */; }; - F6B85CD918E93923BE631B95 /* fs_filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB58DD0DEC13D68B8708085 /* fs_filter.cpp */; }; - F6B85CD918E93923BE631B96 /* fs_filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB58DD0DEC13D68B8708085 /* fs_filter.cpp */; }; - F70156C3E68B38FCB72FE253 /* dirdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9D416E57FEB3F0B95734FF6 /* dirdlgg.cpp */; }; - F70156C3E68B38FCB72FE254 /* dirdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9D416E57FEB3F0B95734FF6 /* dirdlgg.cpp */; }; - F72020415D713C1BA41C17CF /* richmsgdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9977457BC7F3A1D93C18A02 /* richmsgdlgg.cpp */; }; - F72020415D713C1BA41C17D0 /* richmsgdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9977457BC7F3A1D93C18A02 /* richmsgdlgg.cpp */; }; - F747991E5C973F9B8C9D800A /* fontcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 30C0FB3166DD31A893AE98E2 /* fontcmn.cpp */; }; - F747991E5C973F9B8C9D800B /* fontcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 30C0FB3166DD31A893AE98E2 /* fontcmn.cpp */; }; - F7D10B6E0CBA32EFAF79C77C /* xh_dirpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD169D8019A13A11BDB26214 /* xh_dirpicker.cpp */; }; - F7D10B6E0CBA32EFAF79C77D /* xh_dirpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD169D8019A13A11BDB26214 /* xh_dirpicker.cpp */; }; - F80C2290D67B345F9CF60085 /* dpycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A37E3D1FB4FB31AFAE88665A /* dpycmn.cpp */; }; - F80C2290D67B345F9CF60086 /* dpycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A37E3D1FB4FB31AFAE88665A /* dpycmn.cpp */; }; - F85D632964383F29BC3B30B6 /* tif_next.c in Sources */ = {isa = PBXBuildFile; fileRef = DFDC805DD3063C389F93642D /* tif_next.c */; }; - F85D632964383F29BC3B30B7 /* tif_next.c in Sources */ = {isa = PBXBuildFile; fileRef = DFDC805DD3063C389F93642D /* tif_next.c */; }; - F89405757B063F80B111F469 /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E0EBCDDF248638B58B01D9CC /* datetime.cpp */; }; - F89405757B063F80B111F46A /* datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E0EBCDDF248638B58B01D9CC /* datetime.cpp */; }; - F910C74E48823E0BA7F7885D /* graphicc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BACAA6CE4A0934459F26B27C /* graphicc.cpp */; }; - F910C74E48823E0BA7F7885E /* graphicc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BACAA6CE4A0934459F26B27C /* graphicc.cpp */; }; - F9C5EAC42CCF3267B4100BAE /* wakeuppipe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B38F3D4DC6D139BA93401F7A /* wakeuppipe.cpp */; }; - F9C5EAC42CCF3267B4100BAF /* wakeuppipe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B38F3D4DC6D139BA93401F7A /* wakeuppipe.cpp */; }; - FADD46CB89B135D1AF1D5F8A /* richtextstyledlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23839659AC2A383CB383F0EC /* richtextstyledlg.cpp */; }; - FADD46CB89B135D1AF1D5F8B /* richtextstyledlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23839659AC2A383CB383F0EC /* richtextstyledlg.cpp */; }; - FB09720D13673A7B81BCB645 /* xh_datectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C63C964DAFAD311694367C94 /* xh_datectrl.cpp */; }; - FB09720D13673A7B81BCB646 /* xh_datectrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C63C964DAFAD311694367C94 /* xh_datectrl.cpp */; }; - FB8B6E4789A3311A98C5B0A8 /* clrpickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B5A9DF3206B3954A4B38BFD /* clrpickerg.cpp */; }; - FB8B6E4789A3311A98C5B0A9 /* clrpickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B5A9DF3206B3954A4B38BFD /* clrpickerg.cpp */; }; - FBA19C939E1E33EDB05043FE /* cairo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DBE56B153AA3AC8A4BBE77C /* cairo.cpp */; }; - FBA19C939E1E33EDB05043FF /* cairo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DBE56B153AA3AC8A4BBE77C /* cairo.cpp */; }; - FBE4DB30865D3177B3A9993B /* xh_animatctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C1E755F2408363288B2CE69 /* xh_animatctrl.cpp */; }; - FBE4DB30865D3177B3A9993C /* xh_animatctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C1E755F2408363288B2CE69 /* xh_animatctrl.cpp */; }; - FCE5B139CBE73FCB804EF7DD /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 8EB76F786D7F3FF286948D22 /* jcomapi.c */; }; - FCE5B139CBE73FCB804EF7DE /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 8EB76F786D7F3FF286948D22 /* jcomapi.c */; }; - FD1F6CD8286D3D428FD52A28 /* filepickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B580FD04D0D83601826FD5EE /* filepickerg.cpp */; }; - FD1F6CD8286D3D428FD52A29 /* filepickerg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B580FD04D0D83601826FD5EE /* filepickerg.cpp */; }; - FD38B04026F930CC80BC9480 /* m_pre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61658C3EABB4341AA38C691E /* m_pre.cpp */; }; - FD38B04026F930CC80BC9481 /* m_pre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61658C3EABB4341AA38C691E /* m_pre.cpp */; }; - FD3B31CE1E7832218B5D9A15 /* LexPO.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC3430B6483E35C3A201BF44 /* LexPO.cxx */; }; - FD3B31CE1E7832218B5D9A16 /* LexPO.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC3430B6483E35C3A201BF44 /* LexPO.cxx */; }; - FD3CC5F0AA41384B9388A1E0 /* htmlfilt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C6C4F5468743265A02D656C /* htmlfilt.cpp */; }; - FD3CC5F0AA41384B9388A1E1 /* htmlfilt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C6C4F5468743265A02D656C /* htmlfilt.cpp */; }; - FDE14459359334DE9FB03ED5 /* xh_scrol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66411D54BAD338498AC59401 /* xh_scrol.cpp */; }; - FDE14459359334DE9FB03ED6 /* xh_scrol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66411D54BAD338498AC59401 /* xh_scrol.cpp */; }; - FE2DBCCC1D0B36A3BE4493C0 /* fs_arc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88F2BA2F0598342186A484B5 /* fs_arc.cpp */; }; - FE2DBCCC1D0B36A3BE4493C1 /* fs_arc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88F2BA2F0598342186A484B5 /* fs_arc.cpp */; }; - FE5285579C7F39C48FC66B10 /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 888BD97139C936679691FF34 /* hash.cpp */; }; - FE5285579C7F39C48FC66B11 /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 888BD97139C936679691FF34 /* hash.cpp */; }; - FE5B7C7A84B83C17A38E8403 /* LexSML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 912B2982C9413F2FB40CA2D9 /* LexSML.cxx */; }; - FE5B7C7A84B83C17A38E8404 /* LexSML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 912B2982C9413F2FB40CA2D9 /* LexSML.cxx */; }; - FE9A662A1F9B34D099C45C1D /* xh_cald.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 093B5233861B3F9B8C85762B /* xh_cald.cpp */; }; - FE9A662A1F9B34D099C45C1E /* xh_cald.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 093B5233861B3F9B8C85762B /* xh_cald.cpp */; }; - FEA741A9B6663A4C929893C2 /* aboutdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77D6E66F72443765A2FBE263 /* aboutdlgg.cpp */; }; - FEA741A9B6663A4C929893C3 /* aboutdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77D6E66F72443765A2FBE263 /* aboutdlgg.cpp */; }; - FEB073547F3F3AC19D31F698 /* tif_tile.c in Sources */ = {isa = PBXBuildFile; fileRef = BD88495AF72531A28D2201D0 /* tif_tile.c */; }; - FEB073547F3F3AC19D31F699 /* tif_tile.c in Sources */ = {isa = PBXBuildFile; fileRef = BD88495AF72531A28D2201D0 /* tif_tile.c */; }; - FECC98B53C0F3106AB04E69E /* tif_fax3.c in Sources */ = {isa = PBXBuildFile; fileRef = 30FD1048328234E59D319863 /* tif_fax3.c */; }; - FECC98B53C0F3106AB04E69F /* tif_fax3.c in Sources */ = {isa = PBXBuildFile; fileRef = 30FD1048328234E59D319863 /* tif_fax3.c */; }; - FEF99FF6C38D3B488396B142 /* ffile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA6B65038FB32F7A3EFBB97 /* ffile.cpp */; }; - FEF99FF6C38D3B488396B143 /* ffile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA6B65038FB32F7A3EFBB97 /* ffile.cpp */; }; - FF50EC0EC5F23DF890C6E95F /* colour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9D1F14339D1C331087650931 /* colour.cpp */; }; - FF50EC0EC5F23DF890C6E960 /* colour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9D1F14339D1C331087650931 /* colour.cpp */; }; - FF7DB2884F6E3C5DB4BDF61D /* fswatcher_kqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C019CE87CF9931B0B77C0823 /* fswatcher_kqueue.cpp */; }; - FF7DB2884F6E3C5DB4BDF61E /* fswatcher_kqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C019CE87CF9931B0B77C0823 /* fswatcher_kqueue.cpp */; }; - FFF5BFBE600E35FAB7EA522C /* fileback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC12D557950A3B0D89D9F2F3 /* fileback.cpp */; }; - FFF5BFBE600E35FAB7EA522D /* fileback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC12D557950A3B0D89D9F2F3 /* fileback.cpp */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 0080254545B9383ABDF2045C /* xh_odcombo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_odcombo.cpp; path = ../../src/xrc/xh_odcombo.cpp; sourceTree = ""; }; - 00969CBE3B8F32C78C195619 /* panel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = panel.cpp; path = ../../src/ribbon/panel.cpp; sourceTree = ""; }; - 00BC2298BC7A33B7A68584FE /* bookctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bookctrl.cpp; path = ../../src/common/bookctrl.cpp; sourceTree = ""; }; - 00DA3D3EEF5E305CA73A1871 /* region.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = region.cpp; path = ../../src/osx/carbon/region.cpp; sourceTree = ""; }; - 0116581B77DF3A5D889B8D17 /* dndcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dndcmn.cpp; path = ../../src/common/dndcmn.cpp; sourceTree = ""; }; - 018B15DE6F3A3D49B9CDE9DE /* hidjoystick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hidjoystick.cpp; path = ../../src/osx/core/hidjoystick.cpp; sourceTree = ""; }; - 01BA6D45FE4C381493EB4372 /* validate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = validate.cpp; path = ../../src/common/validate.cpp; sourceTree = ""; }; - 027D2F04BE933ED6B9BA1518 /* imaglist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imaglist.cpp; path = ../../src/osx/imaglist.cpp; sourceTree = ""; }; - 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = ../../src/jpeg/jfdctfst.c; sourceTree = ""; }; - 02A756A2887839B2900F8CAC /* listctrl_mac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listctrl_mac.cpp; path = ../../src/osx/carbon/listctrl_mac.cpp; sourceTree = ""; }; - 02D2E8B5C89939CE90B99E2B /* archive.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = archive.cpp; path = ../../src/common/archive.cpp; sourceTree = ""; }; - 02D9332D5C5632E981936E29 /* jquant2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = ../../src/jpeg/jquant2.c; sourceTree = ""; }; - 032A38738B58394E8617617B /* tif_dirinfo.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_dirinfo.c; path = ../../src/tiff/libtiff/tif_dirinfo.c; sourceTree = ""; }; - 033B94A9AC8A3370A794503F /* extended.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = extended.c; path = ../../src/common/extended.c; sourceTree = ""; }; - 0401B7302088357BB6B7F16F /* timerimpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timerimpl.cpp; path = ../../src/common/timerimpl.cpp; sourceTree = ""; }; - 04082EC1C91334379425802D /* LexConf.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexConf.cxx; path = ../../src/stc/scintilla/lexers/LexConf.cxx; sourceTree = ""; }; - 0510EE0FB3FF36EF8670ABD1 /* cmndata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cmndata.cpp; path = ../../src/common/cmndata.cpp; sourceTree = ""; }; - 05310A868F0B35999C568681 /* xh_editlbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_editlbox.cpp; path = ../../src/xrc/xh_editlbox.cpp; sourceTree = ""; }; - 05A4437E9697300390FDE14E /* auibar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = auibar.cpp; path = ../../src/aui/auibar.cpp; sourceTree = ""; }; - 06B4A895955B32258DCD62BF /* xh_dlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_dlg.cpp; path = ../../src/xrc/xh_dlg.cpp; sourceTree = ""; }; - 06BB94FBD5E23872BE5AB4A3 /* combocmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = combocmn.cpp; path = ../../src/common/combocmn.cpp; sourceTree = ""; }; - 071FEABEA61E3B559A47A7DB /* statusbr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statusbr.cpp; path = ../../src/generic/statusbr.cpp; sourceTree = ""; }; - 0785AD527D033586A7DCE8B8 /* xh_bttn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_bttn.cpp; path = ../../src/xrc/xh_bttn.cpp; sourceTree = ""; }; - 07CDBBC10C8E37BBA8600DD6 /* xh_bmp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_bmp.cpp; path = ../../src/xrc/xh_bmp.cpp; sourceTree = ""; }; - 080597FC0436378E96EDA94B /* m_links.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_links.cpp; path = ../../src/html/m_links.cpp; sourceTree = ""; }; - 082CA018FB883999839C1DCE /* m_tables.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_tables.cpp; path = ../../src/html/m_tables.cpp; sourceTree = ""; }; - 0851C46057CE3C37991B9E34 /* LexBibTeX.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexBibTeX.cxx; path = ../../src/stc/scintilla/lexers/LexBibTeX.cxx; sourceTree = ""; }; - 087B66573CD33DA99DA82B1C /* xmlres.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xmlres.cpp; path = ../../src/xrc/xmlres.cpp; sourceTree = ""; }; - 0890779C662C35889A8C6C2E /* jdmerge.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../src/jpeg/jdmerge.c; sourceTree = ""; }; - 0903EE9B3793303285FF96E3 /* textfile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textfile.cpp; path = ../../src/common/textfile.cpp; sourceTree = ""; }; - 093B5233861B3F9B8C85762B /* xh_cald.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_cald.cpp; path = ../../src/xrc/xh_cald.cpp; sourceTree = ""; }; - 0964797530CF3FE7B8DB6242 /* pngwtran.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../src/png/pngwtran.c; sourceTree = ""; }; - 09F8B0818C3A3248A26EE05D /* choicbkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choicbkg.cpp; path = ../../src/generic/choicbkg.cpp; sourceTree = ""; }; - 0A59A5C2305D3D1C8049BE71 /* LexCsound.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCsound.cxx; path = ../../src/stc/scintilla/lexers/LexCsound.cxx; sourceTree = ""; }; - 0BF1F491B8A8376E8E2E8182 /* cursor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cursor.cpp; path = ../../src/osx/carbon/cursor.cpp; sourceTree = ""; }; - 0CB2CC8E60833A6993BEA321 /* timerunx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timerunx.cpp; path = ../../src/unix/timerunx.cpp; sourceTree = ""; }; - 0CC4C44F4DB833839AD96DBD /* xh_auitoolb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_auitoolb.cpp; path = ../../src/xrc/xh_auitoolb.cpp; sourceTree = ""; }; - 0D3BD03BCE953D1B964EDB7A /* colourdata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = colourdata.cpp; path = ../../src/common/colourdata.cpp; sourceTree = ""; }; - 0D9828C9BD9633C1A8F4E0CD /* LexRebol.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexRebol.cxx; path = ../../src/stc/scintilla/lexers/LexRebol.cxx; sourceTree = ""; }; - 0DA80913C0E33144A42BD30F /* webview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = webview.cpp; path = ../../src/common/webview.cpp; sourceTree = ""; }; - 0E45F6DF601A34BCB3CC0206 /* adler32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = ../../src/zlib/adler32.c; sourceTree = ""; }; - 0E7BF9256DF533EBAE2B945E /* WordList.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WordList.cxx; path = ../../src/stc/scintilla/lexlib/WordList.cxx; sourceTree = ""; }; - 0EB91E8407CB3300A19F387D /* ctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ctrlcmn.cpp; path = ../../src/common/ctrlcmn.cpp; sourceTree = ""; }; - 0EEAD9C3E180305D8899441E /* strvararg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strvararg.cpp; path = ../../src/common/strvararg.cpp; sourceTree = ""; }; - 108517BCD39230E7A89BC943 /* jerror.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = ../../src/jpeg/jerror.c; sourceTree = ""; }; - 1094F7D0E7A93B0CAC949001 /* tif_dumpmode.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_dumpmode.c; path = ../../src/tiff/libtiff/tif_dumpmode.c; sourceTree = ""; }; - 1098499A317A3DEEA4D16D0D /* LexVHDL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexVHDL.cxx; path = ../../src/stc/scintilla/lexers/LexVHDL.cxx; sourceTree = ""; }; - 10EADF7E7DC032CA8522C1F8 /* LexHaskell.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexHaskell.cxx; path = ../../src/stc/scintilla/lexers/LexHaskell.cxx; sourceTree = ""; }; - 10ED6D770A5A349AA4EE9747 /* imagpcx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagpcx.cpp; path = ../../src/common/imagpcx.cpp; sourceTree = ""; }; - 117CD1A3BCB53CEE800787AE /* txtstrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = txtstrm.cpp; path = ../../src/common/txtstrm.cpp; sourceTree = ""; }; - 1197B997B1D139C5AE4D198A /* dseldlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dseldlg.cpp; path = ../../src/common/dseldlg.cpp; sourceTree = ""; }; - 11AE4D94B791344AB6BF6397 /* xh_bmpbt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_bmpbt.cpp; path = ../../src/xrc/xh_bmpbt.cpp; sourceTree = ""; }; - 12363D1F50FE301DAEE7F04A /* control.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = control.cpp; path = ../../src/osx/carbon/control.cpp; sourceTree = ""; }; - 12363D1F50FE301DAEE7F04B /* control.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = control.cpp; path = ../../src/ribbon/control.cpp; sourceTree = ""; }; - 12453E271F2A3AC9969E62A4 /* clipbrd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clipbrd.cpp; path = ../../src/osx/carbon/clipbrd.cpp; sourceTree = ""; }; - 12EFC31E6FB631998E44B49C /* statbmpcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbmpcmn.cpp; path = ../../src/common/statbmpcmn.cpp; sourceTree = ""; }; - 137E01C362E134449BF966ED /* imagfill.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagfill.cpp; path = ../../src/common/imagfill.cpp; sourceTree = ""; }; - 13FD4A890E9B3BAEBD568C3B /* bmpcboxg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpcboxg.cpp; path = ../../src/generic/bmpcboxg.cpp; sourceTree = ""; }; - 147800BBCB80346798B35D75 /* xh_stbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_stbox.cpp; path = ../../src/xrc/xh_stbox.cpp; sourceTree = ""; }; - 1482A34AC32133E4BE207223 /* regexec.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regexec.c; path = ../../src/regex/regexec.c; sourceTree = ""; }; - 149D299A0EDB3D998118EC93 /* tif_color.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_color.c; path = ../../src/tiff/libtiff/tif_color.c; sourceTree = ""; }; - 14C2A7E01B4B3B168DB73B4F /* jmemmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = ../../src/jpeg/jmemmgr.c; sourceTree = ""; }; - 155ECF01CC4C318281AAA870 /* ownerdrwcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ownerdrwcmn.cpp; path = ../../src/common/ownerdrwcmn.cpp; sourceTree = ""; }; - 15CBD0AAFEB435429EA96D41 /* LexInno.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexInno.cxx; path = ../../src/stc/scintilla/lexers/LexInno.cxx; sourceTree = ""; }; - 15FCCD1B587637DDA3C1748A /* xh_unkwn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_unkwn.cpp; path = ../../src/xrc/xh_unkwn.cpp; sourceTree = ""; }; - 160EB9744CB63A0B81DC651F /* hid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hid.cpp; path = ../../src/osx/core/hid.cpp; sourceTree = ""; }; - 1629FA905F903324AA5BE72C /* vscroll.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = vscroll.cpp; path = ../../src/generic/vscroll.cpp; sourceTree = ""; }; - 168DB301ACC736FF96D7F581 /* file.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file.cpp; path = ../../src/common/file.cpp; sourceTree = ""; }; - 16A093604BDB3C22BA66EA89 /* LexCrontab.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCrontab.cxx; path = ../../src/stc/scintilla/lexers/LexCrontab.cxx; sourceTree = ""; }; - 16FE98EC26223BF0A78AB2EE /* gifdecod.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gifdecod.cpp; path = ../../src/common/gifdecod.cpp; sourceTree = ""; }; - 1731A6096BFC3A468AB4755A /* tif_open.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_open.c; path = ../../src/tiff/libtiff/tif_open.c; sourceTree = ""; }; - 1731D6708BFE3DE7B101CE74 /* object.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = object.cpp; path = ../../src/common/object.cpp; sourceTree = ""; }; - 1800B1884CC73C78A09E7FF1 /* htmlpars.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmlpars.cpp; path = ../../src/html/htmlpars.cpp; sourceTree = ""; }; - 18044326B5B13A98A49732DD /* fontdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontdlg.cpp; path = ../../src/osx/carbon/fontdlg.cpp; sourceTree = ""; }; - 182C8AD4F822375495795B43 /* dbgrptg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dbgrptg.cpp; path = ../../src/generic/dbgrptg.cpp; sourceTree = ""; }; - 194ADD28300E329E80F7892E /* htmprint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmprint.cpp; path = ../../src/html/htmprint.cpp; sourceTree = ""; }; - 19559DDA007D364E838014B5 /* nonownedwnd_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = nonownedwnd_osx.cpp; path = ../../src/osx/nonownedwnd_osx.cpp; sourceTree = ""; }; - 19A5AFB993843FF0B8F75E47 /* checkbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = checkbox.cpp; path = ../../src/osx/carbon/checkbox.cpp; sourceTree = ""; }; - 1A0650754DC2358CA5933B28 /* pngerror.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../src/png/pngerror.c; sourceTree = ""; }; - 1AD9605C9385374C87FAC9BC /* LexECL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexECL.cxx; path = ../../src/stc/scintilla/lexers/LexECL.cxx; sourceTree = ""; }; - 1B0533F88F3434609A54FB37 /* ctrlsub.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ctrlsub.cpp; path = ../../src/common/ctrlsub.cpp; sourceTree = ""; }; - 1B7308D9C4BA39F19223C82C /* tglbtn_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tglbtn_osx.cpp; path = ../../src/osx/tglbtn_osx.cpp; sourceTree = ""; }; - 1B7E02F461A33397B00E9004 /* statbmp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbmp.cpp; path = ../../src/osx/carbon/statbmp.cpp; sourceTree = ""; }; - 1BB59DD194923D6399087A75 /* graphcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graphcmn.cpp; path = ../../src/common/graphcmn.cpp; sourceTree = ""; }; - 1BC0322549563787A21CE8F1 /* LexNsis.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexNsis.cxx; path = ../../src/stc/scintilla/lexers/LexNsis.cxx; sourceTree = ""; }; - 1BFAF243431D3CA2AA51ADF2 /* gauge.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gauge.cpp; path = ../../src/osx/carbon/gauge.cpp; sourceTree = ""; }; - 1C4762898E5330C28651EE73 /* graphics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graphics.cpp; path = ../../src/osx/carbon/graphics.cpp; sourceTree = ""; }; - 1C4ABE16C5A13979827F4F7C /* UniConversion.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UniConversion.cxx; path = ../../src/stc/scintilla/src/UniConversion.cxx; sourceTree = ""; }; - 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMSSQL.cxx; path = ../../src/stc/scintilla/lexers/LexMSSQL.cxx; sourceTree = ""; }; - 1C86EC3AA4193E639EB08AA7 /* LexHex.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexHex.cxx; path = ../../src/stc/scintilla/lexers/LexHex.cxx; sourceTree = ""; }; - 1CABAEA3B48333CB88B40F08 /* LexTCMD.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTCMD.cxx; path = ../../src/stc/scintilla/lexers/LexTCMD.cxx; sourceTree = ""; }; - 1CE9B3DD54AD318FAA821732 /* richtextimagedlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextimagedlg.cpp; path = ../../src/richtext/richtextimagedlg.cpp; sourceTree = ""; }; - 1DAF0931E4AD3E6581D7FDBC /* jidctint.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = ../../src/jpeg/jidctint.c; sourceTree = ""; }; - 1E2FEBCEED2D33CFAAF75206 /* gbsizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gbsizer.cpp; path = ../../src/common/gbsizer.cpp; sourceTree = ""; }; - 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = gzwrite.c; path = ../../src/zlib/gzwrite.c; sourceTree = ""; }; - 1EF103B09F02315282EC8F44 /* srchcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = srchcmn.cpp; path = ../../src/common/srchcmn.cpp; sourceTree = ""; }; - 1EF327CE8D7E3C11BFC6BD74 /* jdapistd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = ../../src/jpeg/jdapistd.c; sourceTree = ""; }; - 1F6E23CCDC1932BC985EFBD2 /* sckipc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sckipc.cpp; path = ../../src/common/sckipc.cpp; sourceTree = ""; }; - 1FBC22BAD63D3A1AB78F5F82 /* pickerbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pickerbase.cpp; path = ../../src/common/pickerbase.cpp; sourceTree = ""; }; - 1FBC6F8B4CA63A0081D6F34A /* tif_ojpeg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_ojpeg.c; path = ../../src/tiff/libtiff/tif_ojpeg.c; sourceTree = ""; }; - 20B922D61CDB3CCEB59A5194 /* convauto.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = convauto.cpp; path = ../../src/common/convauto.cpp; sourceTree = ""; }; - 20E4A10BCD773C84AEC481A1 /* jdmarker.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = ../../src/jpeg/jdmarker.c; sourceTree = ""; }; - 2128AD8BD12E3F33AD57478E /* overlay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = overlay.cpp; path = ../../src/osx/carbon/overlay.cpp; sourceTree = ""; }; - 21A697F65B1E31168F0A7BD7 /* xh_tree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_tree.cpp; path = ../../src/xrc/xh_tree.cpp; sourceTree = ""; }; - 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcscreen.cpp; path = ../../src/osx/carbon/dcscreen.cpp; sourceTree = ""; }; - 22D9626646773CED82449D5D /* persist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = persist.cpp; path = ../../src/common/persist.cpp; sourceTree = ""; }; - 2334539088B036BEAB230D1C /* filectrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filectrlg.cpp; path = ../../src/generic/filectrlg.cpp; sourceTree = ""; }; - 23839659AC2A383CB383F0EC /* richtextstyledlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextstyledlg.cpp; path = ../../src/richtext/richtextstyledlg.cpp; sourceTree = ""; }; - 238741BDA2C73E56899CCB04 /* dcprint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcprint.cpp; path = ../../src/osx/carbon/dcprint.cpp; sourceTree = ""; }; - 239D386E9D7D39C5A1E859C6 /* clipcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clipcmn.cpp; path = ../../src/common/clipcmn.cpp; sourceTree = ""; }; - 23FC98E2305230E2990471E3 /* wxcrt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wxcrt.cpp; path = ../../src/common/wxcrt.cpp; sourceTree = ""; }; - 242BF97B558634A79322052C /* prntbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = prntbase.cpp; path = ../../src/common/prntbase.cpp; sourceTree = ""; }; - 24396D584D053948A3FF0DCD /* imagpng.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagpng.cpp; path = ../../src/common/imagpng.cpp; sourceTree = ""; }; - 24930711031D35288D28B04B /* choiccmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choiccmn.cpp; path = ../../src/common/choiccmn.cpp; sourceTree = ""; }; - 24BD2EF635673E819B8406CB /* LexRust.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexRust.cxx; path = ../../src/stc/scintilla/lexers/LexRust.cxx; sourceTree = ""; }; - 24DF23D67E693D999B875101 /* toolbkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toolbkg.cpp; path = ../../src/generic/toolbkg.cpp; sourceTree = ""; }; - 24E82A05E9A9323287CDB15B /* artstd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = artstd.cpp; path = ../../src/common/artstd.cpp; sourceTree = ""; }; - 25A81E9028793C109D868068 /* xh_timectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_timectrl.cpp; path = ../../src/xrc/xh_timectrl.cpp; sourceTree = ""; }; - 25C86D3D4839343BA1D8BDEE /* xti.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xti.cpp; path = ../../src/common/xti.cpp; sourceTree = ""; }; - 26381308E32A3A179E7A9B40 /* gridsel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gridsel.cpp; path = ../../src/generic/gridsel.cpp; sourceTree = ""; }; - 26632A254717372BAA4D514D /* framemanager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = framemanager.cpp; path = ../../src/aui/framemanager.cpp; sourceTree = ""; }; - 267DB0E799183294B707A39D /* LexerNoExceptions.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerNoExceptions.cxx; path = ../../src/stc/scintilla/lexlib/LexerNoExceptions.cxx; sourceTree = ""; }; - 26D7C4995D7A35A1854B533F /* window_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = window_osx.cpp; path = ../../src/osx/window_osx.cpp; sourceTree = ""; }; - 271B4B77622B3411A7BF6634 /* dataobj.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dataobj.cpp; path = ../../src/osx/carbon/dataobj.cpp; sourceTree = ""; }; - 274A156457C63EC5801029C2 /* CaseConvert.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CaseConvert.cxx; path = ../../src/stc/scintilla/src/CaseConvert.cxx; sourceTree = ""; }; - 292C08C0A1203654ABAA2CB1 /* statlinecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statlinecmn.cpp; path = ../../src/common/statlinecmn.cpp; sourceTree = ""; }; - 29387393C07C39DB8FF1663B /* artprov.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = artprov.cpp; path = ../../src/common/artprov.cpp; sourceTree = ""; }; - 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xmlrsall.cpp; path = ../../src/xrc/xmlrsall.cpp; sourceTree = ""; }; - 29B9C6D27BE83DB384A108ED /* tif_jpeg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_jpeg.c; path = ../../src/tiff/libtiff/tif_jpeg.c; sourceTree = ""; }; - 29D6506AEA5A323B8735F126 /* pngread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../src/png/pngread.c; sourceTree = ""; }; - 2A1BD6BCA15430CA8A4869EF /* gridctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gridctrl.cpp; path = ../../src/generic/gridctrl.cpp; sourceTree = ""; }; - 2A5FC30FF3743DBAAF8910EC /* LexPowerPro.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPowerPro.cxx; path = ../../src/stc/scintilla/lexers/LexPowerPro.cxx; sourceTree = ""; }; - 2A67053D16D63C588E555C84 /* dragimgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dragimgg.cpp; path = ../../src/generic/dragimgg.cpp; sourceTree = ""; }; - 2ACC8667173D3AB09F6214F4 /* sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sound.cpp; path = ../../src/osx/carbon/sound.cpp; sourceTree = ""; }; - 2AF7739C389536F79DAA31E5 /* Selection.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Selection.cxx; path = ../../src/stc/scintilla/src/Selection.cxx; sourceTree = ""; }; - 2AFC4A1CDA473688A590D19F /* utilscocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = utilscocoa.mm; path = ../../src/osx/carbon/utilscocoa.mm; sourceTree = ""; }; - 2B1A318636A134DB93C0BA45 /* LexSQL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSQL.cxx; path = ../../src/stc/scintilla/lexers/LexSQL.cxx; sourceTree = ""; }; - 2B5A9DF3206B3954A4B38BFD /* clrpickerg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clrpickerg.cpp; path = ../../src/generic/clrpickerg.cpp; sourceTree = ""; }; - 2C090A76B6F23E6481A27282 /* ipcbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ipcbase.cpp; path = ../../src/common/ipcbase.cpp; sourceTree = ""; }; - 2C6C4F5468743265A02D656C /* htmlfilt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmlfilt.cpp; path = ../../src/html/htmlfilt.cpp; sourceTree = ""; }; - 2C904B4BA8273355869812B2 /* clntdata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clntdata.cpp; path = ../../src/common/clntdata.cpp; sourceTree = ""; }; - 2D61240ABD70328BA5789663 /* colourcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = colourcmn.cpp; path = ../../src/common/colourcmn.cpp; sourceTree = ""; }; - 2DBD5DB511C53218B3EF1625 /* helpwnd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpwnd.cpp; path = ../../src/html/helpwnd.cpp; sourceTree = ""; }; - 2DF2456ED905357B8C1D74D9 /* webkit.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = webkit.mm; path = ../../src/html/htmlctrl/webkit/webkit.mm; sourceTree = ""; }; - 2E00E14795F23A8392713A26 /* fontutilcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontutilcmn.cpp; path = ../../src/common/fontutilcmn.cpp; sourceTree = ""; }; - 2E24C6F2A04E30EB95598305 /* chm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = chm.cpp; path = ../../src/html/chm.cpp; sourceTree = ""; }; - 2EA275DD7D1138F9AE988E45 /* epolldispatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = epolldispatcher.cpp; path = ../../src/unix/epolldispatcher.cpp; sourceTree = ""; }; - 2F1B41B0F10C3DA38188C239 /* LexScriptol.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexScriptol.cxx; path = ../../src/stc/scintilla/lexers/LexScriptol.cxx; sourceTree = ""; }; - 2F316F7DD3CB3390A6E50179 /* mimecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mimecmn.cpp; path = ../../src/common/mimecmn.cpp; sourceTree = ""; }; - 2F3EE2E9EE05311497826962 /* LexMySQL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMySQL.cxx; path = ../../src/stc/scintilla/lexers/LexMySQL.cxx; sourceTree = ""; }; - 2F41EDEB298538CC86FF6DC1 /* jcparam.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = ../../src/jpeg/jcparam.c; sourceTree = ""; }; - 2F94CF171F4532B89FECF475 /* busyinfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = busyinfo.cpp; path = ../../src/generic/busyinfo.cpp; sourceTree = ""; }; - 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_predict.c; path = ../../src/tiff/libtiff/tif_predict.c; sourceTree = ""; }; - 302A13BC64C238A297F4399F /* brush.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = brush.cpp; path = ../../src/osx/brush.cpp; sourceTree = ""; }; - 303ACF199BE431BD891C9301 /* overlaycmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = overlaycmn.cpp; path = ../../src/common/overlaycmn.cpp; sourceTree = ""; }; - 305614D19CF23CB2B14A5B2E /* tif_flush.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_flush.c; path = ../../src/tiff/libtiff/tif_flush.c; sourceTree = ""; }; - 3088384F07C63A5DB3581656 /* tif_lzma.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_lzma.c; path = ../../src/tiff/libtiff/tif_lzma.c; sourceTree = ""; }; - 308B9C05F5A839B5BE8ACBE9 /* CharacterCategory.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CharacterCategory.cxx; path = ../../src/stc/scintilla/lexlib/CharacterCategory.cxx; sourceTree = ""; }; - 30BBE92ADD8A37C992B4F919 /* LexGAP.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexGAP.cxx; path = ../../src/stc/scintilla/lexers/LexGAP.cxx; sourceTree = ""; }; - 30C0FB3166DD31A893AE98E2 /* fontcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontcmn.cpp; path = ../../src/common/fontcmn.cpp; sourceTree = ""; }; - 30FD1048328234E59D319863 /* tif_fax3.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_fax3.c; path = ../../src/tiff/libtiff/tif_fax3.c; sourceTree = ""; }; - 3116006345D833509865FF7F /* xh_bannerwindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_bannerwindow.cpp; path = ../../src/xrc/xh_bannerwindow.cpp; sourceTree = ""; }; - 31F4B9B03D52339B8F82C114 /* variant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = variant.cpp; path = ../../src/common/variant.cpp; sourceTree = ""; }; - 326723AEB79A305F90D6B41D /* advprops.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = advprops.cpp; path = ../../src/propgrid/advprops.cpp; sourceTree = ""; }; - 32B2BC8A91983DDA9CC46793 /* statbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbox.cpp; path = ../../src/osx/carbon/statbox.cpp; sourceTree = ""; }; - 343D4FDD5CC030618EF24729 /* dcmemory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcmemory.cpp; path = ../../src/osx/core/dcmemory.cpp; sourceTree = ""; }; - 346C68F0CCD23823B78267F0 /* tif_lzw.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_lzw.c; path = ../../src/tiff/libtiff/tif_lzw.c; sourceTree = ""; }; - 3551A51B4A493090B67CA216 /* LexSmalltalk.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSmalltalk.cxx; path = ../../src/stc/scintilla/lexers/LexSmalltalk.cxx; sourceTree = ""; }; - 358D0A3AC73F322EA732D020 /* pngrutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../src/png/pngrutil.c; sourceTree = ""; }; - 36296C259D023EAAA240FC79 /* bannerwindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bannerwindow.cpp; path = ../../src/generic/bannerwindow.cpp; sourceTree = ""; }; - 36E1DBA275AD325DB759C180 /* fontenum.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontenum.cpp; path = ../../src/osx/core/fontenum.cpp; sourceTree = ""; }; - 36F7955F8075343C8A9953DB /* LexPowerShell.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPowerShell.cxx; path = ../../src/stc/scintilla/lexers/LexPowerShell.cxx; sourceTree = ""; }; - 3720038D64CF3C0B8F642A90 /* tokenzr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tokenzr.cpp; path = ../../src/common/tokenzr.cpp; sourceTree = ""; }; - 373242CD08F330208A7CF438 /* fontenumcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontenumcmn.cpp; path = ../../src/common/fontenumcmn.cpp; sourceTree = ""; }; - 374E341C8703367686DEDE93 /* jmemnobs.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = ../../src/jpeg/jmemnobs.c; sourceTree = ""; }; - 375E7A99FF4C38FA9E223772 /* LexAda.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAda.cxx; path = ../../src/stc/scintilla/lexers/LexAda.cxx; sourceTree = ""; }; - 375FF97B202F3C359402D13E /* jdpostct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = ../../src/jpeg/jdpostct.c; sourceTree = ""; }; - 377056CEB1FC3EEB8526E7A6 /* gdiobj.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdiobj.cpp; path = ../../src/osx/carbon/gdiobj.cpp; sourceTree = ""; }; - 38891BF8F51E398F9082903F /* LexTAL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTAL.cxx; path = ../../src/stc/scintilla/lexers/LexTAL.cxx; sourceTree = ""; }; - 38CEA4A3579331EF808B8363 /* fontdlgosx.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = fontdlgosx.mm; path = ../../src/osx/carbon/fontdlgosx.mm; sourceTree = ""; }; - 38E0F60AE1F83633A0CC18FC /* xh_slidr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_slidr.cpp; path = ../../src/xrc/xh_slidr.cpp; sourceTree = ""; }; - 38EF5FC5934C34D599FD6074 /* bmpbuttn_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpbuttn_osx.cpp; path = ../../src/osx/bmpbuttn_osx.cpp; sourceTree = ""; }; - 39B825E5EAB43D9ABDCEB2CD /* drawer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = drawer.cpp; path = ../../src/osx/carbon/drawer.cpp; sourceTree = ""; }; - 3A28411B852734BDA2C04165 /* stattext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stattext.cpp; path = ../../src/osx/carbon/stattext.cpp; sourceTree = ""; }; - 3ABD697F99673F16A0B2D4C1 /* styleparams.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = styleparams.cpp; path = ../../src/html/styleparams.cpp; sourceTree = ""; }; - 3B548B1FF2A238809315C8A9 /* fdiounix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fdiounix.cpp; path = ../../src/unix/fdiounix.cpp; sourceTree = ""; }; - 3BFC1F090EFE30B784CE4C64 /* xh_toolb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_toolb.cpp; path = ../../src/xrc/xh_toolb.cpp; sourceTree = ""; }; - 3C131F7BF8A83960ACB26242 /* jidctflt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = ../../src/jpeg/jidctflt.c; sourceTree = ""; }; - 3C654A08F74B3DBCA96CC2A9 /* sizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sizer.cpp; path = ../../src/common/sizer.cpp; sourceTree = ""; }; - 3CF73F49AEC238C99CE89845 /* deflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = ../../src/zlib/deflate.c; sourceTree = ""; }; - 3D5D8B68EA743F6E97ADF612 /* snglinst.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = snglinst.cpp; path = ../../src/unix/snglinst.cpp; sourceTree = ""; }; - 3D82E7D38BB43BB886E2BFA0 /* tif_getimage.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_getimage.c; path = ../../src/tiff/libtiff/tif_getimage.c; sourceTree = ""; }; - 3DFD4F32E48039C3B9A66355 /* textcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textcmn.cpp; path = ../../src/common/textcmn.cpp; sourceTree = ""; }; - 3E3043D7BE9C33B59E900CCE /* jcmaster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = ../../src/jpeg/jcmaster.c; sourceTree = ""; }; - 3E6F40F4740C3ED29D83E107 /* tif_version.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_version.c; path = ../../src/tiff/libtiff/tif_version.c; sourceTree = ""; }; - 3E93DE2F9FE73AD2AB9571E2 /* dobjcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dobjcmn.cpp; path = ../../src/common/dobjcmn.cpp; sourceTree = ""; }; - 3F1C1EB5C0B3302C86D91315 /* gallery.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gallery.cpp; path = ../../src/ribbon/gallery.cpp; sourceTree = ""; }; - 3F8836E29C5A370E80CE070E /* splash.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = splash.cpp; path = ../../src/generic/splash.cpp; sourceTree = ""; }; - 3FB6D34C3029357EB64AECAA /* scrlwing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scrlwing.cpp; path = ../../src/generic/scrlwing.cpp; sourceTree = ""; }; - 3FEBA7AC7F743EE88352AEBC /* htmlwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmlwin.cpp; path = ../../src/html/htmlwin.cpp; sourceTree = ""; }; - 400275BE019D3E5BA47988BE /* inffast.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = ../../src/zlib/inffast.c; sourceTree = ""; }; - 4048A3523EC03409BD899BEF /* xtixml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xtixml.cpp; path = ../../src/common/xtixml.cpp; sourceTree = ""; }; - 40586C8986443431A64EB066 /* LexLisp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLisp.cxx; path = ../../src/stc/scintilla/lexers/LexLisp.cxx; sourceTree = ""; }; - 4071FF90F1D4336C836B2AE4 /* tif_pixarlog.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_pixarlog.c; path = ../../src/tiff/libtiff/tif_pixarlog.c; sourceTree = ""; }; - 40CE02524DD4385AB2C3DF95 /* socket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = socket.cpp; path = ../../src/common/socket.cpp; sourceTree = ""; }; - 4148D62D50863214B8479E60 /* statlmac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statlmac.cpp; path = ../../src/osx/carbon/statlmac.cpp; sourceTree = ""; }; - 4188821BBA833CCAA678B234 /* utilscmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilscmn.cpp; path = ../../src/common/utilscmn.cpp; sourceTree = ""; }; - 418AD9241B673308BE31DC06 /* xlocale.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xlocale.cpp; path = ../../src/common/xlocale.cpp; sourceTree = ""; }; - 41D75DF4695B361DB700D51D /* PropSetSimple.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PropSetSimple.cxx; path = ../../src/stc/scintilla/lexlib/PropSetSimple.cxx; sourceTree = ""; }; - 425BFA3FDB7D3EA7ADCE1087 /* renderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = renderer.cpp; path = ../../src/osx/carbon/renderer.cpp; sourceTree = ""; }; - 42E433D1700631A8907B8227 /* helpctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpctrl.cpp; path = ../../src/html/helpctrl.cpp; sourceTree = ""; }; - 430739CB8B95336ABB372EC7 /* EditView.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditView.cxx; path = ../../src/stc/scintilla/src/EditView.cxx; sourceTree = ""; }; - 43D416CF0DE334E79A8E48C8 /* LexVisualProlog.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexVisualProlog.cxx; path = ../../src/stc/scintilla/lexers/LexVisualProlog.cxx; sourceTree = ""; }; - 4438C284ED5C31EF8CC28FF3 /* filtall.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filtall.cpp; path = ../../src/common/filtall.cpp; sourceTree = ""; }; - 44806DDCE6FB305EAED41E92 /* menuitem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menuitem.cpp; path = ../../src/osx/carbon/menuitem.cpp; sourceTree = ""; }; - 4549845C0751356A907C23E0 /* jdtrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = ../../src/jpeg/jdtrans.c; sourceTree = ""; }; - 45860601270D318D93BEE1F3 /* LexMagik.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMagik.cxx; path = ../../src/stc/scintilla/lexers/LexMagik.cxx; sourceTree = ""; }; - 4592464D4868329897F3864D /* LexSpice.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpice.cxx; path = ../../src/stc/scintilla/lexers/LexSpice.cxx; sourceTree = ""; }; - 45D7558DF5E03A2EB41883F0 /* pngwutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../src/png/pngwutil.c; sourceTree = ""; }; - 45E7EC6D0C0E3C878664C0A9 /* fldlgcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fldlgcmn.cpp; path = ../../src/common/fldlgcmn.cpp; sourceTree = ""; }; - 4692909E4B823F71822B13F8 /* taskbarcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = taskbarcmn.cpp; path = ../../src/common/taskbarcmn.cpp; sourceTree = ""; }; - 47783A330B2A3B4EBB1CD95D /* fswatcherg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fswatcherg.cpp; path = ../../src/generic/fswatcherg.cpp; sourceTree = ""; }; - 47F5E77F7B8D3ABBA365F112 /* richtextbuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextbuffer.cpp; path = ../../src/richtext/richtextbuffer.cpp; sourceTree = ""; }; - 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fdiodispatcher.cpp; path = ../../src/common/fdiodispatcher.cpp; sourceTree = ""; }; - 47FF6D792CA234C395692118 /* PlatWX.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlatWX.cpp; path = ../../src/stc/PlatWX.cpp; sourceTree = ""; }; - 4867546E8B8D3C8683A23ED5 /* any.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = any.cpp; path = ../../src/common/any.cpp; sourceTree = ""; }; - 48D72D20DB1D3E1CA5ED112A /* effects.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = effects.cpp; path = ../../src/common/effects.cpp; sourceTree = ""; }; - 48F1439BF6C3361296F05A33 /* tif_error.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_error.c; path = ../../src/tiff/libtiff/tif_error.c; sourceTree = ""; }; - 49612306912038DDBCABB4DE /* url.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = url.cpp; path = ../../src/common/url.cpp; sourceTree = ""; }; - 496674699F173A5385EAFF07 /* calctrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = calctrlg.cpp; path = ../../src/generic/calctrlg.cpp; sourceTree = ""; }; - 4969528429903F15882F5391 /* sockosx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sockosx.cpp; path = ../../src/osx/core/sockosx.cpp; sourceTree = ""; }; - 497861EB7E623C68951D1AB2 /* LexAPDL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAPDL.cxx; path = ../../src/stc/scintilla/lexers/LexAPDL.cxx; sourceTree = ""; }; - 49BF55FA3427335097F99A2C /* xh_propdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_propdlg.cpp; path = ../../src/xrc/xh_propdlg.cpp; sourceTree = ""; }; - 49CABA38E78D34DFA260AA06 /* renderg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = renderg.cpp; path = ../../src/generic/renderg.cpp; sourceTree = ""; }; - 4A5FF9CED1FE36069FDBF636 /* cmdproc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cmdproc.cpp; path = ../../src/common/cmdproc.cpp; sourceTree = ""; }; - 4B16CCC86CD235CB8E8EC0AA /* LexBaan.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexBaan.cxx; path = ../../src/stc/scintilla/lexers/LexBaan.cxx; sourceTree = ""; }; - 4B3B8AD0120F3EA6BF5B0AE0 /* LexCaml.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCaml.cxx; path = ../../src/stc/scintilla/lexers/LexCaml.cxx; sourceTree = ""; }; - 4BA14FFC0F4B3AE0B4D6B185 /* jquant1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = ../../src/jpeg/jquant1.c; sourceTree = ""; }; - 4BA819575B5136B09FA8FEB1 /* pen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pen.cpp; path = ../../src/osx/pen.cpp; sourceTree = ""; }; - 4C4649974D8B3A109D1BF145 /* art_internal.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = art_internal.cpp; path = ../../src/ribbon/art_internal.cpp; sourceTree = ""; }; - 4CB467F9898C3952A68D988B /* zutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = ../../src/zlib/zutil.c; sourceTree = ""; }; - 4EB3B255D20F3AE5A95230F6 /* LexCSS.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCSS.cxx; path = ../../src/stc/scintilla/lexers/LexCSS.cxx; sourceTree = ""; }; - 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CallTip.cxx; path = ../../src/stc/scintilla/src/CallTip.cxx; sourceTree = ""; }; - 4F768B23D8B535CE8D0BD343 /* tif_jpeg_12.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_jpeg_12.c; path = ../../src/tiff/libtiff/tif_jpeg_12.c; sourceTree = ""; }; - 4F8E4A9905843A4683A6B460 /* LexProgress.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexProgress.cxx; path = ../../src/stc/scintilla/lexers/LexProgress.cxx; sourceTree = ""; }; - 4FC2F076657431458896115A /* checkboxcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = checkboxcmn.cpp; path = ../../src/common/checkboxcmn.cpp; sourceTree = ""; }; - 4FDE5A962FA234FA83A605AD /* Indicator.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Indicator.cxx; path = ../../src/stc/scintilla/src/Indicator.cxx; sourceTree = ""; }; - 4FE0B33481283D3493613B0F /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = config.cpp; path = ../../src/common/config.cpp; sourceTree = ""; }; - 50859F0155753FDCB8C5222A /* LexSTTXT.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSTTXT.cxx; path = ../../src/stc/scintilla/lexers/LexSTTXT.cxx; sourceTree = ""; }; - 508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpecman.cxx; path = ../../src/stc/scintilla/lexers/LexSpecman.cxx; sourceTree = ""; }; - 51054B41BFD83E97BAF76D07 /* tabart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tabart.cpp; path = ../../src/aui/tabart.cpp; sourceTree = ""; }; - 513033E36E643593AC305B3D /* uncompr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = ../../src/zlib/uncompr.c; sourceTree = ""; }; - 5145561C78303EEE9F827962 /* LexLua.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLua.cxx; path = ../../src/stc/scintilla/lexers/LexLua.cxx; sourceTree = ""; }; - 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cfstring.cpp; path = ../../src/osx/core/cfstring.cpp; sourceTree = ""; }; - 5190E3E110443FD29F2474FC /* treelist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treelist.cpp; path = ../../src/generic/treelist.cpp; sourceTree = ""; }; - 5219A792C6A736F193D4A82F /* ContractionState.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContractionState.cxx; path = ../../src/stc/scintilla/src/ContractionState.cxx; sourceTree = ""; }; - 5248A45AB113341EAC361910 /* notebook_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = notebook_osx.cpp; path = ../../src/osx/notebook_osx.cpp; sourceTree = ""; }; - 52FE1599218730CC99A3F801 /* m_dflist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_dflist.cpp; path = ../../src/html/m_dflist.cpp; sourceTree = ""; }; - 530DC2E26BF2313E8702AD43 /* popupwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = popupwin.cpp; path = ../../src/osx/carbon/popupwin.cpp; sourceTree = ""; }; - 531B0E5DB9ED393996E3FBB8 /* radiocmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = radiocmn.cpp; path = ../../src/common/radiocmn.cpp; sourceTree = ""; }; - 53B95C9A1BCB30CC87495DA3 /* xh_text.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_text.cpp; path = ../../src/xrc/xh_text.cpp; sourceTree = ""; }; - 53D06E47477B3E32BB6B915E /* jcsample.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = ../../src/jpeg/jcsample.c; sourceTree = ""; }; - 543C896D9A30340A8C2CB7C8 /* combobox_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = combobox_osx.cpp; path = ../../src/osx/combobox_osx.cpp; sourceTree = ""; }; - 5466CC2D6579360E9C665EE5 /* memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = memory.cpp; path = ../../src/common/memory.cpp; sourceTree = ""; }; - 54710DA2AC4F3262A8A1EA63 /* richtooltipg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtooltipg.cpp; path = ../../src/generic/richtooltipg.cpp; sourceTree = ""; }; - 548906E4E72935E48CE4AF87 /* m_image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_image.cpp; path = ../../src/html/m_image.cpp; sourceTree = ""; }; - 54BD19211DBD388AA0DEC7A1 /* stattextcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stattextcmn.cpp; path = ../../src/common/stattextcmn.cpp; sourceTree = ""; }; - 54EBD66FB9C3364681338A27 /* xh_auinotbk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_auinotbk.cpp; path = ../../src/xrc/xh_auinotbk.cpp; sourceTree = ""; }; - 54FB8A5FCBD0309AAC2E4F70 /* zipstrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = zipstrm.cpp; path = ../../src/common/zipstrm.cpp; sourceTree = ""; }; - 552757A901E732CAA8E3F16D /* list.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = list.cpp; path = ../../src/common/list.cpp; sourceTree = ""; }; - 55EBB18CB4773C788510B14B /* LexEiffel.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexEiffel.cxx; path = ../../src/stc/scintilla/lexers/LexEiffel.cxx; sourceTree = ""; }; - 5612DBC4125B379DA2B28824 /* buttonbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = buttonbar.cpp; path = ../../src/generic/buttonbar.cpp; sourceTree = ""; }; - 5612DBC4125B379DA2B28825 /* buttonbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = buttonbar.cpp; path = ../../src/ribbon/buttonbar.cpp; sourceTree = ""; }; - 56653FACC7D13804A70556AD /* sckfile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sckfile.cpp; path = ../../src/common/sckfile.cpp; sourceTree = ""; }; - 570D603125ED3A14848FA2E2 /* gaugecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gaugecmn.cpp; path = ../../src/common/gaugecmn.cpp; sourceTree = ""; }; - 57E4784E521339BEB971D81D /* LexAVS.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAVS.cxx; path = ../../src/stc/scintilla/lexers/LexAVS.cxx; sourceTree = ""; }; - 57EB0085AFB93BFC88AC6FFC /* xh_listbk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_listbk.cpp; path = ../../src/xrc/xh_listbk.cpp; sourceTree = ""; }; - 580AFC66F3003582B43043B1 /* animateg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = animateg.cpp; path = ../../src/generic/animateg.cpp; sourceTree = ""; }; - 58421C141C9E31C6A7A3C183 /* filefn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filefn.cpp; path = ../../src/common/filefn.cpp; sourceTree = ""; }; - 58E1F571B01F34D4AB70CA18 /* property.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = property.cpp; path = ../../src/propgrid/property.cpp; sourceTree = ""; }; - 58E7C516E2453A269280A404 /* modalhook.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = modalhook.cpp; path = ../../src/common/modalhook.cpp; sourceTree = ""; }; - 58EFF24DE2E737CA8A164F5C /* LexEScript.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexEScript.cxx; path = ../../src/stc/scintilla/lexers/LexEScript.cxx; sourceTree = ""; }; - 59255501B8053FEE8F258873 /* dirdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dirdlg.cpp; path = ../../src/osx/carbon/dirdlg.cpp; sourceTree = ""; }; - 59572A234F0636D78BFD9F6B /* spinctlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = spinctlg.cpp; path = ../../src/generic/spinctlg.cpp; sourceTree = ""; }; - 59B19927E27F39ACB1D2BDA3 /* jdatadst.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatadst.c; path = ../../src/jpeg/jdatadst.c; sourceTree = ""; }; - 59C6B9849FF6325E890942EF /* xmlrole.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xmlrole.c; path = ../../src/expat/lib/xmlrole.c; sourceTree = ""; }; - 59D075A3E96F3187B58F6D03 /* choice_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choice_osx.cpp; path = ../../src/osx/choice_osx.cpp; sourceTree = ""; }; - 59ED0C057D8F388A89DC7177 /* page.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = page.cpp; path = ../../src/ribbon/page.cpp; sourceTree = ""; }; - 59F8B419381C34A184190EA1 /* radiobut.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = radiobut.cpp; path = ../../src/osx/carbon/radiobut.cpp; sourceTree = ""; }; - 5A562F1DA7EA3B909BBB1465 /* LexModula.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexModula.cxx; path = ../../src/stc/scintilla/lexers/LexModula.cxx; sourceTree = ""; }; - 5A756B733D093B09BE2098A6 /* filectrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filectrlcmn.cpp; path = ../../src/common/filectrlcmn.cpp; sourceTree = ""; }; - 5AACC1EC2E2A33B3ABF5EDCA /* xh_radbt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_radbt.cpp; path = ../../src/xrc/xh_radbt.cpp; sourceTree = ""; }; - 5AFB85719CBC3D60BA2EDC2E /* CharClassify.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CharClassify.cxx; path = ../../src/stc/scintilla/src/CharClassify.cxx; sourceTree = ""; }; - 5B32A13D5B3336098B1B9765 /* pngtrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../src/png/pngtrans.c; sourceTree = ""; }; - 5B83407D156C3CC3A66F05A4 /* fswatcher_fsevents.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fswatcher_fsevents.cpp; path = ../../src/osx/fswatcher_fsevents.cpp; sourceTree = ""; }; - 5B9586328A1F3C4BA0390AA5 /* time.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = time.cpp; path = ../../src/common/time.cpp; sourceTree = ""; }; - 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = evtloop_cf.cpp; path = ../../src/osx/core/evtloop_cf.cpp; sourceTree = ""; }; - 5BEC6B3CAFB532CBB9F95D74 /* jutils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../src/jpeg/jutils.c; sourceTree = ""; }; - 5C85865D28DC31649440A921 /* imagxpm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagxpm.cpp; path = ../../src/common/imagxpm.cpp; sourceTree = ""; }; - 5C8CEE782CD236A5A9999724 /* xh_filepicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_filepicker.cpp; path = ../../src/xrc/xh_filepicker.cpp; sourceTree = ""; }; - 5CB4781DF8C432C688F30CDD /* ftp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ftp.cpp; path = ../../src/common/ftp.cpp; sourceTree = ""; }; - 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = printmac.cpp; path = ../../src/osx/core/printmac.cpp; sourceTree = ""; }; - 5D2F8259CC99380CB8217DEF /* tif_unix.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_unix.c; path = ../../src/tiff/libtiff/tif_unix.c; sourceTree = ""; }; - 5D90D0FA35833140A3CCCD94 /* tooltip.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tooltip.cpp; path = ../../src/osx/carbon/tooltip.cpp; sourceTree = ""; }; - 5DBE56B153AA3AC8A4BBE77C /* cairo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cairo.cpp; path = ../../src/common/cairo.cpp; sourceTree = ""; }; - 5DE635F30F3935099AF1486C /* stattextg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stattextg.cpp; path = ../../src/generic/stattextg.cpp; sourceTree = ""; }; - 5DF561FCD0C038B79C62B083 /* dialog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dialog.cpp; path = ../../src/osx/carbon/dialog.cpp; sourceTree = ""; }; - 5E2F1BF8904635049BAFD6E1 /* spinbutt_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = spinbutt_osx.cpp; path = ../../src/osx/spinbutt_osx.cpp; sourceTree = ""; }; - 5E463A493FD930DE80E58608 /* pngset.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../src/png/pngset.c; sourceTree = ""; }; - 5E53DC332DA23DF4B9BFCDE3 /* dataview_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dataview_osx.cpp; path = ../../src/osx/dataview_osx.cpp; sourceTree = ""; }; - 5E7A77AA776B3B5CAEE3CC90 /* listbkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listbkg.cpp; path = ../../src/generic/listbkg.cpp; sourceTree = ""; }; - 5ED2105A5A033E3384EBC4ED /* selstore.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = selstore.cpp; path = ../../src/generic/selstore.cpp; sourceTree = ""; }; - 5F094B0B07DF33BCA6077BC0 /* fdrepdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fdrepdlg.cpp; path = ../../src/generic/fdrepdlg.cpp; sourceTree = ""; }; - 5F3D473DC5123EDAB767045C /* datavgen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datavgen.cpp; path = ../../src/generic/datavgen.cpp; sourceTree = ""; }; - 5F555177554E398286DBC6FB /* xh_stlin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_stlin.cpp; path = ../../src/xrc/xh_stlin.cpp; sourceTree = ""; }; - 5F5D02D60DCA35358B2780C7 /* xh_listc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_listc.cpp; path = ../../src/xrc/xh_listc.cpp; sourceTree = ""; }; - 5F63BF9430CE371DA04AC900 /* textentrycmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textentrycmn.cpp; path = ../../src/common/textentrycmn.cpp; sourceTree = ""; }; - 5F84098A475939BB9EE87E70 /* imagbmp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagbmp.cpp; path = ../../src/common/imagbmp.cpp; sourceTree = ""; }; - 5FC445EFDC503C74A5CC6D7D /* xh_comboctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_comboctrl.cpp; path = ../../src/xrc/xh_comboctrl.cpp; sourceTree = ""; }; - 5FDE0AC63C4639E4BFD3B582 /* LexOpal.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexOpal.cxx; path = ../../src/stc/scintilla/lexers/LexOpal.cxx; sourceTree = ""; }; - 5FEECFD764E037288CE94FEB /* webview_webkit.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = webview_webkit.mm; path = ../../src/osx/webview_webkit.mm; sourceTree = ""; }; - 5FF661188B563D27A11F5716 /* fontutil.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontutil.cpp; path = ../../src/osx/fontutil.cpp; sourceTree = ""; }; - 5FFCB72168FD31DE86A1B674 /* radiobut_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = radiobut_osx.cpp; path = ../../src/osx/radiobut_osx.cpp; sourceTree = ""; }; - 5FFCF47A161B3E08B19BFE14 /* jdsample.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = ../../src/jpeg/jdsample.c; sourceTree = ""; }; - 600740717F7E320F8CA78384 /* scrolbar_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scrolbar_osx.cpp; path = ../../src/osx/scrolbar_osx.cpp; sourceTree = ""; }; - 607EF0043E723B7B9BE101EA /* wxprintf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wxprintf.cpp; path = ../../src/common/wxprintf.cpp; sourceTree = ""; }; - 60EE4448A28D38F5ADE17B5A /* xh_filectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_filectrl.cpp; path = ../../src/xrc/xh_filectrl.cpp; sourceTree = ""; }; - 61658C3EABB4341AA38C691E /* m_pre.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_pre.cpp; path = ../../src/html/m_pre.cpp; sourceTree = ""; }; - 61DA2A4C0D143CBE804BB8A1 /* fileconf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fileconf.cpp; path = ../../src/common/fileconf.cpp; sourceTree = ""; }; - 62C46B0CE620348FBF3860A4 /* LexPLM.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPLM.cxx; path = ../../src/stc/scintilla/lexers/LexPLM.cxx; sourceTree = ""; }; - 63867276260C3F4A980E83D8 /* rgncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = rgncmn.cpp; path = ../../src/common/rgncmn.cpp; sourceTree = ""; }; - 63F15C5B895F38028FE5D0A5 /* debugrpt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = debugrpt.cpp; path = ../../src/common/debugrpt.cpp; sourceTree = ""; }; - 640783FBACA43206B782C77B /* evtloopcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = evtloopcmn.cpp; path = ../../src/common/evtloopcmn.cpp; sourceTree = ""; }; - 6444F5BA54EB351887AAC24A /* activityindicator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = activityindicator.cpp; path = ../../src/generic/activityindicator.cpp; sourceTree = ""; }; - 646743F6FDFE3ACFA1A79B40 /* jidctred.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = ../../src/jpeg/jidctred.c; sourceTree = ""; }; - 64B25B87203E3464BCDD277D /* tif_read.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_read.c; path = ../../src/tiff/libtiff/tif_read.c; sourceTree = ""; }; - 64DA16CF41C834D7B7642024 /* prntdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = prntdlgg.cpp; path = ../../src/generic/prntdlgg.cpp; sourceTree = ""; }; - 66411D54BAD338498AC59401 /* xh_scrol.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_scrol.cpp; path = ../../src/xrc/xh_scrol.cpp; sourceTree = ""; }; - 66426B63AA3E3A279936C034 /* grideditors.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = grideditors.cpp; path = ../../src/generic/grideditors.cpp; sourceTree = ""; }; - 664736BDE465350C9C4750E9 /* jcmarker.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = ../../src/jpeg/jcmarker.c; sourceTree = ""; }; - 66AC0EA493AB3B6A86DAE174 /* colrdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = colrdlgg.cpp; path = ../../src/generic/colrdlgg.cpp; sourceTree = ""; }; - 66C21CA37BF63893887FD91B /* menu_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menu_osx.cpp; path = ../../src/osx/menu_osx.cpp; sourceTree = ""; }; - 66FDA882451239EA8DF2E0B5 /* tif_luv.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_luv.c; path = ../../src/tiff/libtiff/tif_luv.c; sourceTree = ""; }; - 6718204F4700318E89EAC906 /* LexBullant.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexBullant.cxx; path = ../../src/stc/scintilla/lexers/LexBullant.cxx; sourceTree = ""; }; - 67D76B026121359F9B22F8B0 /* languageinfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = languageinfo.cpp; path = ../../src/common/languageinfo.cpp; sourceTree = ""; }; - 67DCEEB6861731319C30817F /* cshelp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cshelp.cpp; path = ../../src/common/cshelp.cpp; sourceTree = ""; }; - 684D92E552BE313CBE0A88AA /* valnum.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = valnum.cpp; path = ../../src/common/valnum.cpp; sourceTree = ""; }; - 6876262846EA3569B36D92E9 /* imagjpeg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagjpeg.cpp; path = ../../src/common/imagjpeg.cpp; sourceTree = ""; }; - 68B81FBDA49D3C1991B6356A /* jdcolor.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = ../../src/jpeg/jdcolor.c; sourceTree = ""; }; - 68BEC0AB8A933CF2B5ACA149 /* tif_thunder.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_thunder.c; path = ../../src/tiff/libtiff/tif_thunder.c; sourceTree = ""; }; - 68E5188DB6003C35A8C7754D /* htmlcell.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmlcell.cpp; path = ../../src/html/htmlcell.cpp; sourceTree = ""; }; - 693F731B7D1730A79485F9EC /* minifram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = minifram.cpp; path = ../../src/osx/minifram.cpp; sourceTree = ""; }; - 69A6CAF721E53E83B4820DE6 /* pngwrite.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../src/png/pngwrite.c; sourceTree = ""; }; - 69A7F3F58B1E3812A055C84F /* numdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = numdlgg.cpp; path = ../../src/generic/numdlgg.cpp; sourceTree = ""; }; - 69E742B172463EDFBBFA5AB0 /* propgridiface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = propgridiface.cpp; path = ../../src/propgrid/propgridiface.cpp; sourceTree = ""; }; - 69F098E47EBF34368ABAE7ED /* timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timer.cpp; path = ../../src/osx/core/timer.cpp; sourceTree = ""; }; - 6A82EDCFFBAC30098B238957 /* caret.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = caret.cpp; path = ../../src/generic/caret.cpp; sourceTree = ""; }; - 6AC666417602346EA583709E /* translation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = translation.cpp; path = ../../src/common/translation.cpp; sourceTree = ""; }; - 6BC0A61629E635FAB4E09505 /* geometry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = geometry.cpp; path = ../../src/common/geometry.cpp; sourceTree = ""; }; - 6BC93D1DE277395592610085 /* propdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = propdlg.cpp; path = ../../src/generic/propdlg.cpp; sourceTree = ""; }; - 6BD8DAB407D231EFA5B2CAE5 /* numformatter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = numformatter.cpp; path = ../../src/common/numformatter.cpp; sourceTree = ""; }; - 6C0129D2DB2D3431B66FD9C3 /* textctrl_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textctrl_osx.cpp; path = ../../src/osx/textctrl_osx.cpp; sourceTree = ""; }; - 6CD29E47B69D3F3482665E77 /* toolbar_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toolbar_osx.cpp; path = ../../src/osx/toolbar_osx.cpp; sourceTree = ""; }; - 6DBF3053414F3C448312165A /* jcdctmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = ../../src/jpeg/jcdctmgr.c; sourceTree = ""; }; - 6E855AB3AB08325980871AB4 /* xh_sizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_sizer.cpp; path = ../../src/xrc/xh_sizer.cpp; sourceTree = ""; }; - 6EDDEEEC981133E8BA6A3998 /* jcapimin.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = ../../src/jpeg/jcapimin.c; sourceTree = ""; }; - 6F23140777B733679D2FAAFC /* odcombocmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = odcombocmn.cpp; path = ../../src/common/odcombocmn.cpp; sourceTree = ""; }; - 70112AB00E013A35BE974FF1 /* webviewarchivehandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = webviewarchivehandler.cpp; path = ../../src/common/webviewarchivehandler.cpp; sourceTree = ""; }; - 7013DB195D023C31ADE68546 /* crc32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = ../../src/zlib/crc32.c; sourceTree = ""; }; - 701B84EE7C043B539FF5195A /* textbuf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textbuf.cpp; path = ../../src/common/textbuf.cpp; sourceTree = ""; }; - 7020ADB5D3E0375E875B418B /* LexA68k.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexA68k.cxx; path = ../../src/stc/scintilla/lexers/LexA68k.cxx; sourceTree = ""; }; - 70E9B2C076673C87B4218A01 /* panelcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = panelcmn.cpp; path = ../../src/common/panelcmn.cpp; sourceTree = ""; }; - 7195E665E0F233839B967FC9 /* timercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timercmn.cpp; path = ../../src/common/timercmn.cpp; sourceTree = ""; }; - 71DB140E670738839EC42C2B /* Document.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Document.cxx; path = ../../src/stc/scintilla/src/Document.cxx; sourceTree = ""; }; - 71F35835D4DE34D59F924E36 /* tglbtn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tglbtn.cpp; path = ../../src/osx/carbon/tglbtn.cpp; sourceTree = ""; }; - 724927B0045F3CC0884878BB /* radiobtncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = radiobtncmn.cpp; path = ../../src/common/radiobtncmn.cpp; sourceTree = ""; }; - 7255468B6D5F3D8697994A53 /* LexR.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexR.cxx; path = ../../src/stc/scintilla/lexers/LexR.cxx; sourceTree = ""; }; - 725574EF98C4301989181CBF /* jctrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = ../../src/jpeg/jctrans.c; sourceTree = ""; }; - 726C0457DF1232C793918DC1 /* tif_zip.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_zip.c; path = ../../src/tiff/libtiff/tif_zip.c; sourceTree = ""; }; - 7273A7E255323EB3B391D997 /* headerctrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = headerctrlg.cpp; path = ../../src/generic/headerctrlg.cpp; sourceTree = ""; }; - 727F25F832AD32D4B12D8E39 /* m_span.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_span.cpp; path = ../../src/html/m_span.cpp; sourceTree = ""; }; - 72869747E68E37998CB0A07E /* jdhuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = ../../src/jpeg/jdhuff.c; sourceTree = ""; }; - 72D7AF345E563587941BD868 /* longlong.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = longlong.cpp; path = ../../src/common/longlong.cpp; sourceTree = ""; }; - 7395814D42CC38F6B8CD81B4 /* gzlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = gzlib.c; path = ../../src/zlib/gzlib.c; sourceTree = ""; }; - 741578B590AF3F2CABE615EB /* timectrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timectrlg.cpp; path = ../../src/generic/timectrlg.cpp; sourceTree = ""; }; - 75278C04709D3482A2660DFC /* slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = slider.cpp; path = ../../src/osx/carbon/slider.cpp; sourceTree = ""; }; - 757B31FCCA1F381C95B30DF8 /* app.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = app.cpp; path = ../../src/osx/carbon/app.cpp; sourceTree = ""; }; - 75BF90BEF2F83BF28EC0458D /* stdpbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdpbase.cpp; path = ../../src/common/stdpbase.cpp; sourceTree = ""; }; - 75D0C937F2A03ADA8581A2BB /* arcall.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = arcall.cpp; path = ../../src/common/arcall.cpp; sourceTree = ""; }; - 76337016F2CA3C85831702E6 /* grid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = grid.cpp; path = ../../src/generic/grid.cpp; sourceTree = ""; }; - 772AD4682A3E38538511D341 /* bmpbtncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpbtncmn.cpp; path = ../../src/common/bmpbtncmn.cpp; sourceTree = ""; }; - 773D91F8280434519BD167EA /* radiobox_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = radiobox_osx.cpp; path = ../../src/osx/radiobox_osx.cpp; sourceTree = ""; }; - 776CD7F5B0673B4688F2EC92 /* dcgraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcgraph.cpp; path = ../../src/common/dcgraph.cpp; sourceTree = ""; }; - 777385D10CCC350C90F02824 /* textentry_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textentry_osx.cpp; path = ../../src/osx/textentry_osx.cpp; sourceTree = ""; }; - 77D6E66F72443765A2FBE263 /* aboutdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = aboutdlgg.cpp; path = ../../src/generic/aboutdlgg.cpp; sourceTree = ""; }; - 77F5E7BCD9B2307D8DBCC052 /* font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = font.cpp; path = ../../src/osx/carbon/font.cpp; sourceTree = ""; }; - 78D7866F95C73A28BB540606 /* LexBash.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexBash.cxx; path = ../../src/stc/scintilla/lexers/LexBash.cxx; sourceTree = ""; }; - 7906BD74118A3B4DAC515BC2 /* odcombo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = odcombo.cpp; path = ../../src/generic/odcombo.cpp; sourceTree = ""; }; - 7925E38823563BCDB5565DCF /* treebkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treebkg.cpp; path = ../../src/generic/treebkg.cpp; sourceTree = ""; }; - 7969963AA93537FCA4F54DA7 /* richtexthtml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtexthtml.cpp; path = ../../src/richtext/richtexthtml.cpp; sourceTree = ""; }; - 7A1CE0B28CB73F90AE92B5AB /* richtooltipcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtooltipcmn.cpp; path = ../../src/common/richtooltipcmn.cpp; sourceTree = ""; }; - 7A24E9101688368296C21EBE /* gzclose.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = gzclose.c; path = ../../src/zlib/gzclose.c; sourceTree = ""; }; - 7A34C5BBBA543DC0A50DE1B6 /* event.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = event.cpp; path = ../../src/common/event.cpp; sourceTree = ""; }; - 7A3F26F539473705AA82411D /* combobox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = combobox.cpp; path = ../../src/osx/carbon/combobox.cpp; sourceTree = ""; }; - 7AF8F8A78A5130DCB4D46729 /* LexCmake.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCmake.cxx; path = ../../src/stc/scintilla/lexers/LexCmake.cxx; sourceTree = ""; }; - 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdpaths_cf.cpp; path = ../../src/osx/core/stdpaths_cf.cpp; sourceTree = ""; }; - 7B389A14D6BF3AFD8CCE0807 /* protocol.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = protocol.cpp; path = ../../src/common/protocol.cpp; sourceTree = ""; }; - 7BA6ADD758693BD180D3275B /* treebase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treebase.cpp; path = ../../src/common/treebase.cpp; sourceTree = ""; }; - 7C80A0223B993BCB80D1C0A0 /* srchctrl_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = srchctrl_osx.cpp; path = ../../src/osx/srchctrl_osx.cpp; sourceTree = ""; }; - 7C97C1F26B5A38C49543060C /* mimetype.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mimetype.cpp; path = ../../src/osx/core/mimetype.cpp; sourceTree = ""; }; - 7CF5C09D9A1230EEB42713E1 /* stattext_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stattext_osx.cpp; path = ../../src/osx/stattext_osx.cpp; sourceTree = ""; }; - 7D2BE094D90D3AFDAE49F589 /* fswatchercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fswatchercmn.cpp; path = ../../src/common/fswatchercmn.cpp; sourceTree = ""; }; - 7D47A353B2C63204ABDD42DE /* filedlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filedlg.cpp; path = ../../src/osx/carbon/filedlg.cpp; sourceTree = ""; }; - 7D8BDFB06EE13E59ABB2A616 /* LexSorcus.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSorcus.cxx; path = ../../src/stc/scintilla/lexers/LexSorcus.cxx; sourceTree = ""; }; - 7D90D14874FD38079835AF0B /* editlbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = editlbox.cpp; path = ../../src/generic/editlbox.cpp; sourceTree = ""; }; - 7E0DD59CA6F8337C9964F954 /* RunStyles.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RunStyles.cxx; path = ../../src/stc/scintilla/src/RunStyles.cxx; sourceTree = ""; }; - 7EB95BCFA255323183A996C9 /* m_style.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_style.cpp; path = ../../src/html/m_style.cpp; sourceTree = ""; }; - 7EE2459D69BA35838C274488 /* LexCLW.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCLW.cxx; path = ../../src/stc/scintilla/lexers/LexCLW.cxx; sourceTree = ""; }; - 7F039CCBBE6C32A09930EBDB /* treectlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treectlg.cpp; path = ../../src/generic/treectlg.cpp; sourceTree = ""; }; - 7FCA75FE592C3469AE351FBF /* winpars.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = winpars.cpp; path = ../../src/html/winpars.cpp; sourceTree = ""; }; - 7FE0455EBDC63D82B2D88587 /* jcprepct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../src/jpeg/jcprepct.c; sourceTree = ""; }; - 810EB7316DF3344197C78EC0 /* jcmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../src/jpeg/jcmainct.c; sourceTree = ""; }; - 81390F96937631078EFCD891 /* utilsexc_base.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilsexc_base.cpp; path = ../../src/osx/core/utilsexc_base.cpp; sourceTree = ""; }; - 81821049E39B32C6ABCF6820 /* helpdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpdlg.cpp; path = ../../src/html/helpdlg.cpp; sourceTree = ""; }; - 81A30C745CA73E30B788B408 /* image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = image.cpp; path = ../../src/common/image.cpp; sourceTree = ""; }; - 81B3DFBB73573FFDBD320334 /* datstrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datstrm.cpp; path = ../../src/common/datstrm.cpp; sourceTree = ""; }; - 82A8381819DD37DA9A3830D1 /* helpfrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpfrm.cpp; path = ../../src/html/helpfrm.cpp; sourceTree = ""; }; - 832BBBFE664736D5978420C6 /* fmapbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fmapbase.cpp; path = ../../src/common/fmapbase.cpp; sourceTree = ""; }; - 832DDCA57DEE3FD1B34829EC /* xh_stbmp.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_stbmp.cpp; path = ../../src/xrc/xh_stbmp.cpp; sourceTree = ""; }; - 83A94241BCB13767AFEC5946 /* checklstcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = checklstcmn.cpp; path = ../../src/common/checklstcmn.cpp; sourceTree = ""; }; - 84758329F2163F00A9C005DF /* collpaneg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = collpaneg.cpp; path = ../../src/generic/collpaneg.cpp; sourceTree = ""; }; - 84A2E6F103403BBFADD449FE /* xh_gdctl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_gdctl.cpp; path = ../../src/xrc/xh_gdctl.cpp; sourceTree = ""; }; - 84A7A3B499503ECABC6A838F /* btncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = btncmn.cpp; path = ../../src/common/btncmn.cpp; sourceTree = ""; }; - 8555204EBA8930809B732842 /* accesscmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = accesscmn.cpp; path = ../../src/common/accesscmn.cpp; sourceTree = ""; }; - 861438BD294335D4B859EA71 /* toplvcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toplvcmn.cpp; path = ../../src/common/toplvcmn.cpp; sourceTree = ""; }; - 864438709B363773B8C3382D /* datetimefmt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datetimefmt.cpp; path = ../../src/common/datetimefmt.cpp; sourceTree = ""; }; - 8685B8ED68F23DB0B770FD74 /* xmltok.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xmltok.c; path = ../../src/expat/lib/xmltok.c; sourceTree = ""; }; - 86884BC843F6337EABF744BB /* jdapimin.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = ../../src/jpeg/jdapimin.c; sourceTree = ""; }; - 86A0C3603C8A343AAFBD2CE0 /* LexFortran.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexFortran.cxx; path = ../../src/stc/scintilla/lexers/LexFortran.cxx; sourceTree = ""; }; - 86F26F6418C53AFE8154BFC8 /* LexPascal.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPascal.cxx; path = ../../src/stc/scintilla/lexers/LexPascal.cxx; sourceTree = ""; }; - 8707324525DB344EA0E7D5CE /* wxdebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxdebug.xcconfig; sourceTree = ""; }; - 8734C52C7559310784396455 /* LexRuby.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexRuby.cxx; path = ../../src/stc/scintilla/lexers/LexRuby.cxx; sourceTree = ""; }; - 8744F2C80ECF375999195935 /* LexPB.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPB.cxx; path = ../../src/stc/scintilla/lexers/LexPB.cxx; sourceTree = ""; }; - 87799D3168B43EB7B5686826 /* pngrtran.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../src/png/pngrtran.c; sourceTree = ""; }; - 87D973CA8D673267BD0844D3 /* paper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = paper.cpp; path = ../../src/common/paper.cpp; sourceTree = ""; }; - 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_fontpicker.cpp; path = ../../src/xrc/xh_fontpicker.cpp; sourceTree = ""; }; - 8826A683573F35EA9789612C /* xh_bmpcbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_bmpcbox.cpp; path = ../../src/xrc/xh_bmpcbox.cpp; sourceTree = ""; }; - 888BD97139C936679691FF34 /* hash.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hash.cpp; path = ../../src/common/hash.cpp; sourceTree = ""; }; - 889FFA9573A835F280A21CB4 /* xh_html.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_html.cpp; path = ../../src/xrc/xh_html.cpp; sourceTree = ""; }; - 88C2B895570936A3B4FAF3CF /* xh_richtext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_richtext.cpp; path = ../../src/xrc/xh_richtext.cpp; sourceTree = ""; }; - 88F2BA2F0598342186A484B5 /* fs_arc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fs_arc.cpp; path = ../../src/common/fs_arc.cpp; sourceTree = ""; }; - 88FF67EB6E7D302A9CDEF660 /* tif_codec.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_codec.c; path = ../../src/tiff/libtiff/tif_codec.c; sourceTree = ""; }; - 89EC3C6F9AEF3F6DA7CEB3B3 /* xh_choic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_choic.cpp; path = ../../src/xrc/xh_choic.cpp; sourceTree = ""; }; - 8A7D521FE5B437D7AD5F4B54 /* hyperlnkcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hyperlnkcmn.cpp; path = ../../src/common/hyperlnkcmn.cpp; sourceTree = ""; }; - 8B6FCA050C26323893012BD6 /* glcanvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = glcanvas.cpp; path = ../../src/osx/carbon/glcanvas.cpp; sourceTree = ""; }; - 8C1E755F2408363288B2CE69 /* xh_animatctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_animatctrl.cpp; path = ../../src/xrc/xh_animatctrl.cpp; sourceTree = ""; }; - 8C78A1539462370CAA429508 /* accel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = accel.cpp; path = ../../src/osx/accel.cpp; sourceTree = ""; }; - 8CF560E06F2A3B6088203D09 /* bmpcboxcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpcboxcmn.cpp; path = ../../src/common/bmpcboxcmn.cpp; sourceTree = ""; }; - 8D0EF4BDCB5F329ABE15EEED /* calctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = calctrlcmn.cpp; path = ../../src/common/calctrlcmn.cpp; sourceTree = ""; }; - 8D529E2668C23D94A7706C8A /* textdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textdlgg.cpp; path = ../../src/generic/textdlgg.cpp; sourceTree = ""; }; - 8E6F9D4319F639BE89E5A82F /* ScintillaWX.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ScintillaWX.cpp; path = ../../src/stc/ScintillaWX.cpp; sourceTree = ""; }; - 8E7ADC9F00803853B1004529 /* xh_htmllbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_htmllbox.cpp; path = ../../src/xrc/xh_htmllbox.cpp; sourceTree = ""; }; - 8EB76F786D7F3FF286948D22 /* jcomapi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = ../../src/jpeg/jcomapi.c; sourceTree = ""; }; - 8EECA8EB93BF3C7A9CC827AD /* LexPOV.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPOV.cxx; path = ../../src/stc/scintilla/lexers/LexPOV.cxx; sourceTree = ""; }; - 8EFF4707641D3F20AB602ED6 /* jccolor.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = ../../src/jpeg/jccolor.c; sourceTree = ""; }; - 8F08F70E1EF239999A4D2AC4 /* wizard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wizard.cpp; path = ../../src/generic/wizard.cpp; sourceTree = ""; }; - 8F4F0113872C39FB9D10E411 /* stopwatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stopwatch.cpp; path = ../../src/common/stopwatch.cpp; sourceTree = ""; }; - 8F633793051F371F94C27530 /* LexVB.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexVB.cxx; path = ../../src/stc/scintilla/lexers/LexVB.cxx; sourceTree = ""; }; - 8FAA77ADAB7833648DA5D079 /* spinctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = spinctrlcmn.cpp; path = ../../src/common/spinctrlcmn.cpp; sourceTree = ""; }; - 8FFDFB4D208F37569AC548B0 /* imagall.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagall.cpp; path = ../../src/common/imagall.cpp; sourceTree = ""; }; - 9051902662BE38B3912B34EA /* dlgcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dlgcmn.cpp; path = ../../src/common/dlgcmn.cpp; sourceTree = ""; }; - 90EC2A5B80EE3031BA4087B9 /* jfdctint.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = ../../src/jpeg/jfdctint.c; sourceTree = ""; }; - 910D00F1C9143C6D85C24E7C /* LexDMIS.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexDMIS.cxx; path = ../../src/stc/scintilla/lexers/LexDMIS.cxx; sourceTree = ""; }; - 91292D8E11203A6B8E9767DA /* dirctrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dirctrlg.cpp; path = ../../src/generic/dirctrlg.cpp; sourceTree = ""; }; - 912B2982C9413F2FB40CA2D9 /* LexSML.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSML.cxx; path = ../../src/stc/scintilla/lexers/LexSML.cxx; sourceTree = ""; }; - 91300EB871CC39ECBC430D48 /* pngget.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../src/png/pngget.c; sourceTree = ""; }; - 917F2666B67E3D2EB84E74F8 /* sashwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sashwin.cpp; path = ../../src/generic/sashwin.cpp; sourceTree = ""; }; - 91C415400F0435528B9995B7 /* colordlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = colordlg.cpp; path = ../../src/osx/carbon/colordlg.cpp; sourceTree = ""; }; - 924AA3A156F834BCA1A57976 /* notifmsgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = notifmsgg.cpp; path = ../../src/generic/notifmsgg.cpp; sourceTree = ""; }; - 926AEAA989793A2F82185627 /* button.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = button.cpp; path = ../../src/osx/carbon/button.cpp; sourceTree = ""; }; - 92F377099B8B37F18C26716B /* collheaderctrlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = collheaderctrlg.cpp; path = ../../src/generic/collheaderctrlg.cpp; sourceTree = ""; }; - 9389DAF8B91030B7AAB029FF /* PerLine.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PerLine.cxx; path = ../../src/stc/scintilla/src/PerLine.cxx; sourceTree = ""; }; - 93B77251C0E0382D9A8E113D /* xh_grid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_grid.cpp; path = ../../src/xrc/xh_grid.cpp; sourceTree = ""; }; - 93BA27DFFB023F2EBD6295E3 /* dynload.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dynload.cpp; path = ../../src/common/dynload.cpp; sourceTree = ""; }; - 93D07403FCA530D7A9FD2917 /* jfdctflt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = ../../src/jpeg/jfdctflt.c; sourceTree = ""; }; - 93EDB3A2B85E3275A6D27C56 /* LexerBase.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerBase.cxx; path = ../../src/stc/scintilla/lexlib/LexerBase.cxx; sourceTree = ""; }; - 950D51915EF83B57B5E8306F /* xh_spin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_spin.cpp; path = ../../src/xrc/xh_spin.cpp; sourceTree = ""; }; - 95A156A823B536DE8476E4F9 /* appbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = appbase.cpp; path = ../../src/common/appbase.cpp; sourceTree = ""; }; - 95B1DB08E37B3EB193FEFE0C /* nonownedwnd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = nonownedwnd.cpp; path = ../../src/osx/carbon/nonownedwnd.cpp; sourceTree = ""; }; - 95B4EDF38F8A3E5EBAFF560F /* trees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = ../../src/zlib/trees.c; sourceTree = ""; }; - 95DEEF60B1E9358A8CCCC67E /* datavcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datavcmn.cpp; path = ../../src/common/datavcmn.cpp; sourceTree = ""; }; - 95E2B80B2D7033808504DA8D /* utilsexc_cf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilsexc_cf.cpp; path = ../../src/osx/core/utilsexc_cf.cpp; sourceTree = ""; }; - 964578C24B9F390AAD08576E /* addremovectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = addremovectrl.cpp; path = ../../src/common/addremovectrl.cpp; sourceTree = ""; }; - 9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lboxcmn.cpp; path = ../../src/common/lboxcmn.cpp; sourceTree = ""; }; - 967EF76827CB3CDE87E1E733 /* propgridpagestate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = propgridpagestate.cpp; path = ../../src/propgrid/propgridpagestate.cpp; sourceTree = ""; }; - 96CED508FA3C3B6B9265099E /* rendcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = rendcmn.cpp; path = ../../src/common/rendcmn.cpp; sourceTree = ""; }; - 9720FFA4490D3AC38E53BE03 /* StyleContext.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = StyleContext.cxx; path = ../../src/stc/scintilla/lexlib/StyleContext.cxx; sourceTree = ""; }; - 972BC9B2B0D438EFB12BCE1E /* rearrangectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = rearrangectrl.cpp; path = ../../src/common/rearrangectrl.cpp; sourceTree = ""; }; - 975E3B6A269434F0A069987D /* Catalogue.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Catalogue.cxx; path = ../../src/stc/scintilla/src/Catalogue.cxx; sourceTree = ""; }; - 9794A709E3C036D79860CEC9 /* LexCoffeeScript.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCoffeeScript.cxx; path = ../../src/stc/scintilla/lexers/LexCoffeeScript.cxx; sourceTree = ""; }; - 97C4E26489B034B6AE723D8D /* xh_simplebook.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_simplebook.cpp; path = ../../src/xrc/xh_simplebook.cpp; sourceTree = ""; }; - 97FFB03FF6793506B246BAC6 /* platinfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = platinfo.cpp; path = ../../src/common/platinfo.cpp; sourceTree = ""; }; - 9860CD56245B3E7FBD0E7846 /* checklst_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = checklst_osx.cpp; path = ../../src/osx/checklst_osx.cpp; sourceTree = ""; }; - 9979CCEEC4C73A6489EF1A21 /* anybutton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = anybutton.cpp; path = ../../src/osx/carbon/anybutton.cpp; sourceTree = ""; }; - 9988CBB0772A3539970162FA /* arttango.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = arttango.cpp; path = ../../src/common/arttango.cpp; sourceTree = ""; }; - 998C092CB83639CFA3DC63B1 /* checkbox_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = checkbox_osx.cpp; path = ../../src/osx/checkbox_osx.cpp; sourceTree = ""; }; - 998D611109EC33A9A6A11C5A /* gdicmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdicmn.cpp; path = ../../src/common/gdicmn.cpp; sourceTree = ""; }; - 99BC7A16DBCA36EDA9D6F1DB /* powercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = powercmn.cpp; path = ../../src/common/powercmn.cpp; sourceTree = ""; }; - 9A23D41D747D38BF8AD30067 /* xh_gauge.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_gauge.cpp; path = ../../src/xrc/xh_gauge.cpp; sourceTree = ""; }; - 9AD367F1047838A9A7A34DBF /* xmlreshandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xmlreshandler.cpp; path = ../../src/xrc/xmlreshandler.cpp; sourceTree = ""; }; - 9AFCEB1FFA3037458F132CAB /* xh_mdi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_mdi.cpp; path = ../../src/xrc/xh_mdi.cpp; sourceTree = ""; }; - 9BB9CE48AE853C47A1D157AE /* ScintillaBase.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ScintillaBase.cxx; path = ../../src/stc/scintilla/src/ScintillaBase.cxx; sourceTree = ""; }; - 9C87B071E3593A889704F512 /* statbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbar.cpp; path = ../../src/common/statbar.cpp; sourceTree = ""; }; - 9CAA325362C73AC8BE20FAA7 /* pngpread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../src/png/pngpread.c; sourceTree = ""; }; - 9CC7C6FFD67233788EEDFC5E /* LexYAML.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexYAML.cxx; path = ../../src/stc/scintilla/lexers/LexYAML.cxx; sourceTree = ""; }; - 9CE73979D0933A43830307E4 /* tif_packbits.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_packbits.c; path = ../../src/tiff/libtiff/tif_packbits.c; sourceTree = ""; }; - 9D1F14339D1C331087650931 /* colour.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = colour.cpp; path = ../../src/osx/core/colour.cpp; sourceTree = ""; }; - 9D6B0D32537D35069C7E053F /* inftrees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = ../../src/zlib/inftrees.c; sourceTree = ""; }; - 9DB43FAB1E563B02ACEFF647 /* module.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = module.cpp; path = ../../src/common/module.cpp; sourceTree = ""; }; - 9DD609EC0591359C9A576A43 /* printdlg_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = printdlg_osx.cpp; path = ../../src/osx/printdlg_osx.cpp; sourceTree = ""; }; - 9DE6A96FDD5D381D8B33D58E /* infobar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = infobar.cpp; path = ../../src/generic/infobar.cpp; sourceTree = ""; }; - 9E2C8A7034343354841F7D8B /* toplevel_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toplevel_osx.cpp; path = ../../src/osx/toplevel_osx.cpp; sourceTree = ""; }; - 9E5C91072D533919A78D8ED2 /* LexTACL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTACL.cxx; path = ../../src/stc/scintilla/lexers/LexTACL.cxx; sourceTree = ""; }; - 9E8BF36D3A7C309482CBA9EC /* tipwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tipwin.cpp; path = ../../src/generic/tipwin.cpp; sourceTree = ""; }; - 9E9B79C8C7C4302AA057843E /* evtloopunix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = evtloopunix.cpp; path = ../../src/unix/evtloopunix.cpp; sourceTree = ""; }; - 9EF09C7CC5413CC6A5E7B21B /* LexCPP.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCPP.cxx; path = ../../src/stc/scintilla/lexers/LexCPP.cxx; sourceTree = ""; }; - 9F16A18CD9C23410B18592FD /* statbox_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbox_osx.cpp; path = ../../src/osx/statbox_osx.cpp; sourceTree = ""; }; - 9FBCD305199836939824BF97 /* libwx_osx_carbon.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwx_osx_carbon.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - 9FDDE855D9F83E4891362EB4 /* bar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bar.cpp; path = ../../src/ribbon/bar.cpp; sourceTree = ""; }; - 9FEB8204E530329FA085E5B8 /* strconv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strconv.cpp; path = ../../src/common/strconv.cpp; sourceTree = ""; }; - A046179831F63824A67B509B /* preferencescmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = preferencescmn.cpp; path = ../../src/common/preferencescmn.cpp; sourceTree = ""; }; - A05AEAB07C613BE2A0357BD8 /* spinbutt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = spinbutt.cpp; path = ../../src/osx/carbon/spinbutt.cpp; sourceTree = ""; }; - A06AB1974DB93EE2999EC75C /* pngrio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../src/png/pngrio.c; sourceTree = ""; }; - A0DCC5EF59143640BE13AD73 /* jidctfst.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = ../../src/jpeg/jidctfst.c; sourceTree = ""; }; - A1276C0E5D48337489DEE8DF /* LexErlang.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexErlang.cxx; path = ../../src/stc/scintilla/lexers/LexErlang.cxx; sourceTree = ""; }; - A1A53EC3A3463EFDB7614E93 /* bitmap.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap.cpp; path = ../../src/osx/core/bitmap.cpp; sourceTree = ""; }; - A1CB6A4171D4343BB0A9858A /* msgdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msgdlgg.cpp; path = ../../src/generic/msgdlgg.cpp; sourceTree = ""; }; - A1E1A01885B036C28EBDAE27 /* xmladv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xmladv.cpp; path = ../../src/xrc/xmladv.cpp; sourceTree = ""; }; - A284E855892F3A9E9E19E854 /* LexTADS3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTADS3.cxx; path = ../../src/stc/scintilla/lexers/LexTADS3.cxx; sourceTree = ""; }; - A298576700C33F018616E7BD /* auibook.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = auibook.cpp; path = ../../src/aui/auibook.cpp; sourceTree = ""; }; - A37E3D1FB4FB31AFAE88665A /* dpycmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dpycmn.cpp; path = ../../src/common/dpycmn.cpp; sourceTree = ""; }; - A436B55DC44E3827A757A6D8 /* accelcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = accelcmn.cpp; path = ../../src/common/accelcmn.cpp; sourceTree = ""; }; - A46D50BEBF523B3F88831086 /* LexAsn1.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAsn1.cxx; path = ../../src/stc/scintilla/lexers/LexAsn1.cxx; sourceTree = ""; }; - A4A745D1821A32D591D76650 /* imagiff.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagiff.cpp; path = ../../src/common/imagiff.cpp; sourceTree = ""; }; - A54B80C17F823CB5900AD2E8 /* framecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = framecmn.cpp; path = ../../src/common/framecmn.cpp; sourceTree = ""; }; - A5617D10CB7136EC9A4194EF /* display.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = display.cpp; path = ../../src/osx/core/display.cpp; sourceTree = ""; }; - A5794CD687013AF8A20A691A /* headerctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = headerctrlcmn.cpp; path = ../../src/common/headerctrlcmn.cpp; sourceTree = ""; }; - A57CF60203F53459A03951A9 /* arrstr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = arrstr.cpp; path = ../../src/common/arrstr.cpp; sourceTree = ""; }; - A5BBC1E494D33D028CA547FF /* jddctmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = ../../src/jpeg/jddctmgr.c; sourceTree = ""; }; - A5D569A4DE643DC8B0C28087 /* selectdispatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = selectdispatcher.cpp; path = ../../src/common/selectdispatcher.cpp; sourceTree = ""; }; - A5E4E466CCBA3A78A38A6E79 /* dataview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dataview.cpp; path = ../../src/osx/carbon/dataview.cpp; sourceTree = ""; }; - A5EE0B8985443BDCB36F781F /* m_layout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_layout.cpp; path = ../../src/html/m_layout.cpp; sourceTree = ""; }; - A65399C8A6D636139E362119 /* LexAsm.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAsm.cxx; path = ../../src/stc/scintilla/lexers/LexAsm.cxx; sourceTree = ""; }; - A6636144CDE83E8E85270FAF /* hashmap.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hashmap.cpp; path = ../../src/common/hashmap.cpp; sourceTree = ""; }; - A70C82ADB45A3FB99C420D03 /* regerror.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regerror.c; path = ../../src/regex/regerror.c; sourceTree = ""; }; - A737317EDE0F3921B1412966 /* LexRegistry.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexRegistry.cxx; path = ../../src/stc/scintilla/lexers/LexRegistry.cxx; sourceTree = ""; }; - A82C367B86F83981803D55DB /* LexASY.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexASY.cxx; path = ../../src/stc/scintilla/lexers/LexASY.cxx; sourceTree = ""; }; - A87662D69F0432FC96701280 /* xh_notbk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_notbk.cpp; path = ../../src/xrc/xh_notbk.cpp; sourceTree = ""; }; - A87BF60D0D4A33E2AD2E1E25 /* uiactioncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uiactioncmn.cpp; path = ../../src/common/uiactioncmn.cpp; sourceTree = ""; }; - A881F49ADCF33C299B041584 /* floatpane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = floatpane.cpp; path = ../../src/aui/floatpane.cpp; sourceTree = ""; }; - A8ABD099BCEA30DCBF7A04F4 /* animatecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = animatecmn.cpp; path = ../../src/common/animatecmn.cpp; sourceTree = ""; }; - A92B6033D8233DB1821F193B /* xmlparse.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xmlparse.c; path = ../../src/expat/lib/xmlparse.c; sourceTree = ""; }; - A9B2316B32653DA0939A372D /* sound_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sound_osx.cpp; path = ../../src/osx/sound_osx.cpp; sourceTree = ""; }; - A9C7F740A55E39FD890B3C7F /* editors.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = editors.cpp; path = ../../src/propgrid/editors.cpp; sourceTree = ""; }; - A9D5CF9CC4553336916FB27B /* fontpickercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontpickercmn.cpp; path = ../../src/common/fontpickercmn.cpp; sourceTree = ""; }; - A9E441D48CB73EF2BFD6C384 /* scrolbarcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scrolbarcmn.cpp; path = ../../src/common/scrolbarcmn.cpp; sourceTree = ""; }; - AA69FCE7B4FA377E98438FE5 /* bmpbuttn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpbuttn.cpp; path = ../../src/osx/carbon/bmpbuttn.cpp; sourceTree = ""; }; - AA6C6739C3BD3EFA9CF71102 /* jcinit.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = ../../src/jpeg/jcinit.c; sourceTree = ""; }; - AA90128E29A03CCCA30F4D35 /* vlbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = vlbox.cpp; path = ../../src/generic/vlbox.cpp; sourceTree = ""; }; - AAB58DD0DEC13D68B8708085 /* fs_filter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fs_filter.cpp; path = ../../src/common/fs_filter.cpp; sourceTree = ""; }; - AAC12B4456E13F57BEA25A5E /* tif_swab.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_swab.c; path = ../../src/tiff/libtiff/tif_swab.c; sourceTree = ""; }; - AACFDE3263CE3E728AFC47DF /* xh_clrpicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_clrpicker.cpp; path = ../../src/xrc/xh_clrpicker.cpp; sourceTree = ""; }; - AB466912FDA23F8B87A00A3C /* threadpsx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = threadpsx.cpp; path = ../../src/unix/threadpsx.cpp; sourceTree = ""; }; - AB634FD597793A74B3B3AA7F /* docview.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = docview.cpp; path = ../../src/common/docview.cpp; sourceTree = ""; }; - AB8A747FB60239B9AB710264 /* clrpickercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clrpickercmn.cpp; path = ../../src/common/clrpickercmn.cpp; sourceTree = ""; }; - ABA5F3C56C8C37809F696A49 /* listbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listbox.cpp; path = ../../src/osx/carbon/listbox.cpp; sourceTree = ""; }; - ABCA89FC1E76356797A2AF2B /* msgdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msgdlg.cpp; path = ../../src/osx/carbon/msgdlg.cpp; sourceTree = ""; }; - ABE3DC4AA47D39ACA83F27C0 /* settcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = settcmn.cpp; path = ../../src/common/settcmn.cpp; sourceTree = ""; }; - AC12D557950A3B0D89D9F2F3 /* fileback.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fileback.cpp; path = ../../src/common/fileback.cpp; sourceTree = ""; }; - AC5C60B3AF893BE98BCE6C1D /* wincmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wincmn.cpp; path = ../../src/common/wincmn.cpp; sourceTree = ""; }; - AC62806DE67F33E18C386D4F /* LexDMAP.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexDMAP.cxx; path = ../../src/stc/scintilla/lexers/LexDMAP.cxx; sourceTree = ""; }; - AC6359B01A7B35F6B710ACF8 /* uiaction_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uiaction_osx.cpp; path = ../../src/osx/uiaction_osx.cpp; sourceTree = ""; }; - AC8BB1AABB3D393EBA527060 /* intl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = intl.cpp; path = ../../src/common/intl.cpp; sourceTree = ""; }; - ACC61BA84C6C33D4BCA403ED /* dynarray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dynarray.cpp; path = ../../src/common/dynarray.cpp; sourceTree = ""; }; - ADA6B65038FB32F7A3EFBB97 /* ffile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ffile.cpp; path = ../../src/common/ffile.cpp; sourceTree = ""; }; - AE856D950B8C369EB0FE13BA /* datectlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datectlg.cpp; path = ../../src/generic/datectlg.cpp; sourceTree = ""; }; - AF26BAB1F4733114926F1724 /* png.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../src/png/png.c; sourceTree = ""; }; - AF3DF03795153E039B8F1F87 /* LineMarker.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LineMarker.cxx; path = ../../src/stc/scintilla/src/LineMarker.cxx; sourceTree = ""; }; - AF76670146413EEFA005206A /* printps.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = printps.cpp; path = ../../src/generic/printps.cpp; sourceTree = ""; }; - AF7CE00168AB33C994374ABA /* tif_extension.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_extension.c; path = ../../src/tiff/libtiff/tif_extension.c; sourceTree = ""; }; - AF9EE701DD653E2299293E5F /* pngwio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../src/png/pngwio.c; sourceTree = ""; }; - AFA85C8E426C361F9CA9D15F /* imagtiff.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagtiff.cpp; path = ../../src/common/imagtiff.cpp; sourceTree = ""; }; - B0665A40F3FC3F218074C63C /* artmac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = artmac.cpp; path = ../../src/osx/artmac.cpp; sourceTree = ""; }; - B14D6E7E15FD3C869E341198 /* LexLout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLout.cxx; path = ../../src/stc/scintilla/lexers/LexLout.cxx; sourceTree = ""; }; - B17772732159304AA7312D72 /* dcclient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcclient.cpp; path = ../../src/osx/carbon/dcclient.cpp; sourceTree = ""; }; - B17FC30EF9D035689B68C955 /* xh_toolbk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_toolbk.cpp; path = ../../src/xrc/xh_toolbk.cpp; sourceTree = ""; }; - B180290089B139F18B0C7BBA /* stockitem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stockitem.cpp; path = ../../src/common/stockitem.cpp; sourceTree = ""; }; - B181F564935730E89AB00D92 /* LexForth.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexForth.cxx; path = ../../src/stc/scintilla/lexers/LexForth.cxx; sourceTree = ""; }; - B1F3C70512D93501B0478F3E /* m_fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_fonts.cpp; path = ../../src/html/m_fonts.cpp; sourceTree = ""; }; - B2D390E5D5BF32D4AAA1E15A /* jdmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = ../../src/jpeg/jdmainct.c; sourceTree = ""; }; - B303230368143F37B2409DE6 /* LexKix.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexKix.cxx; path = ../../src/stc/scintilla/lexers/LexKix.cxx; sourceTree = ""; }; - B35DA585CFDD32468868E892 /* process.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = process.cpp; path = ../../src/common/process.cpp; sourceTree = ""; }; - B3645350F572364BABF50238 /* containr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = containr.cpp; path = ../../src/common/containr.cpp; sourceTree = ""; }; - B38F3D4DC6D139BA93401F7A /* wakeuppipe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wakeuppipe.cpp; path = ../../src/unix/wakeuppipe.cpp; sourceTree = ""; }; - B3D9C4122372343DBEAF6492 /* LexCOBOL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCOBOL.cxx; path = ../../src/stc/scintilla/lexers/LexCOBOL.cxx; sourceTree = ""; }; - B3F1680BBE8331A7B745638C /* xh_sttxt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_sttxt.cpp; path = ../../src/xrc/xh_sttxt.cpp; sourceTree = ""; }; - B4028ABB08C63AB59F5F240B /* m_list.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_list.cpp; path = ../../src/html/m_list.cpp; sourceTree = ""; }; - B40E0F6AA0273ACD9BDEAD72 /* appunix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = appunix.cpp; path = ../../src/unix/appunix.cpp; sourceTree = ""; }; - B44B32437825326C84607AD8 /* wxcarbon.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxcarbon.xcconfig; sourceTree = ""; }; - B4DCCF66D880330A9EE9B6B2 /* xh_listb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_listb.cpp; path = ../../src/xrc/xh_listb.cpp; sourceTree = ""; }; - B4E4032CA9883CA4B25BE082 /* xh_hyperlink.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_hyperlink.cpp; path = ../../src/xrc/xh_hyperlink.cpp; sourceTree = ""; }; - B5370A676AAC32419D7FDD87 /* inflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = ../../src/zlib/inflate.c; sourceTree = ""; }; - B540E18F9C91381CA175BABB /* art_msw.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = art_msw.cpp; path = ../../src/ribbon/art_msw.cpp; sourceTree = ""; }; - B558F1ED9346332D8C4BDFBC /* headercolcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = headercolcmn.cpp; path = ../../src/common/headercolcmn.cpp; sourceTree = ""; }; - B568A7364ECA30288820CCE7 /* mdi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mdi.cpp; path = ../../src/osx/carbon/mdi.cpp; sourceTree = ""; }; - B56A9BF7AE1E3F11A5848297 /* tipdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tipdlg.cpp; path = ../../src/generic/tipdlg.cpp; sourceTree = ""; }; - B580FD04D0D83601826FD5EE /* filepickerg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filepickerg.cpp; path = ../../src/generic/filepickerg.cpp; sourceTree = ""; }; - B5E2D6917EB1352983C7FE85 /* wrapsizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wrapsizer.cpp; path = ../../src/common/wrapsizer.cpp; sourceTree = ""; }; - B63EBEE1A04537E7887E9FD0 /* ustring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ustring.cpp; path = ../../src/common/ustring.cpp; sourceTree = ""; }; - B6A37A02D28E30CD9B83E134 /* xh_ribbon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_ribbon.cpp; path = ../../src/xrc/xh_ribbon.cpp; sourceTree = ""; }; - B6AADC1056E03A3B80C20C5B /* LexBasic.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexBasic.cxx; path = ../../src/stc/scintilla/lexers/LexBasic.cxx; sourceTree = ""; }; - B7581D7140293BAE88E43DBE /* fs_inet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fs_inet.cpp; path = ../../src/common/fs_inet.cpp; sourceTree = ""; }; - B83EDE2D1731311ABDE62F9F /* tif_strip.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_strip.c; path = ../../src/tiff/libtiff/tif_strip.c; sourceTree = ""; }; - B883F991159731DCB2717A21 /* CharacterSet.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CharacterSet.cxx; path = ../../src/stc/scintilla/lexlib/CharacterSet.cxx; sourceTree = ""; }; - B890199A37723EFD86C0ADA5 /* quantize.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = quantize.cpp; path = ../../src/common/quantize.cpp; sourceTree = ""; }; - B901252876603DCEA4C66D89 /* nbkbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = nbkbase.cpp; path = ../../src/common/nbkbase.cpp; sourceTree = ""; }; - B912D2E3385E365CAB61A7FF /* xh_treebk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_treebk.cpp; path = ../../src/xrc/xh_treebk.cpp; sourceTree = ""; }; - B98B72B3A0A73044B85AED60 /* propgrid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = propgrid.cpp; path = ../../src/propgrid/propgrid.cpp; sourceTree = ""; }; - B99CA41708513A599AE275A2 /* listbox_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listbox_osx.cpp; path = ../../src/osx/listbox_osx.cpp; sourceTree = ""; }; - B9B5BC858CCF3477895D2786 /* zstream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = zstream.cpp; path = ../../src/common/zstream.cpp; sourceTree = ""; }; - B9D43F0F1CCA3BED871F7A6C /* scrolbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scrolbar.cpp; path = ../../src/osx/carbon/scrolbar.cpp; sourceTree = ""; }; - B9DFC4083C6A38CABE4BB4E3 /* LexD.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexD.cxx; path = ../../src/stc/scintilla/lexers/LexD.cxx; sourceTree = ""; }; - B9FD5AE12CA9376883AEE4FC /* tif_dirwrite.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_dirwrite.c; path = ../../src/tiff/libtiff/tif_dirwrite.c; sourceTree = ""; }; - BACAA6CE4A0934459F26B27C /* graphicc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graphicc.cpp; path = ../../src/generic/graphicc.cpp; sourceTree = ""; }; - BACF6FE87AD337729BBB72BD /* taskbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = taskbar.cpp; path = ../../src/osx/carbon/taskbar.cpp; sourceTree = ""; }; - BAD4614CABC934D6AFF8D9CD /* gzread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = gzread.c; path = ../../src/zlib/gzread.c; sourceTree = ""; }; - BAD9A0BFED6A37E4A305E1D7 /* filename.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filename.cpp; path = ../../src/common/filename.cpp; sourceTree = ""; }; - BB3FF9FECCB5300A9561CE36 /* richtextsymboldlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextsymboldlg.cpp; path = ../../src/richtext/richtextsymboldlg.cpp; sourceTree = ""; }; - BB60FA0E3524391D8581AD7C /* xh_activityindicator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_activityindicator.cpp; path = ../../src/xrc/xh_activityindicator.cpp; sourceTree = ""; }; - BB7661E9E09A397790ED9545 /* sockunix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sockunix.cpp; path = ../../src/unix/sockunix.cpp; sourceTree = ""; }; - BB7DBBD53BA837D2B01CE2B6 /* xh_chckb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_chckb.cpp; path = ../../src/xrc/xh_chckb.cpp; sourceTree = ""; }; - BB924887605E3CB388F56776 /* utils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../src/osx/carbon/utils.cpp; sourceTree = ""; }; - BBB30516233A39BE809405AA /* helpbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpbase.cpp; path = ../../src/common/helpbase.cpp; sourceTree = ""; }; - BBF01162E86737818F704DBE /* aboutdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = aboutdlg.cpp; path = ../../src/osx/carbon/aboutdlg.cpp; sourceTree = ""; }; - BC12B97F233B3B9494DA217F /* imagpnm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagpnm.cpp; path = ../../src/common/imagpnm.cpp; sourceTree = ""; }; - BC5C5DB466CD3D6FA6985B56 /* LexNimrod.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexNimrod.cxx; path = ../../src/stc/scintilla/lexers/LexNimrod.cxx; sourceTree = ""; }; - BCC5B7709F4C3875A3A316C3 /* choice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choice.cpp; path = ../../src/osx/carbon/choice.cpp; sourceTree = ""; }; - BCD873D873A53BBF955D8A4E /* PositionCache.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PositionCache.cxx; path = ../../src/stc/scintilla/src/PositionCache.cxx; sourceTree = ""; }; - BD169D8019A13A11BDB26214 /* xh_dirpicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_dirpicker.cpp; path = ../../src/xrc/xh_dirpicker.cpp; sourceTree = ""; }; - BD709DEB71623974B9836D69 /* dockart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dockart.cpp; path = ../../src/aui/dockart.cpp; sourceTree = ""; }; - BD88495AF72531A28D2201D0 /* tif_tile.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_tile.c; path = ../../src/tiff/libtiff/tif_tile.c; sourceTree = ""; }; - BDE76674C0F5391BAD2AFA2F /* dialog_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dialog_osx.cpp; path = ../../src/osx/dialog_osx.cpp; sourceTree = ""; }; - BE4B0CE56BA23002A5C8AEFF /* toolbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toolbar.cpp; path = ../../src/osx/carbon/toolbar.cpp; sourceTree = ""; }; - BE4B0CE56BA23002A5C8AF00 /* toolbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toolbar.cpp; path = ../../src/ribbon/toolbar.cpp; sourceTree = ""; }; - BEA102FF0FFC33DEAEF2FE14 /* progdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = progdlgg.cpp; path = ../../src/generic/progdlgg.cpp; sourceTree = ""; }; - BEB08798C70E33DDB360E563 /* layout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = layout.cpp; path = ../../src/common/layout.cpp; sourceTree = ""; }; - BEC69FC5D7F73759A0670C4A /* textmeasurecmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textmeasurecmn.cpp; path = ../../src/common/textmeasurecmn.cpp; sourceTree = ""; }; - BEF6B3FB66243812969E5BD1 /* palette.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = palette.cpp; path = ../../src/osx/palette.cpp; sourceTree = ""; }; - BF1C44D726E63B18A98006EC /* Decoration.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Decoration.cxx; path = ../../src/stc/scintilla/src/Decoration.cxx; sourceTree = ""; }; - BFA50405234C30EEA3F77F17 /* filepickercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filepickercmn.cpp; path = ../../src/common/filepickercmn.cpp; sourceTree = ""; }; - BFF5A87D79EF3BEFAC3C0C20 /* LexAVE.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAVE.cxx; path = ../../src/stc/scintilla/lexers/LexAVE.cxx; sourceTree = ""; }; - BFF8216871643FEA8B5D7804 /* tif_fax3sm.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_fax3sm.c; path = ../../src/tiff/libtiff/tif_fax3sm.c; sourceTree = ""; }; - C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tabmdi.cpp; path = ../../src/aui/tabmdi.cpp; sourceTree = ""; }; - C019CE87CF9931B0B77C0823 /* fswatcher_kqueue.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fswatcher_kqueue.cpp; path = ../../src/unix/fswatcher_kqueue.cpp; sourceTree = ""; }; - C049D0CFFF0D34E591E1FEA1 /* fontdata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontdata.cpp; path = ../../src/common/fontdata.cpp; sourceTree = ""; }; - C0929D5DDFE337329FA8C6BC /* LexTCL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTCL.cxx; path = ../../src/stc/scintilla/lexers/LexTCL.cxx; sourceTree = ""; }; - C0F7BBD216853E718C9F23D9 /* tarstrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tarstrm.cpp; path = ../../src/common/tarstrm.cpp; sourceTree = ""; }; - C125FA3837C631A9BE0ED5E7 /* splitter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = splitter.cpp; path = ../../src/generic/splitter.cpp; sourceTree = ""; }; - C133B838193A35ABBB803151 /* ViewStyle.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ViewStyle.cxx; path = ../../src/stc/scintilla/src/ViewStyle.cxx; sourceTree = ""; }; - C20E46A504113C899B9DD9B7 /* props.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = props.cpp; path = ../../src/propgrid/props.cpp; sourceTree = ""; }; - C25521AF59B9324EB2809C73 /* XPM.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XPM.cxx; path = ../../src/stc/scintilla/src/XPM.cxx; sourceTree = ""; }; - C269E9CA99DF3AE5B1BD6AFA /* encconv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = encconv.cpp; path = ../../src/common/encconv.cpp; sourceTree = ""; }; - C28429A964C337A192D76CC8 /* Style.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Style.cxx; path = ../../src/stc/scintilla/src/Style.cxx; sourceTree = ""; }; - C2BB2949CC0B387AB6879539 /* metafile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = metafile.cpp; path = ../../src/osx/carbon/metafile.cpp; sourceTree = ""; }; - C3019BA65DD73F30A865365F /* frame.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = frame.cpp; path = ../../src/osx/carbon/frame.cpp; sourceTree = ""; }; - C356B5738AB13E829E66729E /* LexOthers.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexOthers.cxx; path = ../../src/stc/scintilla/lexers/LexOthers.cxx; sourceTree = ""; }; - C3784C240C2F330683494926 /* laywin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = laywin.cpp; path = ../../src/generic/laywin.cpp; sourceTree = ""; }; - C37866F41B0C31E295AA7FA6 /* wfstream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wfstream.cpp; path = ../../src/common/wfstream.cpp; sourceTree = ""; }; - C45AFE6CC20F3ED7A55FC8FA /* pngmem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../src/png/pngmem.c; sourceTree = ""; }; - C466F32CCBD13DBC87285B3D /* helpdata.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpdata.cpp; path = ../../src/html/helpdata.cpp; sourceTree = ""; }; - C4C45D3C63AA37CEBCE83321 /* richtextprint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextprint.cpp; path = ../../src/richtext/richtextprint.cpp; sourceTree = ""; }; - C513377E9E303F778BA9D7ED /* arcfind.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = arcfind.cpp; path = ../../src/common/arcfind.cpp; sourceTree = ""; }; - C562D5885AFF3E15837325CE /* xpmdecod.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xpmdecod.cpp; path = ../../src/common/xpmdecod.cpp; sourceTree = ""; }; - C62CD918A09D3FE5B1BF2D17 /* anybutton_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = anybutton_osx.cpp; path = ../../src/osx/anybutton_osx.cpp; sourceTree = ""; }; - C63C3983BD243D55AF88DD67 /* AutoComplete.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AutoComplete.cxx; path = ../../src/stc/scintilla/src/AutoComplete.cxx; sourceTree = ""; }; - C63C964DAFAD311694367C94 /* xh_datectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_datectrl.cpp; path = ../../src/xrc/xh_datectrl.cpp; sourceTree = ""; }; - C64705CE9398316D87BAB4DC /* logg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = logg.cpp; path = ../../src/generic/logg.cpp; sourceTree = ""; }; - C668C23A4E9A3A39BEED384E /* spinbtncmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = spinbtncmn.cpp; path = ../../src/common/spinbtncmn.cpp; sourceTree = ""; }; - C69E48C06BD23C178F650E42 /* richtextxml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextxml.cpp; path = ../../src/richtext/richtextxml.cpp; sourceTree = ""; }; - C6EB77ED688E3EE294167EF1 /* tif_print.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_print.c; path = ../../src/tiff/libtiff/tif_print.c; sourceTree = ""; }; - C76222F466E831F896A89269 /* LexAU3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAU3.cxx; path = ../../src/stc/scintilla/lexers/LexAU3.cxx; sourceTree = ""; }; - C839E49184663A7CBB7EEB06 /* mediactrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mediactrlcmn.cpp; path = ../../src/common/mediactrlcmn.cpp; sourceTree = ""; }; - C83C97A1FCC5345896C9D7DE /* tif_warning.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_warning.c; path = ../../src/tiff/libtiff/tif_warning.c; sourceTree = ""; }; - C978558AE31D3CFA85B3BBE3 /* richtextformatdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextformatdlg.cpp; path = ../../src/richtext/richtextformatdlg.cpp; sourceTree = ""; }; - C9A305CEC03B3085B159B617 /* fs_mem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fs_mem.cpp; path = ../../src/common/fs_mem.cpp; sourceTree = ""; }; - CA0D5D47D62A3148BA51B31B /* tif_compress.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_compress.c; path = ../../src/tiff/libtiff/tif_compress.c; sourceTree = ""; }; - CA2D9F325F833C408657E7B7 /* dlunix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dlunix.cpp; path = ../../src/unix/dlunix.cpp; sourceTree = ""; }; - CA72410F615B3A78A6340532 /* dnd_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dnd_osx.cpp; path = ../../src/osx/dnd_osx.cpp; sourceTree = ""; }; - CBCA90340E433DBBAE74EBE1 /* hyperlinkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hyperlinkg.cpp; path = ../../src/generic/hyperlinkg.cpp; sourceTree = ""; }; - CBD7B44E33373BCCB60FC11F /* combog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = combog.cpp; path = ../../src/generic/combog.cpp; sourceTree = ""; }; - CC2713393AB132AA8E337AE1 /* LexPython.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPython.cxx; path = ../../src/stc/scintilla/lexers/LexPython.cxx; sourceTree = ""; }; - CCED0C7EF69A31A4A9240D60 /* xh_choicbk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_choicbk.cpp; path = ../../src/xrc/xh_choicbk.cpp; sourceTree = ""; }; - CCF7564A2B733F759AA8496B /* jdinput.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = ../../src/jpeg/jdinput.c; sourceTree = ""; }; - CD72950967F33809931D4968 /* LexAbaqus.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAbaqus.cxx; path = ../../src/stc/scintilla/lexers/LexAbaqus.cxx; sourceTree = ""; }; - CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_tglbtn.cpp; path = ../../src/xrc/xh_tglbtn.cpp; sourceTree = ""; }; - CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imaggif.cpp; path = ../../src/common/imaggif.cpp; sourceTree = ""; }; - CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choicdgg.cpp; path = ../../src/generic/choicdgg.cpp; sourceTree = ""; }; - CF4F4F5211933057824B5621 /* button_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = button_osx.cpp; path = ../../src/osx/button_osx.cpp; sourceTree = ""; }; - CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerSimple.cxx; path = ../../src/stc/scintilla/lexlib/LexerSimple.cxx; sourceTree = ""; }; - CF6511DE2CB43534A5566403 /* menuitem_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menuitem_osx.cpp; path = ../../src/osx/menuitem_osx.cpp; sourceTree = ""; }; - CFBDB327E4A236A3ABFA326F /* webviewfshandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = webviewfshandler.cpp; path = ../../src/common/webviewfshandler.cpp; sourceTree = ""; }; - D03731D60A063988AF6AE70F /* mediactrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mediactrl.cpp; path = ../../src/osx/carbon/mediactrl.cpp; sourceTree = ""; }; - D037EA567C253DEEA17E822B /* mousemanager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mousemanager.cpp; path = ../../src/common/mousemanager.cpp; sourceTree = ""; }; - D0817D6A1AF83608B050EBC3 /* fontmap.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontmap.cpp; path = ../../src/common/fontmap.cpp; sourceTree = ""; }; - D0B70966E9423F198C8CBE65 /* xh_cmdlinkbn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_cmdlinkbn.cpp; path = ../../src/xrc/xh_cmdlinkbn.cpp; sourceTree = ""; }; - D0B9C41A4D12345AAA764CAD /* stc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stc.cpp; path = ../../src/stc/stc.cpp; sourceTree = ""; }; - D0C3A635C8BD3FA6BD47975F /* LexPerl.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPerl.cxx; path = ../../src/stc/scintilla/lexers/LexPerl.cxx; sourceTree = ""; }; - D0CDADAF2D893E32A38351E4 /* tif_aux.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_aux.c; path = ../../src/tiff/libtiff/tif_aux.c; sourceTree = ""; }; - D11E2223B5AA3E26A21A8817 /* LexOScript.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexOScript.cxx; path = ../../src/stc/scintilla/lexers/LexOScript.cxx; sourceTree = ""; }; - D1EE17722EA937E88A7F0C01 /* dcbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcbase.cpp; path = ../../src/common/dcbase.cpp; sourceTree = ""; }; - D215A0D67563350CB4EECB06 /* slider_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = slider_osx.cpp; path = ../../src/osx/slider_osx.cpp; sourceTree = ""; }; - D272910EC35531E5B4D6E05B /* dynlib.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dynlib.cpp; path = ../../src/common/dynlib.cpp; sourceTree = ""; }; - D2DE67C976CF3004A8FE883A /* Accessor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Accessor.cxx; path = ../../src/stc/scintilla/lexlib/Accessor.cxx; sourceTree = ""; }; - D30617843F33310089C1F77A /* richtextstyles.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextstyles.cpp; path = ../../src/richtext/richtextstyles.cpp; sourceTree = ""; }; - D3078CDAEB863CFD84EDD3BB /* xh_menu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_menu.cpp; path = ../../src/xrc/xh_menu.cpp; sourceTree = ""; }; - D35F1F29F9D33C2B9730D4EE /* window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = window.cpp; path = ../../src/osx/carbon/window.cpp; sourceTree = ""; }; - D3F32C01D122301AB00D06A5 /* tbarbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tbarbase.cpp; path = ../../src/common/tbarbase.cpp; sourceTree = ""; }; - D41D102919B232EBB72A6F2D /* LexTxt2tags.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTxt2tags.cxx; path = ../../src/stc/scintilla/lexers/LexTxt2tags.cxx; sourceTree = ""; }; - D46A36564C78312CAC538E93 /* srchctlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = srchctlg.cpp; path = ../../src/generic/srchctlg.cpp; sourceTree = ""; }; - D4A23A8BC7373D4BBD72851D /* apptraits.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = apptraits.cpp; path = ../../src/unix/apptraits.cpp; sourceTree = ""; }; - D4C4495603293C07A3B09D54 /* compress.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = ../../src/zlib/compress.c; sourceTree = ""; }; - D4E1DC1869C6327C80D2F5F4 /* uri.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uri.cpp; path = ../../src/common/uri.cpp; sourceTree = ""; }; - D4FC6F0AB2AC34D2B26F8ED8 /* markuptext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = markuptext.cpp; path = ../../src/generic/markuptext.cpp; sourceTree = ""; }; - D5B7B7C10A3E3C689AE1E418 /* wxrelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxrelease.xcconfig; sourceTree = ""; }; - D5F9383D1CE931499F339D85 /* strconv_cf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strconv_cf.cpp; path = ../../src/osx/core/strconv_cf.cpp; sourceTree = ""; }; - D6DFFB06606F3D2E953CFC96 /* uma.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uma.cpp; path = ../../src/osx/carbon/uma.cpp; sourceTree = ""; }; - D73954EB5397301F87881646 /* statboxcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statboxcmn.cpp; path = ../../src/common/statboxcmn.cpp; sourceTree = ""; }; - D76B3D3BD33E3775BEAB4737 /* LexVerilog.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexVerilog.cxx; path = ../../src/stc/scintilla/lexers/LexVerilog.cxx; sourceTree = ""; }; - D784A32C094730FEAA391A9B /* sckstrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sckstrm.cpp; path = ../../src/common/sckstrm.cpp; sourceTree = ""; }; - D7B3307E56B332769901E99F /* filehistorycmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filehistorycmn.cpp; path = ../../src/common/filehistorycmn.cpp; sourceTree = ""; }; - D87406BCF3E833369E12D89A /* LexHTML.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexHTML.cxx; path = ../../src/stc/scintilla/lexers/LexHTML.cxx; sourceTree = ""; }; - D8F06DEA1AA339ED819B3812 /* preferencesg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = preferencesg.cpp; path = ../../src/generic/preferencesg.cpp; sourceTree = ""; }; - D9016355F66D3125919E017D /* listctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listctrl.cpp; path = ../../src/generic/listctrl.cpp; sourceTree = ""; }; - D922063B2F2536629EEEAAF0 /* popupcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = popupcmn.cpp; path = ../../src/common/popupcmn.cpp; sourceTree = ""; }; - D92E3EEACA2132609CA3D28F /* evtloop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = evtloop.cpp; path = ../../src/osx/carbon/evtloop.cpp; sourceTree = ""; }; - DA2119A7C67D37B290C17989 /* statbmpg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbmpg.cpp; path = ../../src/generic/statbmpg.cpp; sourceTree = ""; }; - DA5E95D498C53A808A8E2EEB /* Editor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Editor.cxx; path = ../../src/stc/scintilla/src/Editor.cxx; sourceTree = ""; }; - DA7F7633279936EFA0B9C5CF /* markupparser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = markupparser.cpp; path = ../../src/common/markupparser.cpp; sourceTree = ""; }; - DAAED71A534135A9A61612A6 /* colordlgosx.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = colordlgosx.mm; path = ../../src/osx/carbon/colordlgosx.mm; sourceTree = ""; }; - DB170BF78EFE39D692E11985 /* fontdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontdlgg.cpp; path = ../../src/generic/fontdlgg.cpp; sourceTree = ""; }; - DB82939EDC593F9CA95C3098 /* init.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = init.cpp; path = ../../src/common/init.cpp; sourceTree = ""; }; - DB90ADAC10693B6F91E7D4E9 /* unichar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = unichar.cpp; path = ../../src/common/unichar.cpp; sourceTree = ""; }; - DBFB65776C563C88BB7BF0D6 /* iconbndl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = iconbndl.cpp; path = ../../src/common/iconbndl.cpp; sourceTree = ""; }; - DC0FFDC7A6163F2DA73B84EB /* jchuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = ../../src/jpeg/jchuff.c; sourceTree = ""; }; - DC3430B6483E35C3A201BF44 /* LexPO.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPO.cxx; path = ../../src/stc/scintilla/lexers/LexPO.cxx; sourceTree = ""; }; - DC3D1E222FD93A69B1D1366E /* mstream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mstream.cpp; path = ../../src/common/mstream.cpp; sourceTree = ""; }; - DC75C7251C1732B0B07C7BD3 /* utilsunx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilsunx.cpp; path = ../../src/unix/utilsunx.cpp; sourceTree = ""; }; - DC9153A350893820B942D37E /* LexMatlab.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMatlab.cxx; path = ../../src/stc/scintilla/lexers/LexMatlab.cxx; sourceTree = ""; }; - DD09A813E10A31C19554B425 /* affinematrix2d.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = affinematrix2d.cpp; path = ../../src/common/affinematrix2d.cpp; sourceTree = ""; }; - DD5E8709C3BC3727BBC7B97A /* art_aui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = art_aui.cpp; path = ../../src/ribbon/art_aui.cpp; sourceTree = ""; }; - DDE22D7DDAC93DCABAE5AED0 /* socketiohandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = socketiohandler.cpp; path = ../../src/common/socketiohandler.cpp; sourceTree = ""; }; - DE16011AD6323AAC8616F973 /* stdstream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdstream.cpp; path = ../../src/common/stdstream.cpp; sourceTree = ""; }; - DE35DFD2063632AA8FE50C89 /* statline_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statline_osx.cpp; path = ../../src/osx/statline_osx.cpp; sourceTree = ""; }; - DE40B073C95D3A7497952D8F /* threadinfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = threadinfo.cpp; path = ../../src/common/threadinfo.cpp; sourceTree = ""; }; - DE8238DA30FF3FB984511250 /* sckaddr.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sckaddr.cpp; path = ../../src/common/sckaddr.cpp; sourceTree = ""; }; - DE8701E1CF2B352B945C17E5 /* valtext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = valtext.cpp; path = ../../src/common/valtext.cpp; sourceTree = ""; }; - DE95737968723BE98DD68918 /* libwx_osx_carbon_static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwx_osx_carbon_static.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DE9DBF06A1F43EF2B26445D5 /* dcsvg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcsvg.cpp; path = ../../src/common/dcsvg.cpp; sourceTree = ""; }; - DECAF5DD80383A2CA76EB383 /* jdatasrc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = ../../src/jpeg/jdatasrc.c; sourceTree = ""; }; - DF376BC55EA73F5FB7328142 /* helpext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpext.cpp; path = ../../src/generic/helpext.cpp; sourceTree = ""; }; - DF5A2C3521A43C9CBBB3C878 /* LexerModule.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerModule.cxx; path = ../../src/stc/scintilla/lexlib/LexerModule.cxx; sourceTree = ""; }; - DFDC805DD3063C389F93642D /* tif_next.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_next.c; path = ../../src/tiff/libtiff/tif_next.c; sourceTree = ""; }; - E08A51FA8D8A361681B07295 /* glcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = glcmn.cpp; path = ../../src/common/glcmn.cpp; sourceTree = ""; }; - E0EBCDDF248638B58B01D9CC /* datetime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = datetime.cpp; path = ../../src/common/datetime.cpp; sourceTree = ""; }; - E110907DDC13305E88B90086 /* dirctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dirctrlcmn.cpp; path = ../../src/common/dirctrlcmn.cpp; sourceTree = ""; }; - E145FC31ED523B4AA5080A61 /* RESearch.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RESearch.cxx; path = ../../src/stc/scintilla/src/RESearch.cxx; sourceTree = ""; }; - E1A75C83424B32E99AC91B2C /* notebmac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = notebmac.cpp; path = ../../src/osx/carbon/notebmac.cpp; sourceTree = ""; }; - E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = listctrlcmn.cpp; path = ../../src/common/listctrlcmn.cpp; sourceTree = ""; }; - E1F2E9C9052D3E53BBD17DE3 /* statbrma.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = statbrma.cpp; path = ../../src/osx/carbon/statbrma.cpp; sourceTree = ""; }; - E27194D6828C3BB297B2CBAA /* dnd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dnd.cpp; path = ../../src/osx/carbon/dnd.cpp; sourceTree = ""; }; - E38569D873B6394F9E5B821C /* jcphuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = ../../src/jpeg/jcphuff.c; sourceTree = ""; }; - E433B890264339BA8DB97B1D /* regcomp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regcomp.c; path = ../../src/regex/regcomp.c; sourceTree = ""; }; - E5357E76650035639844D15B /* stringimpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stringimpl.cpp; path = ../../src/common/stringimpl.cpp; sourceTree = ""; }; - E5477A7352353CDE8D96D582 /* printdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = printdlg.cpp; path = ../../src/osx/carbon/printdlg.cpp; sourceTree = ""; }; - E5A9B63746753EDFB2EC48D3 /* xh_frame.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_frame.cpp; path = ../../src/xrc/xh_frame.cpp; sourceTree = ""; }; - E685D81FB9FF3081B6C5C321 /* EditModel.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditModel.cxx; path = ../../src/stc/scintilla/src/EditModel.cxx; sourceTree = ""; }; - E6AB648BC5173104A96CAE66 /* xml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xml.cpp; path = ../../src/xml/xml.cpp; sourceTree = ""; }; - E6CC2B05353C3284B37B2DD7 /* settings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = settings.cpp; path = ../../src/osx/carbon/settings.cpp; sourceTree = ""; }; - E72CF5F9C1E53BCFAA2BC253 /* KeyMap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMap.cxx; path = ../../src/stc/scintilla/src/KeyMap.cxx; sourceTree = ""; }; - E72F0A2EE3DB34E193D8CCA7 /* LexLaTeX.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLaTeX.cxx; path = ../../src/stc/scintilla/lexers/LexLaTeX.cxx; sourceTree = ""; }; - E78CBF86AAE637CB982B2EC0 /* LexMarkdown.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMarkdown.cxx; path = ../../src/stc/scintilla/lexers/LexMarkdown.cxx; sourceTree = ""; }; - E79B2D1F630036129B9677A7 /* tif_dir.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_dir.c; path = ../../src/tiff/libtiff/tif_dir.c; sourceTree = ""; }; - E8072CA67D19346ABF4D465F /* slidercmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = slidercmn.cpp; path = ../../src/common/slidercmn.cpp; sourceTree = ""; }; - E85E680C62B63D4EBAB2E784 /* jdphuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = ../../src/jpeg/jdphuff.c; sourceTree = ""; }; - E860DD54EEBF3119961B7BB1 /* CellBuffer.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CellBuffer.cxx; path = ../../src/stc/scintilla/src/CellBuffer.cxx; sourceTree = ""; }; - E89AC104BF4F33A083F8B382 /* jccoefct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = ../../src/jpeg/jccoefct.c; sourceTree = ""; }; - E8BD1489D95E3FD78B200B1B /* commandlinkbuttong.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = commandlinkbuttong.cpp; path = ../../src/generic/commandlinkbuttong.cpp; sourceTree = ""; }; - E8EE191DC59F362AAED2CDC1 /* bmpbase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpbase.cpp; path = ../../src/common/bmpbase.cpp; sourceTree = ""; }; - E968913A9A593B258BD8EACB /* msgout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msgout.cpp; path = ../../src/common/msgout.cpp; sourceTree = ""; }; - E97AE22E9F043AB6846B3BE7 /* xh_scwin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_scwin.cpp; path = ../../src/xrc/xh_scwin.cpp; sourceTree = ""; }; - E9977457BC7F3A1D93C18A02 /* richmsgdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richmsgdlgg.cpp; path = ../../src/generic/richmsgdlgg.cpp; sourceTree = ""; }; - E9B31409EC6532FC83B0B957 /* textmeasure.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textmeasure.cpp; path = ../../src/generic/textmeasure.cpp; sourceTree = ""; }; - E9B992CB6C28339FB0CA5E27 /* tif_write.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_write.c; path = ../../src/tiff/libtiff/tif_write.c; sourceTree = ""; }; - E9B9B85572D0312BBF2878DB /* windowid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = windowid.cpp; path = ../../src/common/windowid.cpp; sourceTree = ""; }; - E9D416E57FEB3F0B95734FF6 /* dirdlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dirdlgg.cpp; path = ../../src/generic/dirdlgg.cpp; sourceTree = ""; }; - EA2520F427493A22A70A5C09 /* stackwalk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stackwalk.cpp; path = ../../src/unix/stackwalk.cpp; sourceTree = ""; }; - EA3F8832890138E9AB6E65D8 /* xh_chckl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_chckl.cpp; path = ../../src/xrc/xh_chckl.cpp; sourceTree = ""; }; - EA4AF89C36C53EB4B307DCAB /* filtfind.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filtfind.cpp; path = ../../src/common/filtfind.cpp; sourceTree = ""; }; - EA93D41B11683E758D456531 /* log.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = log.cpp; path = ../../src/common/log.cpp; sourceTree = ""; }; - EBD381E57BAE3F2AA31A68CB /* xh_wizrd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_wizrd.cpp; path = ../../src/xrc/xh_wizrd.cpp; sourceTree = ""; }; - EBED392D081335FA80523244 /* manager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = manager.cpp; path = ../../src/propgrid/manager.cpp; sourceTree = ""; }; - EC28591B403B32B7AFCC079D /* gauge_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gauge_osx.cpp; path = ../../src/osx/gauge_osx.cpp; sourceTree = ""; }; - EC8157AB87CE3E47A98A6190 /* menu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menu.cpp; path = ../../src/osx/carbon/menu.cpp; sourceTree = ""; }; - EC9B6DFBF2F73917A99361C5 /* dircmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dircmn.cpp; path = ../../src/common/dircmn.cpp; sourceTree = ""; }; - ECA4A44BEC2F3AED8CF0C911 /* m_hline.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = m_hline.cpp; path = ../../src/html/m_hline.cpp; sourceTree = ""; }; - ECC9F5C21ACB31A0B24AEE35 /* docmdi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = docmdi.cpp; path = ../../src/common/docmdi.cpp; sourceTree = ""; }; - ED19EF377E653F71B1876259 /* jdmaster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../src/jpeg/jdmaster.c; sourceTree = ""; }; - EDB48813110636DBA045BF3A /* LexPS.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexPS.cxx; path = ../../src/stc/scintilla/lexers/LexPS.cxx; sourceTree = ""; }; - EDC7345501033EC3AAD53D5F /* fddlgcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fddlgcmn.cpp; path = ../../src/common/fddlgcmn.cpp; sourceTree = ""; }; - EDD97DF408EC347A8CB8EF45 /* filedlgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filedlgg.cpp; path = ../../src/generic/filedlgg.cpp; sourceTree = ""; }; - EE959EC7BFDD3A628E856404 /* anidecod.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = anidecod.cpp; path = ../../src/common/anidecod.cpp; sourceTree = ""; }; - EEA0945B20913754A54D0FD9 /* dcpsg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcpsg.cpp; path = ../../src/generic/dcpsg.cpp; sourceTree = ""; }; - EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_split.cpp; path = ../../src/xrc/xh_split.cpp; sourceTree = ""; }; - EED7C691150139EFA35E8EBD /* utils_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utils_osx.cpp; path = ../../src/osx/utils_osx.cpp; sourceTree = ""; }; - EEE82083BFA430D5B58F8A04 /* regfree.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = regfree.c; path = ../../src/regex/regfree.c; sourceTree = ""; }; - EF330EAACFA53877BE289896 /* matrix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = matrix.cpp; path = ../../src/common/matrix.cpp; sourceTree = ""; }; - F01DDE448E4C3983ACCE67FD /* appcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = appcmn.cpp; path = ../../src/common/appcmn.cpp; sourceTree = ""; }; - F0905A1EBD653F6D82395602 /* xh_combo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_combo.cpp; path = ../../src/xrc/xh_combo.cpp; sourceTree = ""; }; - F175D6E8E5723FC797701275 /* menucmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = menucmn.cpp; path = ../../src/common/menucmn.cpp; sourceTree = ""; }; - F1A6F3936A0D31CBB58082BA /* jdcoefct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = ../../src/jpeg/jdcoefct.c; sourceTree = ""; }; - F1E724EA70AB35DDB130F84F /* stringops.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stringops.cpp; path = ../../src/common/stringops.cpp; sourceTree = ""; }; - F2024D29170D3B50A4DFDE11 /* base64.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = base64.cpp; path = ../../src/common/base64.cpp; sourceTree = ""; }; - F263022F3FEA3F75895B644D /* filesys.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = filesys.cpp; path = ../../src/common/filesys.cpp; sourceTree = ""; }; - F32C0D20638232CE8F43BF33 /* LexFlagship.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexFlagship.cxx; path = ../../src/stc/scintilla/lexers/LexFlagship.cxx; sourceTree = ""; }; - F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sysopt.cpp; path = ../../src/common/sysopt.cpp; sourceTree = ""; }; - F43AF44465B335479752116D /* xh_radbx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_radbx.cpp; path = ../../src/xrc/xh_radbx.cpp; sourceTree = ""; }; - F46EC1508C063C8395CE7A95 /* sstream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sstream.cpp; path = ../../src/common/sstream.cpp; sourceTree = ""; }; - F4B85051B7C835A8BF4E3EE1 /* xh_panel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_panel.cpp; path = ../../src/xrc/xh_panel.cpp; sourceTree = ""; }; - F4C72C5C61A6335C8B418BA1 /* LexMetapost.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMetapost.cxx; path = ../../src/stc/scintilla/lexers/LexMetapost.cxx; sourceTree = ""; }; - F52DCBC0442233738B39138E /* CaseFolder.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CaseFolder.cxx; path = ../../src/stc/scintilla/src/CaseFolder.cxx; sourceTree = ""; }; - F5DAF1F49F0F3F41A427A21D /* icon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = icon.cpp; path = ../../src/osx/carbon/icon.cpp; sourceTree = ""; }; - F6EA240B3DB93D398A990FAD /* tif_dirread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_dirread.c; path = ../../src/tiff/libtiff/tif_dirread.c; sourceTree = ""; }; - F6F01A84F4DE3C9FB9849004 /* tif_jbig.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_jbig.c; path = ../../src/tiff/libtiff/tif_jbig.c; sourceTree = ""; }; - F7332A03D93D3DABB050615D /* dir.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dir.cpp; path = ../../src/unix/dir.cpp; sourceTree = ""; }; - F7440859617F3B47AF4D3817 /* valgen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = valgen.cpp; path = ../../src/common/valgen.cpp; sourceTree = ""; }; - F7E99B35A98D30818120B002 /* string.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = string.cpp; path = ../../src/common/string.cpp; sourceTree = ""; }; - F82278F9AF0432529891E6D7 /* tif_close.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tif_close.c; path = ../../src/tiff/libtiff/tif_close.c; sourceTree = ""; }; - F83172EE2DAE352FB969D4F2 /* jcapistd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../src/jpeg/jcapistd.c; sourceTree = ""; }; - F84F0DB790A23D92A193D2B4 /* http.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = http.cpp; path = ../../src/common/http.cpp; sourceTree = ""; }; - F8638A6CCF773CCFB70DFC29 /* xh_collpane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_collpane.cpp; path = ../../src/xrc/xh_collpane.cpp; sourceTree = ""; }; - F8A72557C5B13F16A59980EF /* srchctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = srchctrl.cpp; path = ../../src/osx/carbon/srchctrl.cpp; sourceTree = ""; }; - F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdpaths.cpp; path = ../../src/unix/stdpaths.cpp; sourceTree = ""; }; - F951601E73683F27AD8CA99D /* MarginView.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MarginView.cxx; path = ../../src/stc/scintilla/src/MarginView.cxx; sourceTree = ""; }; - F97C7436BF3B3BBEB423550D /* textctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textctrl.cpp; path = ../../src/osx/carbon/textctrl.cpp; sourceTree = ""; }; - FA59091E3ED83FB781FB9659 /* glcanvas_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = glcanvas_osx.cpp; path = ../../src/osx/glcanvas_osx.cpp; sourceTree = ""; }; - FA7029BB5751398AA02D8C24 /* imagtga.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagtga.cpp; path = ../../src/common/imagtga.cpp; sourceTree = ""; }; - FADE850169F7347F83FE1499 /* xh_statbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_statbar.cpp; path = ../../src/xrc/xh_statbar.cpp; sourceTree = ""; }; - FB46BC22F6B23909A938C561 /* regex.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = regex.cpp; path = ../../src/common/regex.cpp; sourceTree = ""; }; - FBC5A5797B0D369291A76D6E /* dcbufcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcbufcmn.cpp; path = ../../src/common/dcbufcmn.cpp; sourceTree = ""; }; - FBE1C531185131A89EFF7FAF /* cmdline.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cmdline.cpp; path = ../../src/common/cmdline.cpp; sourceTree = ""; }; - FBE8E520BA0530C6AD857434 /* fontpickerg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fontpickerg.cpp; path = ../../src/generic/fontpickerg.cpp; sourceTree = ""; }; - FCCFF49F92B4323D9181CEDA /* htmltag.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmltag.cpp; path = ../../src/html/htmltag.cpp; sourceTree = ""; }; - FCE8B55EBD6B348B8351AB08 /* LexKVIrc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexKVIrc.cxx; path = ../../src/stc/scintilla/lexers/LexKVIrc.cxx; sourceTree = ""; }; - FD0C7FCA25A3312E8F2FCF3C /* LexTeX.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexTeX.cxx; path = ../../src/stc/scintilla/lexers/LexTeX.cxx; sourceTree = ""; }; - FD55F391CD1032DFACA88CFD /* xh_srchctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_srchctrl.cpp; path = ../../src/xrc/xh_srchctrl.cpp; sourceTree = ""; }; - FD5F11A3646F397BA62EB037 /* htmllbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = htmllbox.cpp; path = ../../src/generic/htmllbox.cpp; sourceTree = ""; }; - FD6D2664C05131C3A06E98B4 /* ExternalLexer.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ExternalLexer.cxx; path = ../../src/stc/scintilla/src/ExternalLexer.cxx; sourceTree = ""; }; - FDAEFCE0ED9D30DA94340A3B /* xtistrm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xtistrm.cpp; path = ../../src/common/xtistrm.cpp; sourceTree = ""; }; - FDB0E2D0966C3E408C4A2D3D /* infback.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = ../../src/zlib/infback.c; sourceTree = ""; }; - FDD3CE34439B3D2BBD9DC8D3 /* gridcmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gridcmn.cpp; path = ../../src/common/gridcmn.cpp; sourceTree = ""; }; - FDEC1C66E6E83C69AF2732DB /* richtextctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = richtextctrl.cpp; path = ../../src/richtext/richtextctrl.cpp; sourceTree = ""; }; - FE3B47058A723243A285594D /* LexMPT.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMPT.cxx; path = ../../src/stc/scintilla/lexers/LexMPT.cxx; sourceTree = ""; }; - FEFE1B83470D38D38D0E76B0 /* LexMMIXAL.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMMIXAL.cxx; path = ../../src/stc/scintilla/lexers/LexMMIXAL.cxx; sourceTree = ""; }; - FFB767BD2C7235F293F45796 /* LexGui4Cli.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexGui4Cli.cxx; path = ../../src/stc/scintilla/lexers/LexGui4Cli.cxx; sourceTree = ""; }; - FFDD414DBCC73D0FB6C2C5FD /* stream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stream.cpp; path = ../../src/common/stream.cpp; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 82F403E7B8653CBD908BC257 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 82F403E7B8653CBD908BC258 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 04311EAB76193D5593D43DBB /* aui */ = { - isa = PBXGroup; - children = ( - 26632A254717372BAA4D514D /* framemanager.cpp */, - BD709DEB71623974B9836D69 /* dockart.cpp */, - A881F49ADCF33C299B041584 /* floatpane.cpp */, - A298576700C33F018616E7BD /* auibook.cpp */, - 05A4437E9697300390FDE14E /* auibar.cpp */, - C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */, - 51054B41BFD83E97BAF76D07 /* tabart.cpp */, - 54EBD66FB9C3364681338A27 /* xh_auinotbk.cpp */, - 0CC4C44F4DB833839AD96DBD /* xh_auitoolb.cpp */, - ); - name = aui; - sourceTree = ""; - }; - 1D56230B75893DBA8A923441 /* wxcocoa */ = { - isa = PBXGroup; - children = ( - B44B32437825326C84607AD8 /* wxcarbon.xcconfig */, - 8707324525DB344EA0E7D5CE /* wxdebug.xcconfig */, - D5B7B7C10A3E3C689AE1E418 /* wxrelease.xcconfig */, - C2FC1A9BBB8C3046994369BF /* Products */, - 83F62FA47C9636169F1E18E8 /* base */, - 2E7B4F88F81E37B4A9FF6C0F /* core */, - 374BD863E6AD33189B7E4040 /* net */, - 2FF0B5E0505D3AEA9A4ACF11 /* adv */, - 62E50658BDAD369D92294F68 /* webview */, - 5C5CD199E7573C73AE6F392D /* media */, - 60E51BFF5CD2327483201F14 /* html */, - 60328E6EA3793DA990E18FC1 /* xrc */, - AA960FB143A63667839CE793 /* qa */, - 4D98B791E17232D39944F04F /* xml */, - 816DD323A67F3B299C8F3481 /* opengl */, - 04311EAB76193D5593D43DBB /* aui */, - FE1C78F1707A30878CBB2B4B /* ribbon */, - B8F95052522B37AB86DA8917 /* propgrid */, - 64B126D857113F24BA8C4758 /* richtext */, - E96566B813153B4295AD767B /* stc */, - 52DDFBAA5ACC394FB6B30E74 /* libzlib */, - EB288BE7E74B3328B762A461 /* libtiff */, - 7650A73F7FC9305EA62DAE86 /* libjpeg */, - 6E2C8858F68E3FB0BEFFFCE5 /* libpng */, - B1EF68113C6338CFBBED0FBE /* libregex */, - 2BE6C101F29D318895158F98 /* libscintilla */, - 42F504C4994C38D7A8F062F4 /* libexpat */, - ); - name = wxcocoa; - sourceTree = ""; - }; - 2BE6C101F29D318895158F98 /* libscintilla */ = { - isa = PBXGroup; - children = ( - 7020ADB5D3E0375E875B418B /* LexA68k.cxx */, - CD72950967F33809931D4968 /* LexAbaqus.cxx */, - 375E7A99FF4C38FA9E223772 /* LexAda.cxx */, - 497861EB7E623C68951D1AB2 /* LexAPDL.cxx */, - A65399C8A6D636139E362119 /* LexAsm.cxx */, - A46D50BEBF523B3F88831086 /* LexAsn1.cxx */, - A82C367B86F83981803D55DB /* LexASY.cxx */, - C76222F466E831F896A89269 /* LexAU3.cxx */, - BFF5A87D79EF3BEFAC3C0C20 /* LexAVE.cxx */, - 57E4784E521339BEB971D81D /* LexAVS.cxx */, - 4B16CCC86CD235CB8E8EC0AA /* LexBaan.cxx */, - 78D7866F95C73A28BB540606 /* LexBash.cxx */, - B6AADC1056E03A3B80C20C5B /* LexBasic.cxx */, - 0851C46057CE3C37991B9E34 /* LexBibTeX.cxx */, - 6718204F4700318E89EAC906 /* LexBullant.cxx */, - 4B3B8AD0120F3EA6BF5B0AE0 /* LexCaml.cxx */, - 7EE2459D69BA35838C274488 /* LexCLW.cxx */, - 7AF8F8A78A5130DCB4D46729 /* LexCmake.cxx */, - B3D9C4122372343DBEAF6492 /* LexCOBOL.cxx */, - 9794A709E3C036D79860CEC9 /* LexCoffeeScript.cxx */, - 04082EC1C91334379425802D /* LexConf.cxx */, - 9EF09C7CC5413CC6A5E7B21B /* LexCPP.cxx */, - 16A093604BDB3C22BA66EA89 /* LexCrontab.cxx */, - 0A59A5C2305D3D1C8049BE71 /* LexCsound.cxx */, - 4EB3B255D20F3AE5A95230F6 /* LexCSS.cxx */, - B9DFC4083C6A38CABE4BB4E3 /* LexD.cxx */, - AC62806DE67F33E18C386D4F /* LexDMAP.cxx */, - 910D00F1C9143C6D85C24E7C /* LexDMIS.cxx */, - 1AD9605C9385374C87FAC9BC /* LexECL.cxx */, - 55EBB18CB4773C788510B14B /* LexEiffel.cxx */, - A1276C0E5D48337489DEE8DF /* LexErlang.cxx */, - 58EFF24DE2E737CA8A164F5C /* LexEScript.cxx */, - F32C0D20638232CE8F43BF33 /* LexFlagship.cxx */, - B181F564935730E89AB00D92 /* LexForth.cxx */, - 86A0C3603C8A343AAFBD2CE0 /* LexFortran.cxx */, - 30BBE92ADD8A37C992B4F919 /* LexGAP.cxx */, - FFB767BD2C7235F293F45796 /* LexGui4Cli.cxx */, - 10EADF7E7DC032CA8522C1F8 /* LexHaskell.cxx */, - 1C86EC3AA4193E639EB08AA7 /* LexHex.cxx */, - D87406BCF3E833369E12D89A /* LexHTML.cxx */, - 15CBD0AAFEB435429EA96D41 /* LexInno.cxx */, - B303230368143F37B2409DE6 /* LexKix.cxx */, - FCE8B55EBD6B348B8351AB08 /* LexKVIrc.cxx */, - E72F0A2EE3DB34E193D8CCA7 /* LexLaTeX.cxx */, - 40586C8986443431A64EB066 /* LexLisp.cxx */, - B14D6E7E15FD3C869E341198 /* LexLout.cxx */, - 5145561C78303EEE9F827962 /* LexLua.cxx */, - 45860601270D318D93BEE1F3 /* LexMagik.cxx */, - E78CBF86AAE637CB982B2EC0 /* LexMarkdown.cxx */, - DC9153A350893820B942D37E /* LexMatlab.cxx */, - F4C72C5C61A6335C8B418BA1 /* LexMetapost.cxx */, - FEFE1B83470D38D38D0E76B0 /* LexMMIXAL.cxx */, - 5A562F1DA7EA3B909BBB1465 /* LexModula.cxx */, - FE3B47058A723243A285594D /* LexMPT.cxx */, - 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */, - 2F3EE2E9EE05311497826962 /* LexMySQL.cxx */, - BC5C5DB466CD3D6FA6985B56 /* LexNimrod.cxx */, - 1BC0322549563787A21CE8F1 /* LexNsis.cxx */, - 5FDE0AC63C4639E4BFD3B582 /* LexOpal.cxx */, - D11E2223B5AA3E26A21A8817 /* LexOScript.cxx */, - C356B5738AB13E829E66729E /* LexOthers.cxx */, - 86F26F6418C53AFE8154BFC8 /* LexPascal.cxx */, - 8744F2C80ECF375999195935 /* LexPB.cxx */, - D0C3A635C8BD3FA6BD47975F /* LexPerl.cxx */, - 62C46B0CE620348FBF3860A4 /* LexPLM.cxx */, - DC3430B6483E35C3A201BF44 /* LexPO.cxx */, - 8EECA8EB93BF3C7A9CC827AD /* LexPOV.cxx */, - 2A5FC30FF3743DBAAF8910EC /* LexPowerPro.cxx */, - 36F7955F8075343C8A9953DB /* LexPowerShell.cxx */, - 4F8E4A9905843A4683A6B460 /* LexProgress.cxx */, - EDB48813110636DBA045BF3A /* LexPS.cxx */, - CC2713393AB132AA8E337AE1 /* LexPython.cxx */, - 7255468B6D5F3D8697994A53 /* LexR.cxx */, - 0D9828C9BD9633C1A8F4E0CD /* LexRebol.cxx */, - A737317EDE0F3921B1412966 /* LexRegistry.cxx */, - 8734C52C7559310784396455 /* LexRuby.cxx */, - 24BD2EF635673E819B8406CB /* LexRust.cxx */, - 2F1B41B0F10C3DA38188C239 /* LexScriptol.cxx */, - 3551A51B4A493090B67CA216 /* LexSmalltalk.cxx */, - 912B2982C9413F2FB40CA2D9 /* LexSML.cxx */, - 7D8BDFB06EE13E59ABB2A616 /* LexSorcus.cxx */, - 508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */, - 4592464D4868329897F3864D /* LexSpice.cxx */, - 2B1A318636A134DB93C0BA45 /* LexSQL.cxx */, - 50859F0155753FDCB8C5222A /* LexSTTXT.cxx */, - 9E5C91072D533919A78D8ED2 /* LexTACL.cxx */, - A284E855892F3A9E9E19E854 /* LexTADS3.cxx */, - 38891BF8F51E398F9082903F /* LexTAL.cxx */, - C0929D5DDFE337329FA8C6BC /* LexTCL.cxx */, - 1CABAEA3B48333CB88B40F08 /* LexTCMD.cxx */, - FD0C7FCA25A3312E8F2FCF3C /* LexTeX.cxx */, - D41D102919B232EBB72A6F2D /* LexTxt2tags.cxx */, - 8F633793051F371F94C27530 /* LexVB.cxx */, - D76B3D3BD33E3775BEAB4737 /* LexVerilog.cxx */, - 1098499A317A3DEEA4D16D0D /* LexVHDL.cxx */, - 43D416CF0DE334E79A8E48C8 /* LexVisualProlog.cxx */, - 9CC7C6FFD67233788EEDFC5E /* LexYAML.cxx */, - D2DE67C976CF3004A8FE883A /* Accessor.cxx */, - 308B9C05F5A839B5BE8ACBE9 /* CharacterCategory.cxx */, - B883F991159731DCB2717A21 /* CharacterSet.cxx */, - 93EDB3A2B85E3275A6D27C56 /* LexerBase.cxx */, - DF5A2C3521A43C9CBBB3C878 /* LexerModule.cxx */, - 267DB0E799183294B707A39D /* LexerNoExceptions.cxx */, - CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */, - 41D75DF4695B361DB700D51D /* PropSetSimple.cxx */, - 9720FFA4490D3AC38E53BE03 /* StyleContext.cxx */, - 0E7BF9256DF533EBAE2B945E /* WordList.cxx */, - C63C3983BD243D55AF88DD67 /* AutoComplete.cxx */, - 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */, - 274A156457C63EC5801029C2 /* CaseConvert.cxx */, - F52DCBC0442233738B39138E /* CaseFolder.cxx */, - 975E3B6A269434F0A069987D /* Catalogue.cxx */, - E860DD54EEBF3119961B7BB1 /* CellBuffer.cxx */, - 5AFB85719CBC3D60BA2EDC2E /* CharClassify.cxx */, - 5219A792C6A736F193D4A82F /* ContractionState.cxx */, - BF1C44D726E63B18A98006EC /* Decoration.cxx */, - 71DB140E670738839EC42C2B /* Document.cxx */, - E685D81FB9FF3081B6C5C321 /* EditModel.cxx */, - 430739CB8B95336ABB372EC7 /* EditView.cxx */, - DA5E95D498C53A808A8E2EEB /* Editor.cxx */, - FD6D2664C05131C3A06E98B4 /* ExternalLexer.cxx */, - 4FDE5A962FA234FA83A605AD /* Indicator.cxx */, - E72CF5F9C1E53BCFAA2BC253 /* KeyMap.cxx */, - AF3DF03795153E039B8F1F87 /* LineMarker.cxx */, - F951601E73683F27AD8CA99D /* MarginView.cxx */, - 9389DAF8B91030B7AAB029FF /* PerLine.cxx */, - BCD873D873A53BBF955D8A4E /* PositionCache.cxx */, - E145FC31ED523B4AA5080A61 /* RESearch.cxx */, - 7E0DD59CA6F8337C9964F954 /* RunStyles.cxx */, - 9BB9CE48AE853C47A1D157AE /* ScintillaBase.cxx */, - 2AF7739C389536F79DAA31E5 /* Selection.cxx */, - C28429A964C337A192D76CC8 /* Style.cxx */, - 1C4ABE16C5A13979827F4F7C /* UniConversion.cxx */, - C133B838193A35ABBB803151 /* ViewStyle.cxx */, - C25521AF59B9324EB2809C73 /* XPM.cxx */, - ); - name = libscintilla; - sourceTree = ""; - }; - 2E7B4F88F81E37B4A9FF6C0F /* core */ = { - isa = PBXGroup; - children = ( - B0665A40F3FC3F218074C63C /* artmac.cpp */, - 302A13BC64C238A297F4399F /* brush.cpp */, - BDE76674C0F5391BAD2AFA2F /* dialog_osx.cpp */, - 5FF661188B563D27A11F5716 /* fontutil.cpp */, - 027D2F04BE933ED6B9BA1518 /* imaglist.cpp */, - 693F731B7D1730A79485F9EC /* minifram.cpp */, - 19559DDA007D364E838014B5 /* nonownedwnd_osx.cpp */, - BEF6B3FB66243812969E5BD1 /* palette.cpp */, - 4BA819575B5136B09FA8FEB1 /* pen.cpp */, - 9E2C8A7034343354841F7D8B /* toplevel_osx.cpp */, - AC6359B01A7B35F6B710ACF8 /* uiaction_osx.cpp */, - EED7C691150139EFA35E8EBD /* utils_osx.cpp */, - 26D7C4995D7A35A1854B533F /* window_osx.cpp */, - A1A53EC3A3463EFDB7614E93 /* bitmap.cpp */, - 9D1F14339D1C331087650931 /* colour.cpp */, - 343D4FDD5CC030618EF24729 /* dcmemory.cpp */, - A5617D10CB7136EC9A4194EF /* display.cpp */, - 36E1DBA275AD325DB759C180 /* fontenum.cpp */, - 160EB9744CB63A0B81DC651F /* hid.cpp */, - 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */, - 69F098E47EBF34368ABAE7ED /* timer.cpp */, - 95E2B80B2D7033808504DA8D /* utilsexc_cf.cpp */, - D4A23A8BC7373D4BBD72851D /* apptraits.cpp */, - C62CD918A09D3FE5B1BF2D17 /* anybutton_osx.cpp */, - 38EF5FC5934C34D599FD6074 /* bmpbuttn_osx.cpp */, - CF4F4F5211933057824B5621 /* button_osx.cpp */, - 998C092CB83639CFA3DC63B1 /* checkbox_osx.cpp */, - 9860CD56245B3E7FBD0E7846 /* checklst_osx.cpp */, - 59D075A3E96F3187B58F6D03 /* choice_osx.cpp */, - 543C896D9A30340A8C2CB7C8 /* combobox_osx.cpp */, - CA72410F615B3A78A6340532 /* dnd_osx.cpp */, - EC28591B403B32B7AFCC079D /* gauge_osx.cpp */, - B99CA41708513A599AE275A2 /* listbox_osx.cpp */, - 66C21CA37BF63893887FD91B /* menu_osx.cpp */, - CF6511DE2CB43534A5566403 /* menuitem_osx.cpp */, - 5248A45AB113341EAC361910 /* notebook_osx.cpp */, - 9DD609EC0591359C9A576A43 /* printdlg_osx.cpp */, - 773D91F8280434519BD167EA /* radiobox_osx.cpp */, - 5FFCB72168FD31DE86A1B674 /* radiobut_osx.cpp */, - 600740717F7E320F8CA78384 /* scrolbar_osx.cpp */, - D215A0D67563350CB4EECB06 /* slider_osx.cpp */, - 5E2F1BF8904635049BAFD6E1 /* spinbutt_osx.cpp */, - 7C80A0223B993BCB80D1C0A0 /* srchctrl_osx.cpp */, - 9F16A18CD9C23410B18592FD /* statbox_osx.cpp */, - DE35DFD2063632AA8FE50C89 /* statline_osx.cpp */, - 7CF5C09D9A1230EEB42713E1 /* stattext_osx.cpp */, - 777385D10CCC350C90F02824 /* textentry_osx.cpp */, - 6C0129D2DB2D3431B66FD9C3 /* textctrl_osx.cpp */, - 1B7308D9C4BA39F19223C82C /* tglbtn_osx.cpp */, - 6CD29E47B69D3F3482665E77 /* toolbar_osx.cpp */, - 2DF2456ED905357B8C1D74D9 /* webkit.mm */, - DAAED71A534135A9A61612A6 /* colordlgosx.mm */, - 38CEA4A3579331EF808B8363 /* fontdlgosx.mm */, - 8C78A1539462370CAA429508 /* accel.cpp */, - 12453E271F2A3AC9969E62A4 /* clipbrd.cpp */, - 0BF1F491B8A8376E8E2E8182 /* cursor.cpp */, - 18044326B5B13A98A49732DD /* fontdlg.cpp */, - 377056CEB1FC3EEB8526E7A6 /* gdiobj.cpp */, - F5DAF1F49F0F3F41A427A21D /* icon.cpp */, - 757B31FCCA1F381C95B30DF8 /* app.cpp */, - 7A3F26F539473705AA82411D /* combobox.cpp */, - 12363D1F50FE301DAEE7F04A /* control.cpp */, - 271B4B77622B3411A7BF6634 /* dataobj.cpp */, - B17772732159304AA7312D72 /* dcclient.cpp */, - 238741BDA2C73E56899CCB04 /* dcprint.cpp */, - 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */, - 1C4762898E5330C28651EE73 /* graphics.cpp */, - 77F5E7BCD9B2307D8DBCC052 /* font.cpp */, - C3019BA65DD73F30A865365F /* frame.cpp */, - B568A7364ECA30288820CCE7 /* mdi.cpp */, - C2BB2949CC0B387AB6879539 /* metafile.cpp */, - 2128AD8BD12E3F33AD57478E /* overlay.cpp */, - 530DC2E26BF2313E8702AD43 /* popupwin.cpp */, - 425BFA3FDB7D3EA7ADCE1087 /* renderer.cpp */, - E1F2E9C9052D3E53BBD17DE3 /* statbrma.cpp */, - 00DA3D3EEF5E305CA73A1871 /* region.cpp */, - 2AFC4A1CDA473688A590D19F /* utilscocoa.mm */, - 6A82EDCFFBAC30098B238957 /* caret.cpp */, - 2B5A9DF3206B3954A4B38BFD /* clrpickerg.cpp */, - 92F377099B8B37F18C26716B /* collheaderctrlg.cpp */, - 84758329F2163F00A9C005DF /* collpaneg.cpp */, - 66AC0EA493AB3B6A86DAE174 /* colrdlgg.cpp */, - E9D416E57FEB3F0B95734FF6 /* dirdlgg.cpp */, - 5F094B0B07DF33BCA6077BC0 /* fdrepdlg.cpp */, - EDD97DF408EC347A8CB8EF45 /* filedlgg.cpp */, - B580FD04D0D83601826FD5EE /* filepickerg.cpp */, - DB170BF78EFE39D692E11985 /* fontdlgg.cpp */, - FBE8E520BA0530C6AD857434 /* fontpickerg.cpp */, - D9016355F66D3125919E017D /* listctrl.cpp */, - 64DA16CF41C834D7B7642024 /* prntdlgg.cpp */, - 071FEABEA61E3B559A47A7DB /* statusbr.cpp */, - E9B31409EC6532FC83B0B957 /* textmeasure.cpp */, - 9979CCEEC4C73A6489EF1A21 /* anybutton.cpp */, - AA69FCE7B4FA377E98438FE5 /* bmpbuttn.cpp */, - 926AEAA989793A2F82185627 /* button.cpp */, - 19A5AFB993843FF0B8F75E47 /* checkbox.cpp */, - BCC5B7709F4C3875A3A316C3 /* choice.cpp */, - 91C415400F0435528B9995B7 /* colordlg.cpp */, - 5DF561FCD0C038B79C62B083 /* dialog.cpp */, - 59255501B8053FEE8F258873 /* dirdlg.cpp */, - E27194D6828C3BB297B2CBAA /* dnd.cpp */, - D92E3EEACA2132609CA3D28F /* evtloop.cpp */, - 7D47A353B2C63204ABDD42DE /* filedlg.cpp */, - 1BFAF243431D3CA2AA51ADF2 /* gauge.cpp */, - ABA5F3C56C8C37809F696A49 /* listbox.cpp */, - 02A756A2887839B2900F8CAC /* listctrl_mac.cpp */, - EC8157AB87CE3E47A98A6190 /* menu.cpp */, - 44806DDCE6FB305EAED41E92 /* menuitem.cpp */, - ABCA89FC1E76356797A2AF2B /* msgdlg.cpp */, - 95B1DB08E37B3EB193FEFE0C /* nonownedwnd.cpp */, - E1A75C83424B32E99AC91B2C /* notebmac.cpp */, - E5477A7352353CDE8D96D582 /* printdlg.cpp */, - 59F8B419381C34A184190EA1 /* radiobut.cpp */, - B9D43F0F1CCA3BED871F7A6C /* scrolbar.cpp */, - 75278C04709D3482A2660DFC /* slider.cpp */, - A05AEAB07C613BE2A0357BD8 /* spinbutt.cpp */, - F8A72557C5B13F16A59980EF /* srchctrl.cpp */, - 1B7E02F461A33397B00E9004 /* statbmp.cpp */, - 32B2BC8A91983DDA9CC46793 /* statbox.cpp */, - 4148D62D50863214B8479E60 /* statlmac.cpp */, - 3A28411B852734BDA2C04165 /* stattext.cpp */, - F97C7436BF3B3BBEB423550D /* textctrl.cpp */, - 71F35835D4DE34D59F924E36 /* tglbtn.cpp */, - BE4B0CE56BA23002A5C8AEFF /* toolbar.cpp */, - 5D90D0FA35833140A3CCCD94 /* tooltip.cpp */, - D35F1F29F9D33C2B9730D4EE /* window.cpp */, - E6CC2B05353C3284B37B2DD7 /* settings.cpp */, - A436B55DC44E3827A757A6D8 /* accelcmn.cpp */, - 8555204EBA8930809B732842 /* accesscmn.cpp */, - EE959EC7BFDD3A628E856404 /* anidecod.cpp */, - DD09A813E10A31C19554B425 /* affinematrix2d.cpp */, - F01DDE448E4C3983ACCE67FD /* appcmn.cpp */, - 29387393C07C39DB8FF1663B /* artprov.cpp */, - 24E82A05E9A9323287CDB15B /* artstd.cpp */, - 9988CBB0772A3539970162FA /* arttango.cpp */, - E8EE191DC59F362AAED2CDC1 /* bmpbase.cpp */, - 772AD4682A3E38538511D341 /* bmpbtncmn.cpp */, - 00BC2298BC7A33B7A68584FE /* bookctrl.cpp */, - 84A7A3B499503ECABC6A838F /* btncmn.cpp */, - 5DBE56B153AA3AC8A4BBE77C /* cairo.cpp */, - 4FC2F076657431458896115A /* checkboxcmn.cpp */, - 83A94241BCB13767AFEC5946 /* checklstcmn.cpp */, - 24930711031D35288D28B04B /* choiccmn.cpp */, - 239D386E9D7D39C5A1E859C6 /* clipcmn.cpp */, - AB8A747FB60239B9AB710264 /* clrpickercmn.cpp */, - 2D61240ABD70328BA5789663 /* colourcmn.cpp */, - 0D3BD03BCE953D1B964EDB7A /* colourdata.cpp */, - 06BB94FBD5E23872BE5AB4A3 /* combocmn.cpp */, - 4A5FF9CED1FE36069FDBF636 /* cmdproc.cpp */, - 0510EE0FB3FF36EF8670ABD1 /* cmndata.cpp */, - B3645350F572364BABF50238 /* containr.cpp */, - 67DCEEB6861731319C30817F /* cshelp.cpp */, - 0EB91E8407CB3300A19F387D /* ctrlcmn.cpp */, - 1B0533F88F3434609A54FB37 /* ctrlsub.cpp */, - D1EE17722EA937E88A7F0C01 /* dcbase.cpp */, - FBC5A5797B0D369291A76D6E /* dcbufcmn.cpp */, - 776CD7F5B0673B4688F2EC92 /* dcgraph.cpp */, - DE9DBF06A1F43EF2B26445D5 /* dcsvg.cpp */, - E110907DDC13305E88B90086 /* dirctrlcmn.cpp */, - 9051902662BE38B3912B34EA /* dlgcmn.cpp */, - 0116581B77DF3A5D889B8D17 /* dndcmn.cpp */, - 3E93DE2F9FE73AD2AB9571E2 /* dobjcmn.cpp */, - ECC9F5C21ACB31A0B24AEE35 /* docmdi.cpp */, - AB634FD597793A74B3B3AA7F /* docview.cpp */, - A37E3D1FB4FB31AFAE88665A /* dpycmn.cpp */, - 1197B997B1D139C5AE4D198A /* dseldlg.cpp */, - 48D72D20DB1D3E1CA5ED112A /* effects.cpp */, - EDC7345501033EC3AAD53D5F /* fddlgcmn.cpp */, - 5A756B733D093B09BE2098A6 /* filectrlcmn.cpp */, - D7B3307E56B332769901E99F /* filehistorycmn.cpp */, - BFA50405234C30EEA3F77F17 /* filepickercmn.cpp */, - A9D5CF9CC4553336916FB27B /* fontpickercmn.cpp */, - 45E7EC6D0C0E3C878664C0A9 /* fldlgcmn.cpp */, - 30C0FB3166DD31A893AE98E2 /* fontcmn.cpp */, - C049D0CFFF0D34E591E1FEA1 /* fontdata.cpp */, - BACAA6CE4A0934459F26B27C /* graphicc.cpp */, - 373242CD08F330208A7CF438 /* fontenumcmn.cpp */, - D0817D6A1AF83608B050EBC3 /* fontmap.cpp */, - 2E00E14795F23A8392713A26 /* fontutilcmn.cpp */, - A54B80C17F823CB5900AD2E8 /* framecmn.cpp */, - 570D603125ED3A14848FA2E2 /* gaugecmn.cpp */, - 1E2FEBCEED2D33CFAAF75206 /* gbsizer.cpp */, - 998D611109EC33A9A6A11C5A /* gdicmn.cpp */, - 6BC0A61629E635FAB4E09505 /* geometry.cpp */, - 16FE98EC26223BF0A78AB2EE /* gifdecod.cpp */, - 1BB59DD194923D6399087A75 /* graphcmn.cpp */, - B558F1ED9346332D8C4BDFBC /* headercolcmn.cpp */, - A5794CD687013AF8A20A691A /* headerctrlcmn.cpp */, - BBB30516233A39BE809405AA /* helpbase.cpp */, - DBFB65776C563C88BB7BF0D6 /* iconbndl.cpp */, - 8FFDFB4D208F37569AC548B0 /* imagall.cpp */, - 5F84098A475939BB9EE87E70 /* imagbmp.cpp */, - 81A30C745CA73E30B788B408 /* image.cpp */, - 137E01C362E134449BF966ED /* imagfill.cpp */, - CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */, - A4A745D1821A32D591D76650 /* imagiff.cpp */, - 6876262846EA3569B36D92E9 /* imagjpeg.cpp */, - 10ED6D770A5A349AA4EE9747 /* imagpcx.cpp */, - 24396D584D053948A3FF0DCD /* imagpng.cpp */, - BC12B97F233B3B9494DA217F /* imagpnm.cpp */, - FA7029BB5751398AA02D8C24 /* imagtga.cpp */, - AFA85C8E426C361F9CA9D15F /* imagtiff.cpp */, - 5C85865D28DC31649440A921 /* imagxpm.cpp */, - BEB08798C70E33DDB360E563 /* layout.cpp */, - 9660AE8FEB7B3EDB857B9238 /* lboxcmn.cpp */, - E1B1FBB2BCC43BA7A45E9438 /* listctrlcmn.cpp */, - DA7F7633279936EFA0B9C5CF /* markupparser.cpp */, - EF330EAACFA53877BE289896 /* matrix.cpp */, - F175D6E8E5723FC797701275 /* menucmn.cpp */, - 58E7C516E2453A269280A404 /* modalhook.cpp */, - D037EA567C253DEEA17E822B /* mousemanager.cpp */, - B901252876603DCEA4C66D89 /* nbkbase.cpp */, - 303ACF199BE431BD891C9301 /* overlaycmn.cpp */, - 155ECF01CC4C318281AAA870 /* ownerdrwcmn.cpp */, - 87D973CA8D673267BD0844D3 /* paper.cpp */, - 70E9B2C076673C87B4218A01 /* panelcmn.cpp */, - 22D9626646773CED82449D5D /* persist.cpp */, - 1FBC22BAD63D3A1AB78F5F82 /* pickerbase.cpp */, - D922063B2F2536629EEEAAF0 /* popupcmn.cpp */, - A046179831F63824A67B509B /* preferencescmn.cpp */, - 242BF97B558634A79322052C /* prntbase.cpp */, - B890199A37723EFD86C0ADA5 /* quantize.cpp */, - 724927B0045F3CC0884878BB /* radiobtncmn.cpp */, - 531B0E5DB9ED393996E3FBB8 /* radiocmn.cpp */, - 972BC9B2B0D438EFB12BCE1E /* rearrangectrl.cpp */, - 96CED508FA3C3B6B9265099E /* rendcmn.cpp */, - 63867276260C3F4A980E83D8 /* rgncmn.cpp */, - A9E441D48CB73EF2BFD6C384 /* scrolbarcmn.cpp */, - ABE3DC4AA47D39ACA83F27C0 /* settcmn.cpp */, - 3C654A08F74B3DBCA96CC2A9 /* sizer.cpp */, - E8072CA67D19346ABF4D465F /* slidercmn.cpp */, - C668C23A4E9A3A39BEED384E /* spinbtncmn.cpp */, - 8FAA77ADAB7833648DA5D079 /* spinctrlcmn.cpp */, - 1EF103B09F02315282EC8F44 /* srchcmn.cpp */, - 9C87B071E3593A889704F512 /* statbar.cpp */, - 12EFC31E6FB631998E44B49C /* statbmpcmn.cpp */, - D73954EB5397301F87881646 /* statboxcmn.cpp */, - 292C08C0A1203654ABAA2CB1 /* statlinecmn.cpp */, - 54BD19211DBD388AA0DEC7A1 /* stattextcmn.cpp */, - B180290089B139F18B0C7BBA /* stockitem.cpp */, - D3F32C01D122301AB00D06A5 /* tbarbase.cpp */, - 3DFD4F32E48039C3B9A66355 /* textcmn.cpp */, - 5F63BF9430CE371DA04AC900 /* textentrycmn.cpp */, - BEC69FC5D7F73759A0670C4A /* textmeasurecmn.cpp */, - 861438BD294335D4B859EA71 /* toplvcmn.cpp */, - 7BA6ADD758693BD180D3275B /* treebase.cpp */, - A87BF60D0D4A33E2AD2E1E25 /* uiactioncmn.cpp */, - F7440859617F3B47AF4D3817 /* valgen.cpp */, - 01BA6D45FE4C381493EB4372 /* validate.cpp */, - DE8701E1CF2B352B945C17E5 /* valtext.cpp */, - 684D92E552BE313CBE0A88AA /* valnum.cpp */, - AC5C60B3AF893BE98BCE6C1D /* wincmn.cpp */, - E9B9B85572D0312BBF2878DB /* windowid.cpp */, - B5E2D6917EB1352983C7FE85 /* wrapsizer.cpp */, - C562D5885AFF3E15837325CE /* xpmdecod.cpp */, - 2F94CF171F4532B89FECF475 /* busyinfo.cpp */, - 5612DBC4125B379DA2B28824 /* buttonbar.cpp */, - CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */, - 09F8B0818C3A3248A26EE05D /* choicbkg.cpp */, - CBD7B44E33373BCCB60FC11F /* combog.cpp */, - EEA0945B20913754A54D0FD9 /* dcpsg.cpp */, - 91292D8E11203A6B8E9767DA /* dirctrlg.cpp */, - 2A67053D16D63C588E555C84 /* dragimgg.cpp */, - 2334539088B036BEAB230D1C /* filectrlg.cpp */, - 7273A7E255323EB3B391D997 /* headerctrlg.cpp */, - 9DE6A96FDD5D381D8B33D58E /* infobar.cpp */, - 5E7A77AA776B3B5CAEE3CC90 /* listbkg.cpp */, - C64705CE9398316D87BAB4DC /* logg.cpp */, - D4FC6F0AB2AC34D2B26F8ED8 /* markuptext.cpp */, - A1CB6A4171D4343BB0A9858A /* msgdlgg.cpp */, - 69A7F3F58B1E3812A055C84F /* numdlgg.cpp */, - BEA102FF0FFC33DEAEF2FE14 /* progdlgg.cpp */, - D8F06DEA1AA339ED819B3812 /* preferencesg.cpp */, - AF76670146413EEFA005206A /* printps.cpp */, - 49CABA38E78D34DFA260AA06 /* renderg.cpp */, - E9977457BC7F3A1D93C18A02 /* richmsgdlgg.cpp */, - 3FB6D34C3029357EB64AECAA /* scrlwing.cpp */, - 5ED2105A5A033E3384EBC4ED /* selstore.cpp */, - 59572A234F0636D78BFD9F6B /* spinctlg.cpp */, - C125FA3837C631A9BE0ED5E7 /* splitter.cpp */, - D46A36564C78312CAC538E93 /* srchctlg.cpp */, - DA2119A7C67D37B290C17989 /* statbmpg.cpp */, - 5DE635F30F3935099AF1486C /* stattextg.cpp */, - 8D529E2668C23D94A7706C8A /* textdlgg.cpp */, - 9E8BF36D3A7C309482CBA9EC /* tipwin.cpp */, - 24DF23D67E693D999B875101 /* toolbkg.cpp */, - 7F039CCBBE6C32A09930EBDB /* treectlg.cpp */, - 7925E38823563BCDB5565DCF /* treebkg.cpp */, - AA90128E29A03CCCA30F4D35 /* vlbox.cpp */, - 1629FA905F903324AA5BE72C /* vscroll.cpp */, - 9AD367F1047838A9A7A34DBF /* xmlreshandler.cpp */, - ); - name = core; - sourceTree = ""; - }; - 2FF0B5E0505D3AEA9A4ACF11 /* adv */ = { - isa = PBXGroup; - children = ( - A8ABD099BCEA30DCBF7A04F4 /* animatecmn.cpp */, - 8CF560E06F2A3B6088203D09 /* bmpcboxcmn.cpp */, - 8D0EF4BDCB5F329ABE15EEED /* calctrlcmn.cpp */, - 95DEEF60B1E9358A8CCCC67E /* datavcmn.cpp */, - FDD3CE34439B3D2BBD9DC8D3 /* gridcmn.cpp */, - 8A7D521FE5B437D7AD5F4B54 /* hyperlnkcmn.cpp */, - 6F23140777B733679D2FAAFC /* odcombocmn.cpp */, - 7A1CE0B28CB73F90AE92B5AB /* richtooltipcmn.cpp */, - 77D6E66F72443765A2FBE263 /* aboutdlgg.cpp */, - 36296C259D023EAAA240FC79 /* bannerwindow.cpp */, - 13FD4A890E9B3BAEBD568C3B /* bmpcboxg.cpp */, - 496674699F173A5385EAFF07 /* calctrlg.cpp */, - E8BD1489D95E3FD78B200B1B /* commandlinkbuttong.cpp */, - 5F3D473DC5123EDAB767045C /* datavgen.cpp */, - AE856D950B8C369EB0FE13BA /* datectlg.cpp */, - 7D90D14874FD38079835AF0B /* editlbox.cpp */, - 76337016F2CA3C85831702E6 /* grid.cpp */, - 2A1BD6BCA15430CA8A4869EF /* gridctrl.cpp */, - 66426B63AA3E3A279936C034 /* grideditors.cpp */, - 26381308E32A3A179E7A9B40 /* gridsel.cpp */, - DF376BC55EA73F5FB7328142 /* helpext.cpp */, - CBCA90340E433DBBAE74EBE1 /* hyperlinkg.cpp */, - C3784C240C2F330683494926 /* laywin.cpp */, - 924AA3A156F834BCA1A57976 /* notifmsgg.cpp */, - 7906BD74118A3B4DAC515BC2 /* odcombo.cpp */, - 6BC93D1DE277395592610085 /* propdlg.cpp */, - 54710DA2AC4F3262A8A1EA63 /* richtooltipg.cpp */, - 917F2666B67E3D2EB84E74F8 /* sashwin.cpp */, - 3F8836E29C5A370E80CE070E /* splash.cpp */, - 741578B590AF3F2CABE615EB /* timectrlg.cpp */, - B56A9BF7AE1E3F11A5848297 /* tipdlg.cpp */, - 5190E3E110443FD29F2474FC /* treelist.cpp */, - 8F08F70E1EF239999A4D2AC4 /* wizard.cpp */, - 964578C24B9F390AAD08576E /* addremovectrl.cpp */, - 4692909E4B823F71822B13F8 /* taskbarcmn.cpp */, - 580AFC66F3003582B43043B1 /* animateg.cpp */, - BBF01162E86737818F704DBE /* aboutdlg.cpp */, - 39B825E5EAB43D9ABDCEB2CD /* drawer.cpp */, - 5E53DC332DA23DF4B9BFCDE3 /* dataview_osx.cpp */, - A5E4E466CCBA3A78A38A6E79 /* dataview.cpp */, - A9B2316B32653DA0939A372D /* sound_osx.cpp */, - 2ACC8667173D3AB09F6214F4 /* sound.cpp */, - BACF6FE87AD337729BBB72BD /* taskbar.cpp */, - 018B15DE6F3A3D49B9CDE9DE /* hidjoystick.cpp */, - 6444F5BA54EB351887AAC24A /* activityindicator.cpp */, - ); - name = adv; - sourceTree = ""; - }; - 374BD863E6AD33189B7E4040 /* net */ = { - isa = PBXGroup; - children = ( - B7581D7140293BAE88E43DBE /* fs_inet.cpp */, - 5CB4781DF8C432C688F30CDD /* ftp.cpp */, - F84F0DB790A23D92A193D2B4 /* http.cpp */, - 7B389A14D6BF3AFD8CCE0807 /* protocol.cpp */, - DE8238DA30FF3FB984511250 /* sckaddr.cpp */, - 56653FACC7D13804A70556AD /* sckfile.cpp */, - 1F6E23CCDC1932BC985EFBD2 /* sckipc.cpp */, - D784A32C094730FEAA391A9B /* sckstrm.cpp */, - 40CE02524DD4385AB2C3DF95 /* socket.cpp */, - 49612306912038DDBCABB4DE /* url.cpp */, - DDE22D7DDAC93DCABAE5AED0 /* socketiohandler.cpp */, - BB7661E9E09A397790ED9545 /* sockunix.cpp */, - 4969528429903F15882F5391 /* sockosx.cpp */, - ); - name = net; - sourceTree = ""; - }; - 42F504C4994C38D7A8F062F4 /* libexpat */ = { - isa = PBXGroup; - children = ( - A92B6033D8233DB1821F193B /* xmlparse.c */, - 59C6B9849FF6325E890942EF /* xmlrole.c */, - 8685B8ED68F23DB0B770FD74 /* xmltok.c */, - ); - name = libexpat; - sourceTree = ""; - }; - 4D98B791E17232D39944F04F /* xml */ = { - isa = PBXGroup; - children = ( - E6AB648BC5173104A96CAE66 /* xml.cpp */, - 4048A3523EC03409BD899BEF /* xtixml.cpp */, - ); - name = xml; - sourceTree = ""; - }; - 52DDFBAA5ACC394FB6B30E74 /* libzlib */ = { - isa = PBXGroup; - children = ( - 0E45F6DF601A34BCB3CC0206 /* adler32.c */, - D4C4495603293C07A3B09D54 /* compress.c */, - 7013DB195D023C31ADE68546 /* crc32.c */, - 3CF73F49AEC238C99CE89845 /* deflate.c */, - 7A24E9101688368296C21EBE /* gzclose.c */, - 7395814D42CC38F6B8CD81B4 /* gzlib.c */, - BAD4614CABC934D6AFF8D9CD /* gzread.c */, - 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */, - FDB0E2D0966C3E408C4A2D3D /* infback.c */, - 400275BE019D3E5BA47988BE /* inffast.c */, - B5370A676AAC32419D7FDD87 /* inflate.c */, - 9D6B0D32537D35069C7E053F /* inftrees.c */, - 95B4EDF38F8A3E5EBAFF560F /* trees.c */, - 513033E36E643593AC305B3D /* uncompr.c */, - 4CB467F9898C3952A68D988B /* zutil.c */, - ); - name = libzlib; - sourceTree = ""; - }; - 5C5CD199E7573C73AE6F392D /* media */ = { - isa = PBXGroup; - children = ( - C839E49184663A7CBB7EEB06 /* mediactrlcmn.cpp */, - D03731D60A063988AF6AE70F /* mediactrl.cpp */, - ); - name = media; - sourceTree = ""; - }; - 60328E6EA3793DA990E18FC1 /* xrc */ = { - isa = PBXGroup; - children = ( - BB60FA0E3524391D8581AD7C /* xh_activityindicator.cpp */, - 8C1E755F2408363288B2CE69 /* xh_animatctrl.cpp */, - 3116006345D833509865FF7F /* xh_bannerwindow.cpp */, - 07CDBBC10C8E37BBA8600DD6 /* xh_bmp.cpp */, - 8826A683573F35EA9789612C /* xh_bmpcbox.cpp */, - 11AE4D94B791344AB6BF6397 /* xh_bmpbt.cpp */, - 0785AD527D033586A7DCE8B8 /* xh_bttn.cpp */, - 093B5233861B3F9B8C85762B /* xh_cald.cpp */, - BB7DBBD53BA837D2B01CE2B6 /* xh_chckb.cpp */, - EA3F8832890138E9AB6E65D8 /* xh_chckl.cpp */, - 89EC3C6F9AEF3F6DA7CEB3B3 /* xh_choic.cpp */, - CCED0C7EF69A31A4A9240D60 /* xh_choicbk.cpp */, - AACFDE3263CE3E728AFC47DF /* xh_clrpicker.cpp */, - D0B70966E9423F198C8CBE65 /* xh_cmdlinkbn.cpp */, - F8638A6CCF773CCFB70DFC29 /* xh_collpane.cpp */, - F0905A1EBD653F6D82395602 /* xh_combo.cpp */, - 5FC445EFDC503C74A5CC6D7D /* xh_comboctrl.cpp */, - C63C964DAFAD311694367C94 /* xh_datectrl.cpp */, - BD169D8019A13A11BDB26214 /* xh_dirpicker.cpp */, - 06B4A895955B32258DCD62BF /* xh_dlg.cpp */, - 05310A868F0B35999C568681 /* xh_editlbox.cpp */, - 60EE4448A28D38F5ADE17B5A /* xh_filectrl.cpp */, - 5C8CEE782CD236A5A9999724 /* xh_filepicker.cpp */, - 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */, - E5A9B63746753EDFB2EC48D3 /* xh_frame.cpp */, - 9A23D41D747D38BF8AD30067 /* xh_gauge.cpp */, - 84A2E6F103403BBFADD449FE /* xh_gdctl.cpp */, - 93B77251C0E0382D9A8E113D /* xh_grid.cpp */, - 889FFA9573A835F280A21CB4 /* xh_html.cpp */, - B4E4032CA9883CA4B25BE082 /* xh_hyperlink.cpp */, - B4DCCF66D880330A9EE9B6B2 /* xh_listb.cpp */, - 57EB0085AFB93BFC88AC6FFC /* xh_listbk.cpp */, - 5F5D02D60DCA35358B2780C7 /* xh_listc.cpp */, - 9AFCEB1FFA3037458F132CAB /* xh_mdi.cpp */, - D3078CDAEB863CFD84EDD3BB /* xh_menu.cpp */, - A87662D69F0432FC96701280 /* xh_notbk.cpp */, - 0080254545B9383ABDF2045C /* xh_odcombo.cpp */, - F4B85051B7C835A8BF4E3EE1 /* xh_panel.cpp */, - 49BF55FA3427335097F99A2C /* xh_propdlg.cpp */, - 5AACC1EC2E2A33B3ABF5EDCA /* xh_radbt.cpp */, - F43AF44465B335479752116D /* xh_radbx.cpp */, - 66411D54BAD338498AC59401 /* xh_scrol.cpp */, - E97AE22E9F043AB6846B3BE7 /* xh_scwin.cpp */, - 8E7ADC9F00803853B1004529 /* xh_htmllbox.cpp */, - 97C4E26489B034B6AE723D8D /* xh_simplebook.cpp */, - 6E855AB3AB08325980871AB4 /* xh_sizer.cpp */, - 38E0F60AE1F83633A0CC18FC /* xh_slidr.cpp */, - 950D51915EF83B57B5E8306F /* xh_spin.cpp */, - EEADAA811BBF3CBBB9E254FD /* xh_split.cpp */, - FD55F391CD1032DFACA88CFD /* xh_srchctrl.cpp */, - FADE850169F7347F83FE1499 /* xh_statbar.cpp */, - 832DDCA57DEE3FD1B34829EC /* xh_stbmp.cpp */, - 147800BBCB80346798B35D75 /* xh_stbox.cpp */, - 5F555177554E398286DBC6FB /* xh_stlin.cpp */, - B3F1680BBE8331A7B745638C /* xh_sttxt.cpp */, - 53B95C9A1BCB30CC87495DA3 /* xh_text.cpp */, - CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */, - 25A81E9028793C109D868068 /* xh_timectrl.cpp */, - 3BFC1F090EFE30B784CE4C64 /* xh_toolb.cpp */, - B17FC30EF9D035689B68C955 /* xh_toolbk.cpp */, - 21A697F65B1E31168F0A7BD7 /* xh_tree.cpp */, - B912D2E3385E365CAB61A7FF /* xh_treebk.cpp */, - 15FCCD1B587637DDA3C1748A /* xh_unkwn.cpp */, - EBD381E57BAE3F2AA31A68CB /* xh_wizrd.cpp */, - 087B66573CD33DA99DA82B1C /* xmlres.cpp */, - A1E1A01885B036C28EBDAE27 /* xmladv.cpp */, - 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */, - ); - name = xrc; - sourceTree = ""; - }; - 60E51BFF5CD2327483201F14 /* html */ = { - isa = PBXGroup; - children = ( - 2E24C6F2A04E30EB95598305 /* chm.cpp */, - 42E433D1700631A8907B8227 /* helpctrl.cpp */, - C466F32CCBD13DBC87285B3D /* helpdata.cpp */, - 81821049E39B32C6ABCF6820 /* helpdlg.cpp */, - 82A8381819DD37DA9A3830D1 /* helpfrm.cpp */, - 2DBD5DB511C53218B3EF1625 /* helpwnd.cpp */, - 68E5188DB6003C35A8C7754D /* htmlcell.cpp */, - 2C6C4F5468743265A02D656C /* htmlfilt.cpp */, - 1800B1884CC73C78A09E7FF1 /* htmlpars.cpp */, - FCCFF49F92B4323D9181CEDA /* htmltag.cpp */, - 3FEBA7AC7F743EE88352AEBC /* htmlwin.cpp */, - 194ADD28300E329E80F7892E /* htmprint.cpp */, - 52FE1599218730CC99A3F801 /* m_dflist.cpp */, - B1F3C70512D93501B0478F3E /* m_fonts.cpp */, - ECA4A44BEC2F3AED8CF0C911 /* m_hline.cpp */, - 548906E4E72935E48CE4AF87 /* m_image.cpp */, - A5EE0B8985443BDCB36F781F /* m_layout.cpp */, - 080597FC0436378E96EDA94B /* m_links.cpp */, - B4028ABB08C63AB59F5F240B /* m_list.cpp */, - 61658C3EABB4341AA38C691E /* m_pre.cpp */, - 727F25F832AD32D4B12D8E39 /* m_span.cpp */, - 7EB95BCFA255323183A996C9 /* m_style.cpp */, - 082CA018FB883999839C1DCE /* m_tables.cpp */, - 3ABD697F99673F16A0B2D4C1 /* styleparams.cpp */, - 7FCA75FE592C3469AE351FBF /* winpars.cpp */, - FD5F11A3646F397BA62EB037 /* htmllbox.cpp */, - ); - name = html; - sourceTree = ""; - }; - 62E50658BDAD369D92294F68 /* webview */ = { - isa = PBXGroup; - children = ( - 5FEECFD764E037288CE94FEB /* webview_webkit.mm */, - 0DA80913C0E33144A42BD30F /* webview.cpp */, - 70112AB00E013A35BE974FF1 /* webviewarchivehandler.cpp */, - CFBDB327E4A236A3ABFA326F /* webviewfshandler.cpp */, - ); - name = webview; - sourceTree = ""; - }; - 64B126D857113F24BA8C4758 /* richtext */ = { - isa = PBXGroup; - children = ( - 47F5E77F7B8D3ABBA365F112 /* richtextbuffer.cpp */, - FDEC1C66E6E83C69AF2732DB /* richtextctrl.cpp */, - C978558AE31D3CFA85B3BBE3 /* richtextformatdlg.cpp */, - 7969963AA93537FCA4F54DA7 /* richtexthtml.cpp */, - 1CE9B3DD54AD318FAA821732 /* richtextimagedlg.cpp */, - C4C45D3C63AA37CEBCE83321 /* richtextprint.cpp */, - 23839659AC2A383CB383F0EC /* richtextstyledlg.cpp */, - D30617843F33310089C1F77A /* richtextstyles.cpp */, - BB3FF9FECCB5300A9561CE36 /* richtextsymboldlg.cpp */, - C69E48C06BD23C178F650E42 /* richtextxml.cpp */, - 88C2B895570936A3B4FAF3CF /* xh_richtext.cpp */, - ); - name = richtext; - sourceTree = ""; - }; - 6E2C8858F68E3FB0BEFFFCE5 /* libpng */ = { - isa = PBXGroup; - children = ( - AF26BAB1F4733114926F1724 /* png.c */, - 1A0650754DC2358CA5933B28 /* pngerror.c */, - 91300EB871CC39ECBC430D48 /* pngget.c */, - C45AFE6CC20F3ED7A55FC8FA /* pngmem.c */, - 9CAA325362C73AC8BE20FAA7 /* pngpread.c */, - 29D6506AEA5A323B8735F126 /* pngread.c */, - A06AB1974DB93EE2999EC75C /* pngrio.c */, - 87799D3168B43EB7B5686826 /* pngrtran.c */, - 358D0A3AC73F322EA732D020 /* pngrutil.c */, - 5E463A493FD930DE80E58608 /* pngset.c */, - 5B32A13D5B3336098B1B9765 /* pngtrans.c */, - AF9EE701DD653E2299293E5F /* pngwio.c */, - 69A6CAF721E53E83B4820DE6 /* pngwrite.c */, - 0964797530CF3FE7B8DB6242 /* pngwtran.c */, - 45D7558DF5E03A2EB41883F0 /* pngwutil.c */, - ); - name = libpng; - sourceTree = ""; - }; - 7650A73F7FC9305EA62DAE86 /* libjpeg */ = { - isa = PBXGroup; - children = ( - 8EB76F786D7F3FF286948D22 /* jcomapi.c */, - 5BEC6B3CAFB532CBB9F95D74 /* jutils.c */, - 108517BCD39230E7A89BC943 /* jerror.c */, - 14C2A7E01B4B3B168DB73B4F /* jmemmgr.c */, - 374E341C8703367686DEDE93 /* jmemnobs.c */, - 6EDDEEEC981133E8BA6A3998 /* jcapimin.c */, - F83172EE2DAE352FB969D4F2 /* jcapistd.c */, - 725574EF98C4301989181CBF /* jctrans.c */, - 2F41EDEB298538CC86FF6DC1 /* jcparam.c */, - 59B19927E27F39ACB1D2BDA3 /* jdatadst.c */, - AA6C6739C3BD3EFA9CF71102 /* jcinit.c */, - 3E3043D7BE9C33B59E900CCE /* jcmaster.c */, - 664736BDE465350C9C4750E9 /* jcmarker.c */, - 810EB7316DF3344197C78EC0 /* jcmainct.c */, - 7FE0455EBDC63D82B2D88587 /* jcprepct.c */, - E89AC104BF4F33A083F8B382 /* jccoefct.c */, - 8EFF4707641D3F20AB602ED6 /* jccolor.c */, - 53D06E47477B3E32BB6B915E /* jcsample.c */, - DC0FFDC7A6163F2DA73B84EB /* jchuff.c */, - E38569D873B6394F9E5B821C /* jcphuff.c */, - 6DBF3053414F3C448312165A /* jcdctmgr.c */, - 029486D6A2EC3DE0902A6A24 /* jfdctfst.c */, - 93D07403FCA530D7A9FD2917 /* jfdctflt.c */, - 90EC2A5B80EE3031BA4087B9 /* jfdctint.c */, - 86884BC843F6337EABF744BB /* jdapimin.c */, - 1EF327CE8D7E3C11BFC6BD74 /* jdapistd.c */, - 4549845C0751356A907C23E0 /* jdtrans.c */, - DECAF5DD80383A2CA76EB383 /* jdatasrc.c */, - ED19EF377E653F71B1876259 /* jdmaster.c */, - CCF7564A2B733F759AA8496B /* jdinput.c */, - 20E4A10BCD773C84AEC481A1 /* jdmarker.c */, - 72869747E68E37998CB0A07E /* jdhuff.c */, - E85E680C62B63D4EBAB2E784 /* jdphuff.c */, - B2D390E5D5BF32D4AAA1E15A /* jdmainct.c */, - F1A6F3936A0D31CBB58082BA /* jdcoefct.c */, - 375FF97B202F3C359402D13E /* jdpostct.c */, - A5BBC1E494D33D028CA547FF /* jddctmgr.c */, - A0DCC5EF59143640BE13AD73 /* jidctfst.c */, - 3C131F7BF8A83960ACB26242 /* jidctflt.c */, - 1DAF0931E4AD3E6581D7FDBC /* jidctint.c */, - 646743F6FDFE3ACFA1A79B40 /* jidctred.c */, - 5FFCF47A161B3E08B19BFE14 /* jdsample.c */, - 68B81FBDA49D3C1991B6356A /* jdcolor.c */, - 4BA14FFC0F4B3AE0B4D6B185 /* jquant1.c */, - 02D9332D5C5632E981936E29 /* jquant2.c */, - 0890779C662C35889A8C6C2E /* jdmerge.c */, - ); - name = libjpeg; - sourceTree = ""; - }; - 816DD323A67F3B299C8F3481 /* opengl */ = { - isa = PBXGroup; - children = ( - E08A51FA8D8A361681B07295 /* glcmn.cpp */, - 8B6FCA050C26323893012BD6 /* glcanvas.cpp */, - FA59091E3ED83FB781FB9659 /* glcanvas_osx.cpp */, - ); - name = opengl; - sourceTree = ""; - }; - 83F62FA47C9636169F1E18E8 /* base */ = { - isa = PBXGroup; - children = ( - 4867546E8B8D3C8683A23ED5 /* any.cpp */, - 95A156A823B536DE8476E4F9 /* appbase.cpp */, - 75D0C937F2A03ADA8581A2BB /* arcall.cpp */, - C513377E9E303F778BA9D7ED /* arcfind.cpp */, - 02D2E8B5C89939CE90B99E2B /* archive.cpp */, - A57CF60203F53459A03951A9 /* arrstr.cpp */, - F2024D29170D3B50A4DFDE11 /* base64.cpp */, - 2C904B4BA8273355869812B2 /* clntdata.cpp */, - FBE1C531185131A89EFF7FAF /* cmdline.cpp */, - 4FE0B33481283D3493613B0F /* config.cpp */, - 20B922D61CDB3CCEB59A5194 /* convauto.cpp */, - E0EBCDDF248638B58B01D9CC /* datetime.cpp */, - 864438709B363773B8C3382D /* datetimefmt.cpp */, - 81B3DFBB73573FFDBD320334 /* datstrm.cpp */, - EC9B6DFBF2F73917A99361C5 /* dircmn.cpp */, - ACC61BA84C6C33D4BCA403ED /* dynarray.cpp */, - D272910EC35531E5B4D6E05B /* dynlib.cpp */, - 93BA27DFFB023F2EBD6295E3 /* dynload.cpp */, - C269E9CA99DF3AE5B1BD6AFA /* encconv.cpp */, - 640783FBACA43206B782C77B /* evtloopcmn.cpp */, - 033B94A9AC8A3370A794503F /* extended.c */, - ADA6B65038FB32F7A3EFBB97 /* ffile.cpp */, - 168DB301ACC736FF96D7F581 /* file.cpp */, - AC12D557950A3B0D89D9F2F3 /* fileback.cpp */, - 61DA2A4C0D143CBE804BB8A1 /* fileconf.cpp */, - 58421C141C9E31C6A7A3C183 /* filefn.cpp */, - BAD9A0BFED6A37E4A305E1D7 /* filename.cpp */, - F263022F3FEA3F75895B644D /* filesys.cpp */, - 4438C284ED5C31EF8CC28FF3 /* filtall.cpp */, - EA4AF89C36C53EB4B307DCAB /* filtfind.cpp */, - 832BBBFE664736D5978420C6 /* fmapbase.cpp */, - 88F2BA2F0598342186A484B5 /* fs_arc.cpp */, - AAB58DD0DEC13D68B8708085 /* fs_filter.cpp */, - 888BD97139C936679691FF34 /* hash.cpp */, - A6636144CDE83E8E85270FAF /* hashmap.cpp */, - DB82939EDC593F9CA95C3098 /* init.cpp */, - AC8BB1AABB3D393EBA527060 /* intl.cpp */, - 2C090A76B6F23E6481A27282 /* ipcbase.cpp */, - 67D76B026121359F9B22F8B0 /* languageinfo.cpp */, - 552757A901E732CAA8E3F16D /* list.cpp */, - EA93D41B11683E758D456531 /* log.cpp */, - 72D7AF345E563587941BD868 /* longlong.cpp */, - 5466CC2D6579360E9C665EE5 /* memory.cpp */, - 2F316F7DD3CB3390A6E50179 /* mimecmn.cpp */, - 9DB43FAB1E563B02ACEFF647 /* module.cpp */, - DC3D1E222FD93A69B1D1366E /* mstream.cpp */, - 6BD8DAB407D231EFA5B2CAE5 /* numformatter.cpp */, - 1731D6708BFE3DE7B101CE74 /* object.cpp */, - 97FFB03FF6793506B246BAC6 /* platinfo.cpp */, - 99BC7A16DBCA36EDA9D6F1DB /* powercmn.cpp */, - B35DA585CFDD32468868E892 /* process.cpp */, - FB46BC22F6B23909A938C561 /* regex.cpp */, - 75BF90BEF2F83BF28EC0458D /* stdpbase.cpp */, - F46EC1508C063C8395CE7A95 /* sstream.cpp */, - DE16011AD6323AAC8616F973 /* stdstream.cpp */, - 8F4F0113872C39FB9D10E411 /* stopwatch.cpp */, - 9FEB8204E530329FA085E5B8 /* strconv.cpp */, - FFDD414DBCC73D0FB6C2C5FD /* stream.cpp */, - F7E99B35A98D30818120B002 /* string.cpp */, - E5357E76650035639844D15B /* stringimpl.cpp */, - F1E724EA70AB35DDB130F84F /* stringops.cpp */, - 0EEAD9C3E180305D8899441E /* strvararg.cpp */, - F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */, - C0F7BBD216853E718C9F23D9 /* tarstrm.cpp */, - 701B84EE7C043B539FF5195A /* textbuf.cpp */, - 0903EE9B3793303285FF96E3 /* textfile.cpp */, - DE40B073C95D3A7497952D8F /* threadinfo.cpp */, - 5B9586328A1F3C4BA0390AA5 /* time.cpp */, - 7195E665E0F233839B967FC9 /* timercmn.cpp */, - 0401B7302088357BB6B7F16F /* timerimpl.cpp */, - 3720038D64CF3C0B8F642A90 /* tokenzr.cpp */, - 6AC666417602346EA583709E /* translation.cpp */, - 117CD1A3BCB53CEE800787AE /* txtstrm.cpp */, - DB90ADAC10693B6F91E7D4E9 /* unichar.cpp */, - D4E1DC1869C6327C80D2F5F4 /* uri.cpp */, - B63EBEE1A04537E7887E9FD0 /* ustring.cpp */, - 31F4B9B03D52339B8F82C114 /* variant.cpp */, - C37866F41B0C31E295AA7FA6 /* wfstream.cpp */, - 23FC98E2305230E2990471E3 /* wxcrt.cpp */, - 607EF0043E723B7B9BE101EA /* wxprintf.cpp */, - 418AD9241B673308BE31DC06 /* xlocale.cpp */, - 25C86D3D4839343BA1D8BDEE /* xti.cpp */, - FDAEFCE0ED9D30DA94340A3B /* xtistrm.cpp */, - 54FB8A5FCBD0309AAC2E4F70 /* zipstrm.cpp */, - B9B5BC858CCF3477895D2786 /* zstream.cpp */, - 7D2BE094D90D3AFDAE49F589 /* fswatchercmn.cpp */, - 47783A330B2A3B4EBB1CD95D /* fswatcherg.cpp */, - 7C97C1F26B5A38C49543060C /* mimetype.cpp */, - 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */, - 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */, - D5F9383D1CE931499F339D85 /* strconv_cf.cpp */, - 81390F96937631078EFCD891 /* utilsexc_base.cpp */, - 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */, - A5D569A4DE643DC8B0C28087 /* selectdispatcher.cpp */, - B40E0F6AA0273ACD9BDEAD72 /* appunix.cpp */, - F7332A03D93D3DABB050615D /* dir.cpp */, - CA2D9F325F833C408657E7B7 /* dlunix.cpp */, - 2EA275DD7D1138F9AE988E45 /* epolldispatcher.cpp */, - 9E9B79C8C7C4302AA057843E /* evtloopunix.cpp */, - 3B548B1FF2A238809315C8A9 /* fdiounix.cpp */, - 3D5D8B68EA743F6E97ADF612 /* snglinst.cpp */, - EA2520F427493A22A70A5C09 /* stackwalk.cpp */, - 0CB2CC8E60833A6993BEA321 /* timerunx.cpp */, - AB466912FDA23F8B87A00A3C /* threadpsx.cpp */, - DC75C7251C1732B0B07C7BD3 /* utilsunx.cpp */, - B38F3D4DC6D139BA93401F7A /* wakeuppipe.cpp */, - C019CE87CF9931B0B77C0823 /* fswatcher_kqueue.cpp */, - 5B83407D156C3CC3A66F05A4 /* fswatcher_fsevents.cpp */, - 7A34C5BBBA543DC0A50DE1B6 /* event.cpp */, - C9A305CEC03B3085B159B617 /* fs_mem.cpp */, - E968913A9A593B258BD8EACB /* msgout.cpp */, - 4188821BBA833CCAA678B234 /* utilscmn.cpp */, - BB924887605E3CB388F56776 /* utils.cpp */, - D6DFFB06606F3D2E953CFC96 /* uma.cpp */, - F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */, - 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */, - ); - name = base; - sourceTree = ""; - }; - AA960FB143A63667839CE793 /* qa */ = { - isa = PBXGroup; - children = ( - 63F15C5B895F38028FE5D0A5 /* debugrpt.cpp */, - 182C8AD4F822375495795B43 /* dbgrptg.cpp */, - ); - name = qa; - sourceTree = ""; - }; - B1EF68113C6338CFBBED0FBE /* libregex */ = { - isa = PBXGroup; - children = ( - E433B890264339BA8DB97B1D /* regcomp.c */, - 1482A34AC32133E4BE207223 /* regexec.c */, - A70C82ADB45A3FB99C420D03 /* regerror.c */, - EEE82083BFA430D5B58F8A04 /* regfree.c */, - ); - name = libregex; - sourceTree = ""; - }; - B8F95052522B37AB86DA8917 /* propgrid */ = { - isa = PBXGroup; - children = ( - 326723AEB79A305F90D6B41D /* advprops.cpp */, - A9C7F740A55E39FD890B3C7F /* editors.cpp */, - EBED392D081335FA80523244 /* manager.cpp */, - 58E1F571B01F34D4AB70CA18 /* property.cpp */, - B98B72B3A0A73044B85AED60 /* propgrid.cpp */, - 69E742B172463EDFBBFA5AB0 /* propgridiface.cpp */, - 967EF76827CB3CDE87E1E733 /* propgridpagestate.cpp */, - C20E46A504113C899B9DD9B7 /* props.cpp */, - ); - name = propgrid; - sourceTree = ""; - }; - C2FC1A9BBB8C3046994369BF /* Products */ = { - isa = PBXGroup; - children = ( - 9FBCD305199836939824BF97 /* libwx_osx_carbon.dylib */, - DE95737968723BE98DD68918 /* libwx_osx_carbon_static.a */, - ); - name = Products; - sourceTree = ""; - }; - E96566B813153B4295AD767B /* stc */ = { - isa = PBXGroup; - children = ( - D0B9C41A4D12345AAA764CAD /* stc.cpp */, - 47FF6D792CA234C395692118 /* PlatWX.cpp */, - 8E6F9D4319F639BE89E5A82F /* ScintillaWX.cpp */, - ); - name = stc; - sourceTree = ""; - }; - EB288BE7E74B3328B762A461 /* libtiff */ = { - isa = PBXGroup; - children = ( - 5D2F8259CC99380CB8217DEF /* tif_unix.c */, - D0CDADAF2D893E32A38351E4 /* tif_aux.c */, - F82278F9AF0432529891E6D7 /* tif_close.c */, - 88FF67EB6E7D302A9CDEF660 /* tif_codec.c */, - 149D299A0EDB3D998118EC93 /* tif_color.c */, - CA0D5D47D62A3148BA51B31B /* tif_compress.c */, - E79B2D1F630036129B9677A7 /* tif_dir.c */, - 032A38738B58394E8617617B /* tif_dirinfo.c */, - F6EA240B3DB93D398A990FAD /* tif_dirread.c */, - B9FD5AE12CA9376883AEE4FC /* tif_dirwrite.c */, - 1094F7D0E7A93B0CAC949001 /* tif_dumpmode.c */, - 48F1439BF6C3361296F05A33 /* tif_error.c */, - AF7CE00168AB33C994374ABA /* tif_extension.c */, - 30FD1048328234E59D319863 /* tif_fax3.c */, - BFF8216871643FEA8B5D7804 /* tif_fax3sm.c */, - 305614D19CF23CB2B14A5B2E /* tif_flush.c */, - 3D82E7D38BB43BB886E2BFA0 /* tif_getimage.c */, - F6F01A84F4DE3C9FB9849004 /* tif_jbig.c */, - 29B9C6D27BE83DB384A108ED /* tif_jpeg.c */, - 4F768B23D8B535CE8D0BD343 /* tif_jpeg_12.c */, - 66FDA882451239EA8DF2E0B5 /* tif_luv.c */, - 3088384F07C63A5DB3581656 /* tif_lzma.c */, - 346C68F0CCD23823B78267F0 /* tif_lzw.c */, - DFDC805DD3063C389F93642D /* tif_next.c */, - 1FBC6F8B4CA63A0081D6F34A /* tif_ojpeg.c */, - 1731A6096BFC3A468AB4755A /* tif_open.c */, - 9CE73979D0933A43830307E4 /* tif_packbits.c */, - 4071FF90F1D4336C836B2AE4 /* tif_pixarlog.c */, - 2FA01C426EAF38D3B9ED35AC /* tif_predict.c */, - C6EB77ED688E3EE294167EF1 /* tif_print.c */, - 64B25B87203E3464BCDD277D /* tif_read.c */, - B83EDE2D1731311ABDE62F9F /* tif_strip.c */, - AAC12B4456E13F57BEA25A5E /* tif_swab.c */, - 68BEC0AB8A933CF2B5ACA149 /* tif_thunder.c */, - BD88495AF72531A28D2201D0 /* tif_tile.c */, - 3E6F40F4740C3ED29D83E107 /* tif_version.c */, - C83C97A1FCC5345896C9D7DE /* tif_warning.c */, - E9B992CB6C28339FB0CA5E27 /* tif_write.c */, - 726C0457DF1232C793918DC1 /* tif_zip.c */, - ); - name = libtiff; - sourceTree = ""; - }; - FE1C78F1707A30878CBB2B4B /* ribbon */ = { - isa = PBXGroup; - children = ( - 4C4649974D8B3A109D1BF145 /* art_internal.cpp */, - B540E18F9C91381CA175BABB /* art_msw.cpp */, - DD5E8709C3BC3727BBC7B97A /* art_aui.cpp */, - 9FDDE855D9F83E4891362EB4 /* bar.cpp */, - 5612DBC4125B379DA2B28825 /* buttonbar.cpp */, - 12363D1F50FE301DAEE7F04B /* control.cpp */, - 3F1C1EB5C0B3302C86D91315 /* gallery.cpp */, - 59ED0C057D8F388A89DC7177 /* page.cpp */, - 00969CBE3B8F32C78C195619 /* panel.cpp */, - BE4B0CE56BA23002A5C8AF00 /* toolbar.cpp */, - B6A37A02D28E30CD9B83E134 /* xh_ribbon.cpp */, - ); - name = ribbon; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - B688C600AA163F61B2B151DE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B688C600AA163F61B2B151DF /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 363401F972C53D8EBD3D4BD9 /* dynamic */ = { - isa = PBXNativeTarget; - buildConfigurationList = F515C6D7EB103C50924F790B /* Build configuration list for PBXNativeTarget "dynamic" */; - buildPhases = ( - 94E713C89B403F568A694F9A /* ShellScript */, - B688C600AA163F61B2B151DF /* Headers */, - 8BD3A3B4622D37B8B5DB242E /* Sources */, - 82F403E7B8653CBD908BC258 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = dynamic; - productName = wxcocoa; - productReference = 9FBCD305199836939824BF97 /* libwx_osx_carbon.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; - BAB02EC06578349A9171CCAC /* static */ = { - isa = PBXNativeTarget; - buildConfigurationList = 336FCCBABBEF3C4AA92AD394 /* Build configuration list for PBXNativeTarget "static" */; - buildPhases = ( - 94E713C89B403F568A694F9B /* ShellScript */, - B688C600AA163F61B2B151DE /* Headers */, - 8BD3A3B4622D37B8B5DB242D /* Sources */, - 82F403E7B8653CBD908BC257 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = static; - productName = static; - productReference = DE95737968723BE98DD68918 /* libwx_osx_carbon_static.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 19367367C9323490BB936F06 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = FE4F954C29353DAB832F4608 /* Build configuration list for PBXProject "wxcarbon" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 1D56230B75893DBA8A923441 /* wxcocoa */; - productRefGroup = C2FC1A9BBB8C3046994369BF /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 363401F972C53D8EBD3D4BD9 /* dynamic */, - BAB02EC06578349A9171CCAC /* static */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXShellScriptBuildPhase section */ - 94E713C89B403F568A694F9A /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${WXROOT}/distrib/mac/pbsetup-sh\" \"${WXROOT}/src\" \"${WXROOT}/build/osx/setup/${WXTOOLKIT}\""; - }; - 94E713C89B403F568A694F9B /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${WXROOT}/distrib/mac/pbsetup-sh\" \"${WXROOT}/src\" \"${WXROOT}/build/osx/setup/${WXTOOLKIT}\""; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8BD3A3B4622D37B8B5DB242D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 59BFB8C8310E37B39AF8B0D5 /* any.cpp in Sources */, - D5A25AC579F436509805335B /* appbase.cpp in Sources */, - C2B07E2ECDDC3833BDC9B28D /* arcall.cpp in Sources */, - 4CF9BA40653C3153805D88AC /* arcfind.cpp in Sources */, - 3EB6B8528A0D3B6CADAE1257 /* archive.cpp in Sources */, - 3B8A54D5E5A53607A6F7979B /* arrstr.cpp in Sources */, - 0A2A4D2DC8F63FE1AC0BFAB0 /* base64.cpp in Sources */, - 319FB8E64CE731D6A58AD302 /* clntdata.cpp in Sources */, - 51437DC2AD7B3BEB9A53CE1B /* cmdline.cpp in Sources */, - DA0FA502405A37B2A5698D21 /* config.cpp in Sources */, - BB6FE851028C3DE7A070C214 /* convauto.cpp in Sources */, - F89405757B063F80B111F46A /* datetime.cpp in Sources */, - 1D726139C977341A97D0C932 /* datetimefmt.cpp in Sources */, - E63364B7E727383BA8E2B7ED /* datstrm.cpp in Sources */, - 3ED6F4B64C283232A79423D0 /* dircmn.cpp in Sources */, - 54A89D04FF953D55AE8DCCF1 /* dynarray.cpp in Sources */, - AD7EEB418C7930CB828EAF88 /* dynlib.cpp in Sources */, - 0164A65CDB7A334A8E9AA4C0 /* dynload.cpp in Sources */, - 246B4FF96BA135258FE45F50 /* encconv.cpp in Sources */, - 97BAFEAD53E238B6881178DE /* evtloopcmn.cpp in Sources */, - F07D84D124F23E7FA11CF149 /* extended.c in Sources */, - FEF99FF6C38D3B488396B143 /* ffile.cpp in Sources */, - D6C3421AD2A537AAA2F0AB81 /* file.cpp in Sources */, - FFF5BFBE600E35FAB7EA522D /* fileback.cpp in Sources */, - 41943A8F82723027A151A469 /* fileconf.cpp in Sources */, - 49260580A7F23B569A827D40 /* filefn.cpp in Sources */, - D4C87E227A28391891D89089 /* filename.cpp in Sources */, - 8A4046BD38873D9CAC9C2B5A /* filesys.cpp in Sources */, - 9E0B67E34B683412978BA82E /* filtall.cpp in Sources */, - CA4DCD57060B38CC8B2283D8 /* filtfind.cpp in Sources */, - 2FA1A8FE3644325ABAD273A5 /* fmapbase.cpp in Sources */, - FE2DBCCC1D0B36A3BE4493C1 /* fs_arc.cpp in Sources */, - F6B85CD918E93923BE631B96 /* fs_filter.cpp in Sources */, - FE5285579C7F39C48FC66B11 /* hash.cpp in Sources */, - 595DCB164D55342EB86604ED /* hashmap.cpp in Sources */, - 1B06622C8D8731FC832199E3 /* init.cpp in Sources */, - 0743AE8613F535A0ABB79316 /* intl.cpp in Sources */, - A336FD218BE63B19991CA514 /* ipcbase.cpp in Sources */, - BFD4B8871B3934048B63141A /* languageinfo.cpp in Sources */, - 68AC8860B0943C1FAF76D96C /* list.cpp in Sources */, - 3141FEDED0943BD6A2EF8590 /* log.cpp in Sources */, - 0C7E2D5C22A232368F862A61 /* longlong.cpp in Sources */, - DC978B60F6DF3176B5B114C4 /* memory.cpp in Sources */, - B59FC7345C383D9099391AC4 /* mimecmn.cpp in Sources */, - EC3A1C620D323B5590AABF03 /* module.cpp in Sources */, - F38202271C6131908C358DED /* mstream.cpp in Sources */, - 31DD19A942283FA8810B6383 /* numformatter.cpp in Sources */, - 23A7AF68A03E380785EE7C25 /* object.cpp in Sources */, - D6B73239BF0E32288161679D /* platinfo.cpp in Sources */, - 0A406D2D1ADA343891E3664D /* powercmn.cpp in Sources */, - CA85901B9E2538CFB7E44217 /* process.cpp in Sources */, - 7A7439BE66AA3771B4A89049 /* regex.cpp in Sources */, - CF3082BA1ED232F4B904BD15 /* stdpbase.cpp in Sources */, - 539B586AEAD630A79FC12ED0 /* sstream.cpp in Sources */, - 028257C52CAE3038AA862C36 /* stdstream.cpp in Sources */, - 6AA0EE765330326380989FD2 /* stopwatch.cpp in Sources */, - E882402BEE0330A080A65170 /* strconv.cpp in Sources */, - 30493B486DFF35AF80D12C4A /* stream.cpp in Sources */, - 795613831EC8332A83FF26E8 /* string.cpp in Sources */, - 55F0D287F60F3EDEA16CCB65 /* stringimpl.cpp in Sources */, - 88E1AE56FD393C8BA5CF8546 /* stringops.cpp in Sources */, - 056E30EA43753A7CB1AF8C9F /* strvararg.cpp in Sources */, - 4DD98A9436C83CF3B9425A79 /* sysopt.cpp in Sources */, - 9FB1E1763EFA334CA0C07C4A /* tarstrm.cpp in Sources */, - 2E4747E0736B30569ACD5423 /* textbuf.cpp in Sources */, - 6167245C417A32179EC37D2E /* textfile.cpp in Sources */, - B20B7313102232A4B3E01ABB /* threadinfo.cpp in Sources */, - 98AD7D0478BA36249B03C624 /* time.cpp in Sources */, - 7FC3D17B3C853FE58841002E /* timercmn.cpp in Sources */, - 729091CC33C73C989B4E071A /* timerimpl.cpp in Sources */, - BF8C33B7CB3A3ECE814A95FC /* tokenzr.cpp in Sources */, - ABCD15C4AB37396EA17B7B29 /* translation.cpp in Sources */, - 087FF6DE223A32509692F39C /* txtstrm.cpp in Sources */, - DAAFBED07FF8365B96D20B9A /* unichar.cpp in Sources */, - 2E8440A2BDD53BE7B01547C3 /* uri.cpp in Sources */, - C425A172B0AB3EBD9AC9A591 /* ustring.cpp in Sources */, - 65E8A5F333D7336C816F0D0D /* variant.cpp in Sources */, - E53AFF04877D34C386D77381 /* wfstream.cpp in Sources */, - 319EA32592DA3C74B86DDE00 /* wxcrt.cpp in Sources */, - A2473402D8B83628B1F6674A /* wxprintf.cpp in Sources */, - BA7B12396B873FDA8F3A2749 /* xlocale.cpp in Sources */, - C5419BC04D6234B5A8307B82 /* xti.cpp in Sources */, - 52C0984A2A4F31BC885519B1 /* xtistrm.cpp in Sources */, - CA155860CE9A3A8189C3A4C3 /* zipstrm.cpp in Sources */, - 014AF0BAB1783A5D9D75A7EE /* zstream.cpp in Sources */, - A93D0E6F0871368EA8FC9FFA /* fswatchercmn.cpp in Sources */, - E49F0D43B5A63EF1A57A7113 /* fswatcherg.cpp in Sources */, - 4657E7382E9E3EDC8DE2401F /* mimetype.cpp in Sources */, - 1DBDF75500D73A3098015E80 /* cfstring.cpp in Sources */, - 9FBC642677C63D01AA2511BD /* evtloop_cf.cpp in Sources */, - AAAB5DF8E60736D88273DCFF /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A005 /* utilsexc_base.cpp in Sources */, - D36E76A4CAF5352D9397E200 /* fdiodispatcher.cpp in Sources */, - D3FB75C8E3A73AE38EE8A6F7 /* selectdispatcher.cpp in Sources */, - BAAB6B1D80A33843A8436B11 /* appunix.cpp in Sources */, - 403FBA20CEFE3EAFB4E6B906 /* dir.cpp in Sources */, - 20BEEFFA08F3396791596871 /* dlunix.cpp in Sources */, - CBBD7B32DB7B3E24AE745D79 /* epolldispatcher.cpp in Sources */, - D18E2985C48733B2B7B3D443 /* evtloopunix.cpp in Sources */, - 3D22FC202D903007AEE3D165 /* fdiounix.cpp in Sources */, - 4B88254FF9963833A276A64D /* snglinst.cpp in Sources */, - 5F78DB0417BF3CE1B4E35C80 /* stackwalk.cpp in Sources */, - 2F35A207C3993DE08E4FE0B1 /* timerunx.cpp in Sources */, - F5D2146C94E733FAAB6D286B /* threadpsx.cpp in Sources */, - B5C7FD8C27F43F3289A77FCA /* utilsunx.cpp in Sources */, - F9C5EAC42CCF3267B4100BAF /* wakeuppipe.cpp in Sources */, - FF7DB2884F6E3C5DB4BDF61E /* fswatcher_kqueue.cpp in Sources */, - 830A61EA04FD367C9EB6A758 /* fswatcher_fsevents.cpp in Sources */, - 55D893FDD00633FEA82ABD82 /* event.cpp in Sources */, - 131B879180AE3FB481F81CC8 /* fs_mem.cpp in Sources */, - 05814571E7A83F5DBFB6E4C5 /* msgout.cpp in Sources */, - 80665EEAE8613DF8A93A7985 /* utilscmn.cpp in Sources */, - 2A54BBF33C1E39FE8AF805D7 /* utils.cpp in Sources */, - 9513691C6A943A41B4184644 /* uma.cpp in Sources */, - E8F0C87119C63E8E81423A7D /* stdpaths.cpp in Sources */, - 13250B531B1B3F9998C59DAA /* stdpaths_cf.cpp in Sources */, - F4C0CEADEDC23610BF6983D7 /* artmac.cpp in Sources */, - 296692A7A3783E3A83D005C7 /* brush.cpp in Sources */, - 86AED49CEAFC3637B1F10538 /* dialog_osx.cpp in Sources */, - DC6B669C9A78398F914AEE54 /* fontutil.cpp in Sources */, - 1EDED99760B23A1999E75C13 /* imaglist.cpp in Sources */, - C1CDD035AA393ACC9E202C04 /* minifram.cpp in Sources */, - 4269B85FDC5639BEB76A8AEC /* nonownedwnd_osx.cpp in Sources */, - AC91349D7F0E37739B1F5166 /* palette.cpp in Sources */, - 2480859662ED399799E120A6 /* pen.cpp in Sources */, - 0E024D145DDD38ACAE68F463 /* toplevel_osx.cpp in Sources */, - 02BB539E2AD63C078DA776B1 /* uiaction_osx.cpp in Sources */, - 052331773CF6362C9A6CF38F /* utils_osx.cpp in Sources */, - CB2E99E8FB7D3269A333A55F /* window_osx.cpp in Sources */, - 03BF1610E2FC3BD5ACB754F1 /* bitmap.cpp in Sources */, - FF50EC0EC5F23DF890C6E960 /* colour.cpp in Sources */, - BD2B17EB72E73A6EB6E0B270 /* dcmemory.cpp in Sources */, - F1F484DD591337399FCD0464 /* display.cpp in Sources */, - 371809DA4AD1382F8B532879 /* fontenum.cpp in Sources */, - 86BE5213D3F131D8A686267A /* hid.cpp in Sources */, - AB58406CEBA13BC4A2A83B67 /* printmac.cpp in Sources */, - 91BDA5B04CF33C9AB7358B8B /* timer.cpp in Sources */, - C2D45B334BE03F6C941CA042 /* utilsexc_cf.cpp in Sources */, - A92439BAFD3A30A29DD93132 /* apptraits.cpp in Sources */, - E82CB89681FF3747B6A94428 /* anybutton_osx.cpp in Sources */, - 49FE0228D8FD3F7AB64A4433 /* bmpbuttn_osx.cpp in Sources */, - 6AC347D2DCC730149A0A83D9 /* button_osx.cpp in Sources */, - 0E92CEF677AA32C9A8CDA0A8 /* checkbox_osx.cpp in Sources */, - 07412469921A3E488A2F9BA7 /* checklst_osx.cpp in Sources */, - 4666CDC48BA9301EA283C000 /* choice_osx.cpp in Sources */, - 0836590D35FE37988DE70443 /* combobox_osx.cpp in Sources */, - 2DF74933A90E34129F1BEF73 /* dnd_osx.cpp in Sources */, - 0FFFFA2F762B3160955D1D89 /* gauge_osx.cpp in Sources */, - E4B826CE70283D999CB591F4 /* listbox_osx.cpp in Sources */, - B198DA8239E9358A9D56B989 /* menu_osx.cpp in Sources */, - 1DF3A4F85FCB3BA79A552F3E /* menuitem_osx.cpp in Sources */, - A3321FE2A87D3BD69E0BB00A /* notebook_osx.cpp in Sources */, - 0C9A379D97B133FA831175A8 /* printdlg_osx.cpp in Sources */, - B1775EF7C72233408044034C /* radiobox_osx.cpp in Sources */, - 6A081BF19747385CB4C18780 /* radiobut_osx.cpp in Sources */, - DF8CE011EAC23F73BDA1C44E /* scrolbar_osx.cpp in Sources */, - 27E73CA5C35A30CE89946ECB /* slider_osx.cpp in Sources */, - 00F1531404F832C6AE0748F3 /* spinbutt_osx.cpp in Sources */, - 91EA325FCE3A3A6A8D1D21A6 /* srchctrl_osx.cpp in Sources */, - 221DC4F6678A3EC5ACDDEA50 /* statbox_osx.cpp in Sources */, - 91BC7802C15337CDA84C3743 /* statline_osx.cpp in Sources */, - 283C3ABE42433244983C27C2 /* stattext_osx.cpp in Sources */, - B6891F848CA0325EAB6D1374 /* textentry_osx.cpp in Sources */, - EDCA35F1555F3509895CCA6A /* textctrl_osx.cpp in Sources */, - 664A54F914443110B7BB6929 /* tglbtn_osx.cpp in Sources */, - A569A33A2097316D8110C2C2 /* toolbar_osx.cpp in Sources */, - 0AEBA7389E223781A7A257A2 /* webkit.mm in Sources */, - F5FF98C231B33E3EB7902C65 /* colordlgosx.mm in Sources */, - 2386B575BC3931D2AF86CB34 /* fontdlgosx.mm in Sources */, - 2EECB3C2F9523D0B95847A80 /* accel.cpp in Sources */, - 7F77E347E1243D77A666FB44 /* clipbrd.cpp in Sources */, - 5417332FE2DB3CD3A647B15E /* cursor.cpp in Sources */, - D66F5D4D204B3B789C7F76BA /* fontdlg.cpp in Sources */, - 692FCCABFB963696AFC1E123 /* gdiobj.cpp in Sources */, - 01D4C5F2147F3942A7CE91AB /* icon.cpp in Sources */, - B0E94A59C83637C09FAAE71D /* app.cpp in Sources */, - BB31D65BA1253A1CB64CE9D3 /* combobox.cpp in Sources */, - EB52C6A915943813932944FF /* control.cpp in Sources */, - 45AB45C6B24A3983B22E56A6 /* dataobj.cpp in Sources */, - D088E7DDE38C31DC9C9B3418 /* dcclient.cpp in Sources */, - 182DFDBB58653FD9863D4177 /* dcprint.cpp in Sources */, - AAC2CB4D851230008AE4ABA2 /* dcscreen.cpp in Sources */, - 774EB9F3F7E93A379E1F7552 /* graphics.cpp in Sources */, - 5792675690843C6AA4125A73 /* font.cpp in Sources */, - BDAB44F5D017395D9D3A1F24 /* frame.cpp in Sources */, - 27E2EABB117334CD89CFD2A5 /* mdi.cpp in Sources */, - 73AA68AB9F1236ED9F1FBB2F /* metafile.cpp in Sources */, - CD2A9111B8A83AFA8B5B97E6 /* overlay.cpp in Sources */, - 805CCAE64D023561AD334B54 /* popupwin.cpp in Sources */, - 6832385DDBB33D1B90C73CBB /* renderer.cpp in Sources */, - F6A1AC5CF84E32C19F91A615 /* statbrma.cpp in Sources */, - D070C3BE95483FE38BABA1BF /* region.cpp in Sources */, - 07158EBC05A637ECA9DC7B50 /* utilscocoa.mm in Sources */, - 7E6C627A325F32FFB2EF9B9F /* caret.cpp in Sources */, - FB8B6E4789A3311A98C5B0A9 /* clrpickerg.cpp in Sources */, - 4442EA28B0B3373B9A2D0863 /* collheaderctrlg.cpp in Sources */, - 7569F0BC3C603EB191680890 /* collpaneg.cpp in Sources */, - BBAABF3C693E37D3B0FF2503 /* colrdlgg.cpp in Sources */, - F70156C3E68B38FCB72FE254 /* dirdlgg.cpp in Sources */, - E1F7C51F411B3AF39476E489 /* fdrepdlg.cpp in Sources */, - A965348C7FA73CEC90C8FA26 /* filedlgg.cpp in Sources */, - FD1F6CD8286D3D428FD52A29 /* filepickerg.cpp in Sources */, - 16A382A265DE32FABC318F70 /* fontdlgg.cpp in Sources */, - BEAC2449AFA7304989BA301F /* fontpickerg.cpp in Sources */, - C3AC94EA13C1352790BF5FF8 /* listctrl.cpp in Sources */, - C005C2D547E735E9B081658F /* prntdlgg.cpp in Sources */, - A1AF8FF873D6383996995ED0 /* statusbr.cpp in Sources */, - 2E059BFE8E3B3D9299D5596A /* textmeasure.cpp in Sources */, - 99C3EE31DC1B3ADAAC8E5DA3 /* anybutton.cpp in Sources */, - 33B16442F6AF3233BD533109 /* bmpbuttn.cpp in Sources */, - CBD152BCD11634B7BBB8AA8D /* button.cpp in Sources */, - 3C92143CC3173F659CE40DC4 /* checkbox.cpp in Sources */, - CF172B12EEA53811BE649522 /* choice.cpp in Sources */, - 241A346E77E131918C6DE9BA /* colordlg.cpp in Sources */, - 287A6D1B6AA030AAB7C057F8 /* dialog.cpp in Sources */, - D50FA9ECB16933C39A520D89 /* dirdlg.cpp in Sources */, - B4CE55324C62369CBB823B69 /* dnd.cpp in Sources */, - D1D7B594A0DB3781951C7683 /* evtloop.cpp in Sources */, - F1E8E4D6D8453F7382E64980 /* filedlg.cpp in Sources */, - 63C8D23DD8AB32FE906B669C /* gauge.cpp in Sources */, - 55E03D705E9C39EFA3EE3E26 /* listbox.cpp in Sources */, - 2CD89A08C7ED3D35A0FBD894 /* listctrl_mac.cpp in Sources */, - D2BCC29BB1353C6ABC7D4DDF /* menu.cpp in Sources */, - 157C8DA2E272399B9380991B /* menuitem.cpp in Sources */, - 7A3976A4AF7836048B31F7DF /* msgdlg.cpp in Sources */, - 774A6D1CA57235AD9ECD5D15 /* nonownedwnd.cpp in Sources */, - 164CF6AA59B135E68239E8F9 /* notebmac.cpp in Sources */, - B5587C93D4D3333FA81D08A3 /* printdlg.cpp in Sources */, - 96A6458C826732348D2872C6 /* radiobut.cpp in Sources */, - D594C725CA08333B83C214C3 /* scrolbar.cpp in Sources */, - 006841D4ADA6384B9A8886CF /* slider.cpp in Sources */, - 69A19836B4DC39918A74B12D /* spinbutt.cpp in Sources */, - 57DDBAE7E4413A3C9DCC9EE4 /* srchctrl.cpp in Sources */, - F04F796823753478BCC9EB70 /* statbmp.cpp in Sources */, - 6EC32E5F03DF3EC9852474E0 /* statbox.cpp in Sources */, - 66ED6552F94F3770BB934E30 /* statlmac.cpp in Sources */, - 77764368190938E6A4000AE2 /* stattext.cpp in Sources */, - 90AB8293DB663C508BAEF656 /* textctrl.cpp in Sources */, - F0290CF0258A30478FED38A3 /* tglbtn.cpp in Sources */, - EA02FA6D3B003F8F8A2963C7 /* toolbar.cpp in Sources */, - 80C6D10D9A6F300995396961 /* tooltip.cpp in Sources */, - 16D334945B1E30AFB80B356D /* window.cpp in Sources */, - 437519A6002A3A0FB2C9A8FD /* settings.cpp in Sources */, - 3CDE2B6BF88D326189F069BE /* accelcmn.cpp in Sources */, - BDB8EF0E0DA03693BFB77EF8 /* accesscmn.cpp in Sources */, - 205520440CD13C0AB9E8915A /* anidecod.cpp in Sources */, - 353B584AD0C03919A57A3049 /* affinematrix2d.cpp in Sources */, - DDC71B80D562303690FDBE4D /* appcmn.cpp in Sources */, - EE0EA850822E35F596B5EBBB /* artprov.cpp in Sources */, - A283187810EB32DAA173BD34 /* artstd.cpp in Sources */, - 75DCE6FF00E93C5D93970843 /* arttango.cpp in Sources */, - 1749412E53B9311DABA71DDD /* bmpbase.cpp in Sources */, - 3ACCC2EB8E973C11835EB598 /* bmpbtncmn.cpp in Sources */, - A5775D87FD713CBB930A783F /* bookctrl.cpp in Sources */, - C3A63D7091913CD39094AE0C /* btncmn.cpp in Sources */, - FBA19C939E1E33EDB05043FF /* cairo.cpp in Sources */, - 427E6AF88CF73D799206E37E /* checkboxcmn.cpp in Sources */, - 37749AC3468836FC857BD0D6 /* checklstcmn.cpp in Sources */, - C0CDA289E9EC3E20BE70B2E7 /* choiccmn.cpp in Sources */, - DFEB8DA3D42734949CB1E1AB /* clipcmn.cpp in Sources */, - 9D4B67A357D23B5283CA8D99 /* clrpickercmn.cpp in Sources */, - EBF2D44758003221A22202BD /* colourcmn.cpp in Sources */, - 335DD610974A33D4B6581E2B /* colourdata.cpp in Sources */, - D542C7819D593112AE5F7C3E /* combocmn.cpp in Sources */, - 6F0605F3A4E83BF0BF4C8B7F /* cmdproc.cpp in Sources */, - 20F10669703137E68318C6FE /* cmndata.cpp in Sources */, - 6FA47EAACE613B039B6EC262 /* containr.cpp in Sources */, - 0C485288EA86379D9FD66537 /* cshelp.cpp in Sources */, - 25656617A56D342AA3D1BFE3 /* ctrlcmn.cpp in Sources */, - BF1760458996391E8EB4294A /* ctrlsub.cpp in Sources */, - 2D60F289103837EA8925E3F2 /* dcbase.cpp in Sources */, - 39D6435B10073B85A499AFD9 /* dcbufcmn.cpp in Sources */, - 9564A6968D66325DAEADEBA4 /* dcgraph.cpp in Sources */, - B791BD05072B3B909A7093C3 /* dcsvg.cpp in Sources */, - B559E894684A38238CAAA116 /* dirctrlcmn.cpp in Sources */, - 63F0C8EEDF4B3641878A8B4E /* dlgcmn.cpp in Sources */, - B839235BED6F3609BDB732B9 /* dndcmn.cpp in Sources */, - 2CCC30C0162131DBBE9D8028 /* dobjcmn.cpp in Sources */, - F0B3F484C38C3BA0B9927CDA /* docmdi.cpp in Sources */, - B1E30CF6CFA932F5A3DBA950 /* docview.cpp in Sources */, - F80C2290D67B345F9CF60086 /* dpycmn.cpp in Sources */, - 6BF19C7CA9E93D989C210FE4 /* dseldlg.cpp in Sources */, - 447FEC72F3C234378CE28DE8 /* effects.cpp in Sources */, - C2E37E798F743A4199C8658F /* fddlgcmn.cpp in Sources */, - 37715483D08335B790FFE059 /* filectrlcmn.cpp in Sources */, - 0730A107A2B935A9923C8EF3 /* filehistorycmn.cpp in Sources */, - 9881E3FB23ED3283B6CC71A3 /* filepickercmn.cpp in Sources */, - 064908348009398C8EA8497D /* fontpickercmn.cpp in Sources */, - 1E166FC1A7B3371FB038B173 /* fldlgcmn.cpp in Sources */, - F747991E5C973F9B8C9D800B /* fontcmn.cpp in Sources */, - 1E2AB43075973AE59A8D89C2 /* fontdata.cpp in Sources */, - F910C74E48823E0BA7F7885E /* graphicc.cpp in Sources */, - F1E4D7CA634E33808AE3B523 /* fontenumcmn.cpp in Sources */, - D5AABE973F3A351EB1C1A5A7 /* fontmap.cpp in Sources */, - 60706F8836A130A2AF282FE2 /* fontutilcmn.cpp in Sources */, - EDD5725CF41336EFA7FB300A /* framecmn.cpp in Sources */, - EAA469E1A0CC33E4A21A3F7B /* gaugecmn.cpp in Sources */, - 5A8638C234133824BDF93BC0 /* gbsizer.cpp in Sources */, - 0E60E17BA4B23347A4F20161 /* gdicmn.cpp in Sources */, - 95AD56D602CF3C5085602AF9 /* geometry.cpp in Sources */, - 758629DA468A3EF7B1C15242 /* gifdecod.cpp in Sources */, - 7B642B17F5D23F4F8ED38BB5 /* graphcmn.cpp in Sources */, - B8FEEC2C94183AB69C963178 /* headercolcmn.cpp in Sources */, - 383A6993E90936D39A5F12BE /* headerctrlcmn.cpp in Sources */, - 4657479AF35533AEB7876677 /* helpbase.cpp in Sources */, - BF2585CFA6853023975F1E79 /* iconbndl.cpp in Sources */, - 5B5B8DF915D438AA9FCEB39F /* imagall.cpp in Sources */, - 0813551C951A3AD1A5EF01B3 /* imagbmp.cpp in Sources */, - 6C822F7F313734DCB51F44BA /* image.cpp in Sources */, - 89046455F49D3D75A21C9DB9 /* imagfill.cpp in Sources */, - 36DB80FD5B153E9099DB6913 /* imaggif.cpp in Sources */, - 9110ACFC3CFB3C7994E907B1 /* imagiff.cpp in Sources */, - D13596A4E3CD31DE810061A2 /* imagjpeg.cpp in Sources */, - D83B32B788EC310D919E0DF8 /* imagpcx.cpp in Sources */, - 23965E313EDC3BBE9B2FA1C6 /* imagpng.cpp in Sources */, - 46E331300D8F349DB36AB50B /* imagpnm.cpp in Sources */, - AAABEE399008310A8BC9BE44 /* imagtga.cpp in Sources */, - 3C36437B2E933F83984D431F /* imagtiff.cpp in Sources */, - 774A89998E09308CBFB03EE1 /* imagxpm.cpp in Sources */, - 63F2517EC6B2334CA825A6FA /* layout.cpp in Sources */, - CFF73578F04D357E83D1D831 /* lboxcmn.cpp in Sources */, - 164010B26D363F5FA09785B7 /* listctrlcmn.cpp in Sources */, - 2F7F5B9BBCD83D90B237A1A1 /* markupparser.cpp in Sources */, - 9A83D365AD1F37FA9C7030C3 /* matrix.cpp in Sources */, - E3A4615870B139D29FE727C2 /* menucmn.cpp in Sources */, - 171F09F8DD553FA5B4B3FAE3 /* modalhook.cpp in Sources */, - BD49EC50CB363642BDBF25C9 /* mousemanager.cpp in Sources */, - 7A84B9471A3238B4B66B1777 /* nbkbase.cpp in Sources */, - AC6AC589EFB233C7B65A3225 /* overlaycmn.cpp in Sources */, - D6B2A64A78AF3F2983B441A9 /* ownerdrwcmn.cpp in Sources */, - 0742292656623EC481B3436A /* paper.cpp in Sources */, - E2A73751CECF32A68FFAEE83 /* panelcmn.cpp in Sources */, - 4279D39CAAF834F6A5B99197 /* persist.cpp in Sources */, - AF1E3338E892336E924AF632 /* pickerbase.cpp in Sources */, - 6E68759BC2E63CA59C12FDC1 /* popupcmn.cpp in Sources */, - 6292B023DBF4337A91404AD1 /* preferencescmn.cpp in Sources */, - 1C52CB9487DF3AB9AF243B48 /* prntbase.cpp in Sources */, - 0B98B6721DEE37A1ADEA382C /* quantize.cpp in Sources */, - AE5286C71D1130EAA368A1C5 /* radiobtncmn.cpp in Sources */, - AEB9099819B33F4A8AAB9F55 /* radiocmn.cpp in Sources */, - 5116CE330E333724A66982E4 /* rearrangectrl.cpp in Sources */, - A9864F0104FA344BBE79D3BD /* rendcmn.cpp in Sources */, - A80D00249A693F43A9CBE778 /* rgncmn.cpp in Sources */, - C259D01CC62533D296EF023B /* scrolbarcmn.cpp in Sources */, - 7625D908B2CD34C78243BA90 /* settcmn.cpp in Sources */, - F5D0BCF1A6C839E5829199E3 /* sizer.cpp in Sources */, - EDD92822EBD93E86AE5A2ED1 /* slidercmn.cpp in Sources */, - F46777ABE0743B04A1E1F0A5 /* spinbtncmn.cpp in Sources */, - 49C873EE448C3CD9A32012CE /* spinctrlcmn.cpp in Sources */, - 1EA81A0E8E5A3B38B4D80338 /* srchcmn.cpp in Sources */, - 4AEC67BF65B039D99F421667 /* statbar.cpp in Sources */, - 7C52E7CC12463941B0E4D403 /* statbmpcmn.cpp in Sources */, - D9DCBE799DB634C2A73FD6BE /* statboxcmn.cpp in Sources */, - 8B38C6C416BA3A51B37F60C5 /* statlinecmn.cpp in Sources */, - D9EE059D3C3C3C13AE4419F2 /* stattextcmn.cpp in Sources */, - BAFF04F1680F32DA988EB03E /* stockitem.cpp in Sources */, - 4958BD2E717A3F03AB030189 /* tbarbase.cpp in Sources */, - 9744994E8A813AA6938A7CE3 /* textcmn.cpp in Sources */, - AD4A533C4E1633598A6D5C70 /* textentrycmn.cpp in Sources */, - 23479484EC143D34871550C2 /* textmeasurecmn.cpp in Sources */, - 700BBDECBE313E108BA99ABE /* toplvcmn.cpp in Sources */, - 45FE206BBAD13DDCA1EA41D0 /* treebase.cpp in Sources */, - 796311E398FF313C84218825 /* uiactioncmn.cpp in Sources */, - E9EDB5C92D5D3B529E8D73B1 /* valgen.cpp in Sources */, - 9F70A89D00B03D4894AF7639 /* validate.cpp in Sources */, - 1937FBA0A0DD32A8A743CFE2 /* valtext.cpp in Sources */, - 6A032420671B375D81273715 /* valnum.cpp in Sources */, - A2769D1659AE3CA3B58C2CAF /* wincmn.cpp in Sources */, - 1BCC944F5E0936F5830F03E9 /* windowid.cpp in Sources */, - 3399AB7BB1333B5AAF5FAF56 /* wrapsizer.cpp in Sources */, - C1E5799141603A75A26BEEA8 /* xpmdecod.cpp in Sources */, - F5806029B1BA3924A8FDDBC2 /* busyinfo.cpp in Sources */, - CB078622E90F33BE9D131132 /* buttonbar.cpp in Sources */, - 03035C5CE4BC3288A5A18425 /* choicdgg.cpp in Sources */, - 9CA687845B3F30CCA44A89D1 /* choicbkg.cpp in Sources */, - 9C1F073349FD393E9220C0D4 /* combog.cpp in Sources */, - EAE02BA934B43EEE92C496C8 /* dcpsg.cpp in Sources */, - 22AE900003F73134BBEE8BB7 /* dirctrlg.cpp in Sources */, - 4040AE89BF9F34668091064B /* dragimgg.cpp in Sources */, - 7EF89F935314301381802FAC /* filectrlg.cpp in Sources */, - 7D615329368D32709CEF4B59 /* headerctrlg.cpp in Sources */, - 2C95DFA8EE463487956B4EB5 /* infobar.cpp in Sources */, - 02E8F1195B653D26AAA89463 /* listbkg.cpp in Sources */, - 026F90F7492C316A94128917 /* logg.cpp in Sources */, - 633DD2E870263F42A8DBF9C0 /* markuptext.cpp in Sources */, - 745C39E90E8C3C08A887B51D /* msgdlgg.cpp in Sources */, - 1AF2B2346C9639DAA4D15F31 /* numdlgg.cpp in Sources */, - 4D0BA8B9F72C3C31BC170CE3 /* progdlgg.cpp in Sources */, - A1A7B833061C35B4AABD093D /* preferencesg.cpp in Sources */, - DEB35F871F8E3B90AD207AEF /* printps.cpp in Sources */, - 96927C5A21FD3ACF936CDF6D /* renderg.cpp in Sources */, - F72020415D713C1BA41C17D0 /* richmsgdlgg.cpp in Sources */, - ED8D23D79FF33ED380FE09EC /* scrlwing.cpp in Sources */, - 85F9828B80B03178A274BD18 /* selstore.cpp in Sources */, - 84997126352137E798CD258B /* spinctlg.cpp in Sources */, - 62F1DC80D631335B892610A9 /* splitter.cpp in Sources */, - B6C364CB4AE33708A862B4B5 /* srchctlg.cpp in Sources */, - 8FC1C07FEE793897A1E96D24 /* statbmpg.cpp in Sources */, - BF9B151DC0543E37878F8B9B /* stattextg.cpp in Sources */, - 62757F24C4EE3B84B6AE3F15 /* textdlgg.cpp in Sources */, - 249C9177B1A33EFEAB30F940 /* tipwin.cpp in Sources */, - 32FECED7A7633C4D8C1BFBB4 /* toolbkg.cpp in Sources */, - DB3C3AA956A03FB492480267 /* treectlg.cpp in Sources */, - 5388468A6F8F3141B25CD401 /* treebkg.cpp in Sources */, - 87C67583D36C3465ACD64104 /* vlbox.cpp in Sources */, - A465A43B756630F1944B5A57 /* vscroll.cpp in Sources */, - 1CBF34ACA39330028A5EA9AD /* xmlreshandler.cpp in Sources */, - 567A32722BA33AEE9FF93D7D /* fs_inet.cpp in Sources */, - 65514CD6A9F23ED98436AC03 /* ftp.cpp in Sources */, - B84642DA949638A189032CE7 /* http.cpp in Sources */, - 6CA1BAEBBDB4336E9E201F96 /* protocol.cpp in Sources */, - E39021D3CDCD33BAA646B007 /* sckaddr.cpp in Sources */, - 9F608A33D52D327FAA295625 /* sckfile.cpp in Sources */, - BCD81FD3D1EC305F801E1C1C /* sckipc.cpp in Sources */, - A3A898DA3114311EB7F02228 /* sckstrm.cpp in Sources */, - 6978D7A20DA93A329DDD1384 /* socket.cpp in Sources */, - E7140F3AB94D3FDFA86D8C07 /* url.cpp in Sources */, - 652CFDD9A1C1366E99B5D6BD /* socketiohandler.cpp in Sources */, - 346D274E17673A01B0177D5C /* sockunix.cpp in Sources */, - AD07124BBA613B47829F0693 /* sockosx.cpp in Sources */, - CFDBB80A4C9A3BA092273937 /* animatecmn.cpp in Sources */, - 5C44446AB150378696CD6B3D /* bmpcboxcmn.cpp in Sources */, - 901F659891613419B8643953 /* calctrlcmn.cpp in Sources */, - 1CD4F67F48CF3A5FA477D86F /* datavcmn.cpp in Sources */, - 2FAE979E6FE23D088C768B7E /* gridcmn.cpp in Sources */, - 7B4DA2F5F25B3E188CBAFE39 /* hyperlnkcmn.cpp in Sources */, - E6D18B2EDE353F67883085A0 /* odcombocmn.cpp in Sources */, - 2FE10EA678C73523836FCC1D /* richtooltipcmn.cpp in Sources */, - FEA741A9B6663A4C929893C3 /* aboutdlgg.cpp in Sources */, - E0FAB345D2933D42B62917A4 /* bannerwindow.cpp in Sources */, - B189DB62AE9F30A1B613756C /* bmpcboxg.cpp in Sources */, - 2F50DBC14FE538A49823925B /* calctrlg.cpp in Sources */, - 8A662992FFCB32E99D11950D /* commandlinkbuttong.cpp in Sources */, - 8B60964DA1DF3F3DB40BE124 /* datavgen.cpp in Sources */, - B4425B59CC27389CA9FF81D2 /* datectlg.cpp in Sources */, - 5557AA36FBCC3ED9A5F5751B /* editlbox.cpp in Sources */, - A139B846584436BCBEBAE3C0 /* grid.cpp in Sources */, - 2E930206397C3EDCBD8206FD /* gridctrl.cpp in Sources */, - E5D698D2606A304DA743AF93 /* grideditors.cpp in Sources */, - 187F921A95DA3594B0AD980E /* gridsel.cpp in Sources */, - F016C51053373E658ED4C9AA /* helpext.cpp in Sources */, - 760C729E41D93CC1AA2B4E0E /* hyperlinkg.cpp in Sources */, - 955D2199F1893D37BA2D7479 /* laywin.cpp in Sources */, - CEE0D7A7D5D8323B9957A781 /* notifmsgg.cpp in Sources */, - 1E17F95DD433379E8C18298D /* odcombo.cpp in Sources */, - 6A10511265493FA2BB79CE4E /* propdlg.cpp in Sources */, - C67EAE20657E36839BF86691 /* richtooltipg.cpp in Sources */, - 3554C88010CE3D2A8970A136 /* sashwin.cpp in Sources */, - 8AA341CCFB8E3F6AB3523596 /* splash.cpp in Sources */, - 98F52D5224B438DFA8887E07 /* timectrlg.cpp in Sources */, - 77BC918AF05C30E8A0BD27F9 /* tipdlg.cpp in Sources */, - 060E095718B03EF98C75479A /* treelist.cpp in Sources */, - 82FA4AA043213728AC266701 /* wizard.cpp in Sources */, - EC3D181D65F33E09A675FFF3 /* addremovectrl.cpp in Sources */, - D00AF125FCB63A7A8F9B87DF /* taskbarcmn.cpp in Sources */, - 46F341B46F80376B962759F6 /* animateg.cpp in Sources */, - 8E220BCD39B336A495E775BE /* aboutdlg.cpp in Sources */, - 3902517F9ED03648B5A4B96B /* drawer.cpp in Sources */, - 0723C4E8B52C39FDBC2158B7 /* dataview_osx.cpp in Sources */, - A59667064DED3BD48F29686D /* dataview.cpp in Sources */, - CE2C937117FE3AB599DD30BA /* sound_osx.cpp in Sources */, - 61FEDBF2D47A3B4E861F8297 /* sound.cpp in Sources */, - 5568A53DA84E3B498D606507 /* taskbar.cpp in Sources */, - C1DCF69200593986A8C606A7 /* hidjoystick.cpp in Sources */, - 929B053AC2B2355CAF7EBA83 /* activityindicator.cpp in Sources */, - 2DBF5F96CCC63F7481C26A44 /* webview_webkit.mm in Sources */, - 64A716F87A5136F9A790EC5B /* webview.cpp in Sources */, - 5C5D0983160A36189A770743 /* webviewarchivehandler.cpp in Sources */, - 048986FB629E313EA670CD0D /* webviewfshandler.cpp in Sources */, - DEC5F4B34BC037169D3E5F2B /* mediactrlcmn.cpp in Sources */, - 94389E029E27343EB69C8B7A /* mediactrl.cpp in Sources */, - 47EBBB18BDB539C2A948C712 /* chm.cpp in Sources */, - BAA75384DA82370298672334 /* helpctrl.cpp in Sources */, - 2CAD4DF9505F36E4A2EAD53E /* helpdata.cpp in Sources */, - D17E3053DA0D3F7EA4D0951C /* helpdlg.cpp in Sources */, - 7C87CC7641033D91823ED689 /* helpfrm.cpp in Sources */, - 3D762A0BBF1B39B88A769633 /* helpwnd.cpp in Sources */, - 4DA209AEF4AD32AAB97F9719 /* htmlcell.cpp in Sources */, - FD3CC5F0AA41384B9388A1E1 /* htmlfilt.cpp in Sources */, - C5E5AB869065307F83E27DD2 /* htmlpars.cpp in Sources */, - EBA0986930DA3B59B2FB4F1F /* htmltag.cpp in Sources */, - 93E04642049537EB8A37BA27 /* htmlwin.cpp in Sources */, - 3E99016BDE043A08B4D6B3CF /* htmprint.cpp in Sources */, - 9836B3D336963795928FE5A2 /* m_dflist.cpp in Sources */, - 66584BC871303041BA622DE1 /* m_fonts.cpp in Sources */, - 99F7D7BFBB543A04AB728376 /* m_hline.cpp in Sources */, - A3586433C4B1398FB1C361D7 /* m_image.cpp in Sources */, - BD53E095EC1136EF853A47D9 /* m_layout.cpp in Sources */, - C05BDB0B5F5A33A9A57FF013 /* m_links.cpp in Sources */, - 81B742D64BEB373DB705947B /* m_list.cpp in Sources */, - FD38B04026F930CC80BC9481 /* m_pre.cpp in Sources */, - 57AE7FCF768F3965BD39B47B /* m_span.cpp in Sources */, - 4CFB7E6E5BD53E2BB39BEF64 /* m_style.cpp in Sources */, - 3D424F4B33653A00AE9B623B /* m_tables.cpp in Sources */, - F3AC352D6DAE3A12A5664769 /* styleparams.cpp in Sources */, - 2A7640E4210334AC93366901 /* winpars.cpp in Sources */, - 87AA9C5D887B3C31A2AFB49E /* htmllbox.cpp in Sources */, - 8F949B9010863F66A58FFEF2 /* xh_activityindicator.cpp in Sources */, - FBE4DB30865D3177B3A9993C /* xh_animatctrl.cpp in Sources */, - 702616D38A5B345D9CC87115 /* xh_bannerwindow.cpp in Sources */, - 94E510619F433AE3AC884756 /* xh_bmp.cpp in Sources */, - 8966F77CC97B3ED780C8F138 /* xh_bmpcbox.cpp in Sources */, - 84B3625464F732C3A79E1315 /* xh_bmpbt.cpp in Sources */, - D5C304182151365FA9FF8A3E /* xh_bttn.cpp in Sources */, - FE9A662A1F9B34D099C45C1E /* xh_cald.cpp in Sources */, - 6138BCBC8E4438FA91E0EFA0 /* xh_chckb.cpp in Sources */, - 5F2C2A46781739D897CF293E /* xh_chckl.cpp in Sources */, - CE17002B5B7E37558274763A /* xh_choic.cpp in Sources */, - 26E4813A97DE323E88119164 /* xh_choicbk.cpp in Sources */, - E7AF3BF2B3473AD9BE66D1A2 /* xh_clrpicker.cpp in Sources */, - 1AB50C98FF473B33A3CA4D3A /* xh_cmdlinkbn.cpp in Sources */, - E7921B0472B63E4091F4F518 /* xh_collpane.cpp in Sources */, - 84382E5DB3203A73AC5EE391 /* xh_combo.cpp in Sources */, - F569D7A3F0E038E9B4CC2A77 /* xh_comboctrl.cpp in Sources */, - FB09720D13673A7B81BCB646 /* xh_datectrl.cpp in Sources */, - F7D10B6E0CBA32EFAF79C77D /* xh_dirpicker.cpp in Sources */, - 3B7E035ECF3D3FFB9827AC1D /* xh_dlg.cpp in Sources */, - E05B06A7FEEE32D5AD87EA50 /* xh_editlbox.cpp in Sources */, - F24F637D59F637CA9A7E23CA /* xh_filectrl.cpp in Sources */, - 5FE969523BDB3353AEF96811 /* xh_filepicker.cpp in Sources */, - 438EAEA4B30C325C827F6198 /* xh_fontpicker.cpp in Sources */, - 95826E8528CC32D8934C36ED /* xh_frame.cpp in Sources */, - BE99A85EE76236CC8C719A65 /* xh_gauge.cpp in Sources */, - 26649553E4763EE6BA268B7E /* xh_gdctl.cpp in Sources */, - 72AD4417FF7C3094BB1FF62D /* xh_grid.cpp in Sources */, - 83616D33080E3F0F9FA5FBB5 /* xh_html.cpp in Sources */, - 2B13BFC894C63373B7ACFA3E /* xh_hyperlink.cpp in Sources */, - C34B8675439F39B4845FFC51 /* xh_listb.cpp in Sources */, - F5DF7AF0FA9E371BB71EF799 /* xh_listbk.cpp in Sources */, - 96B507455762391688B5E501 /* xh_listc.cpp in Sources */, - F34D240EB4513FE996179183 /* xh_mdi.cpp in Sources */, - 65FCDBFFF3F138A3ABBAA651 /* xh_menu.cpp in Sources */, - 0FBF7C9EDFB53D8DA0991B56 /* xh_notbk.cpp in Sources */, - 0FA6E1E47F123FF4A902E4D3 /* xh_odcombo.cpp in Sources */, - 36B0B923B836358D9DB0AE11 /* xh_panel.cpp in Sources */, - CDC0FF253B503BA19693D68E /* xh_propdlg.cpp in Sources */, - 47F4FC8717AF3A848812DFCD /* xh_radbt.cpp in Sources */, - 7181709A030D3749AB355B75 /* xh_radbx.cpp in Sources */, - FDE14459359334DE9FB03ED6 /* xh_scrol.cpp in Sources */, - 87092C0C817D343DAB77E23F /* xh_scwin.cpp in Sources */, - 00E2F82590B33BDCA1F6D0C5 /* xh_htmllbox.cpp in Sources */, - A39B0D7EB43137F7BA50A35D /* xh_simplebook.cpp in Sources */, - E1A20811148F31D289AF98B0 /* xh_sizer.cpp in Sources */, - 5F6B4F226B473AACB7AC8DF6 /* xh_slidr.cpp in Sources */, - C32EF2EC1A103BC3A6254322 /* xh_spin.cpp in Sources */, - 33ED014A7FF7398794E6E4D0 /* xh_split.cpp in Sources */, - 7C9EAFF4A0223EE597E0E39F /* xh_srchctrl.cpp in Sources */, - 8AB7191F7CB838FC8337C48E /* xh_statbar.cpp in Sources */, - 3D3EA1BAAD1833B1B48E9C87 /* xh_stbmp.cpp in Sources */, - F22C401903993639AE05A296 /* xh_stbox.cpp in Sources */, - BF3D600A93403C589B65C5C0 /* xh_stlin.cpp in Sources */, - 8292D346BFC33D6E8D3CDDC0 /* xh_sttxt.cpp in Sources */, - 0EB6AB38A68D3845AC384A24 /* xh_text.cpp in Sources */, - B181806CC34839E791E54BF1 /* xh_tglbtn.cpp in Sources */, - 89200B144075388BA69A07E3 /* xh_timectrl.cpp in Sources */, - F3CB42BB6D983675862C01F4 /* xh_toolb.cpp in Sources */, - 17F0494F87533196904F5314 /* xh_toolbk.cpp in Sources */, - 3357BD0518F538E9A949F887 /* xh_tree.cpp in Sources */, - 46CE8B53D2663927AAE5DF9E /* xh_treebk.cpp in Sources */, - C5A8DF376BB13A2A8290C2E6 /* xh_unkwn.cpp in Sources */, - 37DD17F479A1371ABF3589BA /* xh_wizrd.cpp in Sources */, - 1710A4BB0E6339558A187F8E /* xmlres.cpp in Sources */, - 867F5D1962383C98A8ADDC3E /* xmladv.cpp in Sources */, - 135DFCE48FC03D8294D01A8A /* xmlrsall.cpp in Sources */, - 50E89226E8D7390D9D21C80A /* debugrpt.cpp in Sources */, - 7C5552FA058034238F485901 /* dbgrptg.cpp in Sources */, - 61FD5E0E28F732E8AB1729F9 /* xml.cpp in Sources */, - 42ED9BAFD6E936849F1D36CC /* xtixml.cpp in Sources */, - EEB0B28903693C7E9D071930 /* glcmn.cpp in Sources */, - E475B8377D7A352C9034229A /* glcanvas.cpp in Sources */, - F2813BF297C73A3ABD02EC99 /* glcanvas_osx.cpp in Sources */, - 36EB5D19429D3BD1A01001D6 /* framemanager.cpp in Sources */, - C7B6240E0E213836996A178C /* dockart.cpp in Sources */, - 15048519756B33959B15B162 /* floatpane.cpp in Sources */, - E104017EE1A4357DAF84E1E7 /* auibook.cpp in Sources */, - 39CC380F801F3EE984523276 /* auibar.cpp in Sources */, - 6C46AF0370793AA0B74A5A4B /* tabmdi.cpp in Sources */, - AC0B0C52922B30188AE95E95 /* tabart.cpp in Sources */, - 0CB8C75E80FC3DC588FA68FF /* xh_auinotbk.cpp in Sources */, - 44C6F11C7D1C399F99CF6BD5 /* xh_auitoolb.cpp in Sources */, - DE43350F6C9D3148A64F0AFA /* art_internal.cpp in Sources */, - 7DC4A542372437ECA0790F88 /* art_msw.cpp in Sources */, - A0BA01A85C303C78A3130712 /* art_aui.cpp in Sources */, - 056CA84179433AA48D55DA66 /* bar.cpp in Sources */, - CB078622E90F33BE9D131134 /* buttonbar.cpp in Sources */, - EB52C6A91594381393294501 /* control.cpp in Sources */, - 5F57C4908E5038D19D68ED7B /* gallery.cpp in Sources */, - 4BAFAE70A6B1313B96D86631 /* page.cpp in Sources */, - F0D892C2618130FEAD46BB87 /* panel.cpp in Sources */, - EA02FA6D3B003F8F8A2963C9 /* toolbar.cpp in Sources */, - 5A459FC1180130C5B705AEDB /* xh_ribbon.cpp in Sources */, - D54A162E557834A48F4646AA /* advprops.cpp in Sources */, - F501AB044AAC39DCB8C0B3E2 /* editors.cpp in Sources */, - 6B9EEA3CF2E536E3B1ADAC43 /* manager.cpp in Sources */, - 46A4CCF128FC3EB092074DC6 /* property.cpp in Sources */, - 26BB10834DA1388881BDD1ED /* propgrid.cpp in Sources */, - BEA90F2C6BB93143958F899B /* propgridiface.cpp in Sources */, - A423177BBC0F3BE5A436B4B8 /* propgridpagestate.cpp in Sources */, - D72D99FC424337CF9EDC2043 /* props.cpp in Sources */, - 9065A4BE3D0433B88CF45572 /* richtextbuffer.cpp in Sources */, - 5C3B0ED2EA973DFDBFBCC693 /* richtextctrl.cpp in Sources */, - 9455B49669853E71BD4FD966 /* richtextformatdlg.cpp in Sources */, - 70F898F8B129380BBECAC55A /* richtexthtml.cpp in Sources */, - F43DAE2E829A3A7493531382 /* richtextimagedlg.cpp in Sources */, - 0FDDE8E193743F3A8CBDC67D /* richtextprint.cpp in Sources */, - FADD46CB89B135D1AF1D5F8B /* richtextstyledlg.cpp in Sources */, - 2563C775427E3D68BD384F30 /* richtextstyles.cpp in Sources */, - 604ABF86317C3D4F899DBF38 /* richtextsymboldlg.cpp in Sources */, - 9058997222493A7A859A4D4D /* richtextxml.cpp in Sources */, - 0BB3BF0909A134BA93CF5621 /* xh_richtext.cpp in Sources */, - E3B3E4F75D503DB89B5C622E /* stc.cpp in Sources */, - 908957F65B7E36F8BF3858DE /* PlatWX.cpp in Sources */, - 3E6AA08E72A030D39D867D4C /* ScintillaWX.cpp in Sources */, - F5B0B26BD0803719A3FCB4D8 /* adler32.c in Sources */, - BE3ED6EF34303867B8C8E924 /* compress.c in Sources */, - AC07BA4EA5403443914DFDB2 /* crc32.c in Sources */, - 8DE45CEAF2DD3C22AA019F75 /* deflate.c in Sources */, - 213CE0DD5B2335D0AD53B54B /* gzclose.c in Sources */, - 0E8A0B8FA40E365690C20231 /* gzlib.c in Sources */, - 4B996B4C54163D7091427DB6 /* gzread.c in Sources */, - 4E2737AC738431EB9898B8B7 /* gzwrite.c in Sources */, - 5EE94793DFCB3BA281A4864F /* infback.c in Sources */, - 10743B74A58231639C6BF611 /* inffast.c in Sources */, - 42AC484FDD7D3E948CEA801D /* inflate.c in Sources */, - 3813146434693234965C4F32 /* inftrees.c in Sources */, - 1CC5AEC6C08E3600801CDADB /* trees.c in Sources */, - 9C6E9E4BA54733EF9F87E4B8 /* uncompr.c in Sources */, - 42260A6F1853361083803B0D /* zutil.c in Sources */, - 99E7A46106C03484BA70D29F /* tif_unix.c in Sources */, - 4E396D8D2E9138D797F320C7 /* tif_aux.c in Sources */, - 1EE845DDFDDE36CA8A218206 /* tif_close.c in Sources */, - 8E674574343A3C009B1BCD01 /* tif_codec.c in Sources */, - D95C5F467D37339AB8DF2355 /* tif_color.c in Sources */, - 6D073876E1753549B5EEFDDB /* tif_compress.c in Sources */, - E3136EF5DD843ACE886E2869 /* tif_dir.c in Sources */, - 7ECC6EE6D5273F75BB6B7B75 /* tif_dirinfo.c in Sources */, - D51B3389209E370489078892 /* tif_dirread.c in Sources */, - E7F35B834A163C67B65176C7 /* tif_dirwrite.c in Sources */, - 2D4D105CA9BE3FA6995A6000 /* tif_dumpmode.c in Sources */, - C2CF6B59914A3183ADE84029 /* tif_error.c in Sources */, - 2315C8692C443ED1AE431729 /* tif_extension.c in Sources */, - FECC98B53C0F3106AB04E69F /* tif_fax3.c in Sources */, - 2C53221A318E37529E6460EC /* tif_fax3sm.c in Sources */, - 522E6CF2A62F34259BCE2DE3 /* tif_flush.c in Sources */, - 6944AC98F6F83E3D983DABD4 /* tif_getimage.c in Sources */, - CB46C7E531903700ADFB11C9 /* tif_jbig.c in Sources */, - 07C769F64665317BA3E1AC91 /* tif_jpeg.c in Sources */, - 09A792A5129E3FE1BF077642 /* tif_jpeg_12.c in Sources */, - 88A43B1C5A7438838DE97B95 /* tif_luv.c in Sources */, - DC928C38CA8331F18FF00BCC /* tif_lzma.c in Sources */, - 779D3480141B3683A6D132BF /* tif_lzw.c in Sources */, - F85D632964383F29BC3B30B7 /* tif_next.c in Sources */, - 64F11C549E3035DF85691061 /* tif_ojpeg.c in Sources */, - 793F542F20AB31F6AF736796 /* tif_open.c in Sources */, - A9A5973552EE30838306D15D /* tif_packbits.c in Sources */, - 64DD406C453D39FEBBE66ED2 /* tif_pixarlog.c in Sources */, - 9A178ED42D96329D8CBF9B8A /* tif_predict.c in Sources */, - C170B941F01334F982315E4B /* tif_print.c in Sources */, - 570FA90F526E3F25A8E8FCF3 /* tif_read.c in Sources */, - 912C69ADB1673ACEB0E6CF09 /* tif_strip.c in Sources */, - 552708E6296D33EBB5F6A494 /* tif_swab.c in Sources */, - 527054445A0D3A00A5C2EC45 /* tif_thunder.c in Sources */, - FEB073547F3F3AC19D31F699 /* tif_tile.c in Sources */, - 096BA201623034AD97218369 /* tif_version.c in Sources */, - 7A79D9AC608E3B8287229175 /* tif_warning.c in Sources */, - F2F2963D8ECC32D39FDBF102 /* tif_write.c in Sources */, - 6E2C2E8AA1713ADE9C33837A /* tif_zip.c in Sources */, - FCE5B139CBE73FCB804EF7DE /* jcomapi.c in Sources */, - 311840186794346AAAA42092 /* jutils.c in Sources */, - DE26572475EE336B8EEA5D93 /* jerror.c in Sources */, - 18A318847EAC37F2B915F082 /* jmemmgr.c in Sources */, - A7692B4D8658347BA16EEB84 /* jmemnobs.c in Sources */, - 894D43C8F224394FB3171F27 /* jcapimin.c in Sources */, - 743BB23211B336A6A0F26E58 /* jcapistd.c in Sources */, - CCE4ECA9CE883B008065C6FC /* jctrans.c in Sources */, - ACD644CFA85A3B70A3E3B119 /* jcparam.c in Sources */, - 76A83A293C9F33BCB7DFDE27 /* jdatadst.c in Sources */, - 86003C8EB906304F9025F789 /* jcinit.c in Sources */, - C6DF6F29407B34F29ED1B66E /* jcmaster.c in Sources */, - DB73248401573A5996D8E68E /* jcmarker.c in Sources */, - 98DF13E96160304EBB905E74 /* jcmainct.c in Sources */, - 32486A808EBC3E088598D51D /* jcprepct.c in Sources */, - CA5BD8ABDBA13641BBE7CD67 /* jccoefct.c in Sources */, - 11DD420E32FB3EFB9DA0AB5C /* jccolor.c in Sources */, - 50D7E093424138C88BB50D28 /* jcsample.c in Sources */, - BDB7B2AD26CB356B8BEAAECE /* jchuff.c in Sources */, - A212431902B8343CA6D229D4 /* jcphuff.c in Sources */, - BFA6983551B4310DA7C8A405 /* jcdctmgr.c in Sources */, - 9B3F9D04FB533D99B58BD51A /* jfdctfst.c in Sources */, - 0948599C4FD53611A09B52AC /* jfdctflt.c in Sources */, - CEC6430AEB6E3200BFA75D08 /* jfdctint.c in Sources */, - 8B9C9FCB954F3596A4CED9A6 /* jdapimin.c in Sources */, - 67EBCE5FA5FF36349ADF0917 /* jdapistd.c in Sources */, - 11818B68C5263EB68D708846 /* jdtrans.c in Sources */, - 4CB3626391CE34D4B1F71AA1 /* jdatasrc.c in Sources */, - CEBAAB0C77983358A601BFFF /* jdmaster.c in Sources */, - 14EF556997B0350F931EBE8F /* jdinput.c in Sources */, - 61C3F7D495FB3E8BA402E4F9 /* jdmarker.c in Sources */, - 28ADE8D385A53445A5451F24 /* jdhuff.c in Sources */, - D0DA11B814AF30A185851230 /* jdphuff.c in Sources */, - 9FD99E06F6613A1A958FAF6C /* jdmainct.c in Sources */, - B5470121BB4B35DE9C4836DB /* jdcoefct.c in Sources */, - E7D02E64384F37BC8939A2C5 /* jdpostct.c in Sources */, - 13854E7822783719A2530793 /* jddctmgr.c in Sources */, - 48A1F28E04603A68A1E70319 /* jidctfst.c in Sources */, - B01C4EF49CF9390DA93A3503 /* jidctflt.c in Sources */, - C43A9650A9DC3372AB8F5F79 /* jidctint.c in Sources */, - 1A7FA35BDE4F35C685AB51A6 /* jidctred.c in Sources */, - D997FFC948B73FDA892DB532 /* jdsample.c in Sources */, - D9F02AFDA07D3857A905527D /* jdcolor.c in Sources */, - 15D65A523EB23EC385C05E0C /* jquant1.c in Sources */, - 3C0EB1DDA5243E31B2D92CE3 /* jquant2.c in Sources */, - 1E4832B42B95308299B767BA /* jdmerge.c in Sources */, - 94B1C88076793400810FAC31 /* png.c in Sources */, - 1569BB4728693B6285623A24 /* pngerror.c in Sources */, - D9496139621533328AE727B7 /* pngget.c in Sources */, - CFA91122523B31B9A07A3827 /* pngmem.c in Sources */, - 9EC837DA722736119D49868B /* pngpread.c in Sources */, - 9B8E5690A6103FC1BDC6C47F /* pngread.c in Sources */, - 31FEAB56919D372993CAD89D /* pngrio.c in Sources */, - 8FDC800D873F30E282691833 /* pngrtran.c in Sources */, - 61A2B54FD2E33C759CF5A5E9 /* pngrutil.c in Sources */, - 309C0A78D45C3AB7B8778B5A /* pngset.c in Sources */, - E515EAE375AE390688CBF8D4 /* pngtrans.c in Sources */, - C8C68927DB243AEAB51E11F3 /* pngwio.c in Sources */, - 0095084719983B878378CA29 /* pngwrite.c in Sources */, - 242E1D1A9BF331BA918134ED /* pngwtran.c in Sources */, - 2989056891153968B372EA15 /* pngwutil.c in Sources */, - E4131E3B445C36E6A7FC8030 /* regcomp.c in Sources */, - 768716016CE7310BB1AD7568 /* regexec.c in Sources */, - B026621DE50A3921B6598EF7 /* regerror.c in Sources */, - 05021BAB2C9B3C4CAD0A7C2D /* regfree.c in Sources */, - 23CECD8647C037E0B41DF0D5 /* LexA68k.cxx in Sources */, - 66FD099CE5A338C18329FC37 /* LexAbaqus.cxx in Sources */, - CD35A576FD363FD49C3AC4B4 /* LexAda.cxx in Sources */, - 0654BCC3F0763C50A7949505 /* LexAPDL.cxx in Sources */, - 0C3F48DBD05E3566A4CA6D45 /* LexAsm.cxx in Sources */, - 825EAD51920B387DB4F8C427 /* LexAsn1.cxx in Sources */, - 0ADC8DBEE80D36B0BB9B058B /* LexASY.cxx in Sources */, - 784F7C50882F320FA76537B6 /* LexAU3.cxx in Sources */, - 07EC76232BB3343FA5CB90B1 /* LexAVE.cxx in Sources */, - 5519BA1F2463308FAC4A0CA0 /* LexAVS.cxx in Sources */, - D54D3CA9E73336A08DB20706 /* LexBaan.cxx in Sources */, - 39FB197CF9EB3D76BE0723D0 /* LexBash.cxx in Sources */, - 6C7C1CC506CB329FB2D086AA /* LexBasic.cxx in Sources */, - C92005CB86C6361BBB9D7C68 /* LexBibTeX.cxx in Sources */, - 78E15D8200F635529F39609A /* LexBullant.cxx in Sources */, - 268DDC88C99A3A64AB8B2FFB /* LexCaml.cxx in Sources */, - 6F472413FFA03B53B395BB75 /* LexCLW.cxx in Sources */, - 6F5A0D3C7763334396A3783E /* LexCmake.cxx in Sources */, - D8ADDD24BEAC3D94B3388D3F /* LexCOBOL.cxx in Sources */, - 2020EE3C45743B53BE8C7F39 /* LexCoffeeScript.cxx in Sources */, - B640A8A74D973A8FBEF63917 /* LexConf.cxx in Sources */, - A0FCE3CF565C3F84B63712AD /* LexCPP.cxx in Sources */, - 97F60B2A9CE93BC8949A8CCE /* LexCrontab.cxx in Sources */, - 834F2ADD0520313FBAC4F928 /* LexCsound.cxx in Sources */, - 069D53F2DFBF370A8CC99631 /* LexCSS.cxx in Sources */, - 8FB5FBC5730C33F1A3D85DA0 /* LexD.cxx in Sources */, - 0B792C3F31713850818EEFEB /* LexDMAP.cxx in Sources */, - DC5F82733F733D98B39DE74E /* LexDMIS.cxx in Sources */, - AAC2AC9C49F1366D8BD20F5F /* LexECL.cxx in Sources */, - E8BBC08597EF383597DA0309 /* LexEiffel.cxx in Sources */, - BFD3BFBDC8DA3B1EAD141F97 /* LexErlang.cxx in Sources */, - 4788F736CD9C324E8A3DFA75 /* LexEScript.cxx in Sources */, - 45D88A74B3EE3837B9F79596 /* LexFlagship.cxx in Sources */, - 27759C2FBB0E35FDA847B2B6 /* LexForth.cxx in Sources */, - 020BBB417207393F8C60EFB7 /* LexFortran.cxx in Sources */, - E62F8E49FD5035D8BC71BB4A /* LexGAP.cxx in Sources */, - 9B6A35E706543CDAA6A5014B /* LexGui4Cli.cxx in Sources */, - 51D133EC44F830588FEEAEC1 /* LexHaskell.cxx in Sources */, - D98FABF75BCE3AF18C91B42E /* LexHex.cxx in Sources */, - AEEE6BC41B6531898A61CB17 /* LexHTML.cxx in Sources */, - B37802B0A90133C68EF93DDB /* LexInno.cxx in Sources */, - 14C024EB327435A2A571DA2D /* LexKix.cxx in Sources */, - E3AD8574E13B39BDB8D4E92F /* LexKVIrc.cxx in Sources */, - 62331487C17B32E081B8FEA8 /* LexLaTeX.cxx in Sources */, - DF8124E5E17D386A84CEEA28 /* LexLisp.cxx in Sources */, - D13AE659C3AC37B68D39B2CA /* LexLout.cxx in Sources */, - 9D003890CB7035A298DB7057 /* LexLua.cxx in Sources */, - E80BEED62EBF34F09B3F4020 /* LexMagik.cxx in Sources */, - E0E40333B61C33B58787078F /* LexMarkdown.cxx in Sources */, - 5AEA6E94FB76371D928D371D /* LexMatlab.cxx in Sources */, - 1A4F9F18BBEB3515AC7C7CC7 /* LexMetapost.cxx in Sources */, - 3C394FBD47B6310C80577E3C /* LexMMIXAL.cxx in Sources */, - 7CC211E10D853B958250A4CF /* LexModula.cxx in Sources */, - EC43AFB3670A3D459D9B388E /* LexMPT.cxx in Sources */, - E8EE34F0A78C31B489B19FEF /* LexMSSQL.cxx in Sources */, - CB1F37993ECB3B73A51B42FE /* LexMySQL.cxx in Sources */, - A874AF0B203D3DC99C27469B /* LexNimrod.cxx in Sources */, - 22C76BF2C3E331CD87657E6F /* LexNsis.cxx in Sources */, - 76D1A1A49CC831FFB9EBB1F6 /* LexOpal.cxx in Sources */, - 324B2BAC54553D45B3C56BFE /* LexOScript.cxx in Sources */, - BEFC179F8A0E337F9D627D85 /* LexOthers.cxx in Sources */, - 0718E7524134312090541D6F /* LexPascal.cxx in Sources */, - 24A5A71C79733E9CB913C5B8 /* LexPB.cxx in Sources */, - 369BCCFF61D13A058D837836 /* LexPerl.cxx in Sources */, - 0D79F1B4EF44393AA3242140 /* LexPLM.cxx in Sources */, - FD3B31CE1E7832218B5D9A16 /* LexPO.cxx in Sources */, - A3C4D47A84E8362295867526 /* LexPOV.cxx in Sources */, - 22EC132AEF863BFBAA6EDEC4 /* LexPowerPro.cxx in Sources */, - 1FB1622D59593932B25C55BB /* LexPowerShell.cxx in Sources */, - 97C551F8AEF133D680D1FD37 /* LexProgress.cxx in Sources */, - 551BF168445E3D7BB54D0175 /* LexPS.cxx in Sources */, - A36B5107860E326591940740 /* LexPython.cxx in Sources */, - 31380AD4F5BD38A6B9212FE1 /* LexR.cxx in Sources */, - CCFD3144A22C3A87B67D88AC /* LexRebol.cxx in Sources */, - 3694B007E88A3D8C8CB952F1 /* LexRegistry.cxx in Sources */, - 7C20B79175D33852A2E9DE84 /* LexRuby.cxx in Sources */, - 502D7B786EAE383B9546F320 /* LexRust.cxx in Sources */, - BA9F0BBD57F63FD29E484FD4 /* LexScriptol.cxx in Sources */, - F55F3887CDE633D7877C607C /* LexSmalltalk.cxx in Sources */, - FE5B7C7A84B83C17A38E8404 /* LexSML.cxx in Sources */, - D5C5DD83882B3227A1CCFE0F /* LexSorcus.cxx in Sources */, - 6F8129E317EE3486A89D8549 /* LexSpecman.cxx in Sources */, - 9678C2B19D293818AA8E9E0E /* LexSpice.cxx in Sources */, - 71CCB06E790C3C54BFF1199E /* LexSQL.cxx in Sources */, - E46BEC5C8D643BD099AF1D57 /* LexSTTXT.cxx in Sources */, - 0F8C79010EF0316AA1B7392E /* LexTACL.cxx in Sources */, - 2102C23970FB3F22AB46A59B /* LexTADS3.cxx in Sources */, - CAF5C5BB129431B596C4C6C2 /* LexTAL.cxx in Sources */, - 49BEDFBC3661339D90EF6936 /* LexTCL.cxx in Sources */, - 697FC496816F33568E1FB5A6 /* LexTCMD.cxx in Sources */, - 7D0E549020D33ED39751DFC9 /* LexTeX.cxx in Sources */, - BA57708D2D563967A0D1F004 /* LexTxt2tags.cxx in Sources */, - D4EC9DB5F8DF319EA0FD26A5 /* LexVB.cxx in Sources */, - 3C5E1A45A57B3169A4C073DA /* LexVerilog.cxx in Sources */, - 16021CFD78623B8CBD08FC20 /* LexVHDL.cxx in Sources */, - 9CC92BB4B0E233A0A7F8127A /* LexVisualProlog.cxx in Sources */, - 159E4248CB1333AD841D9F04 /* LexYAML.cxx in Sources */, - 91364FDD73053139BBAA313C /* Accessor.cxx in Sources */, - DF861EBD9C483E79ADF98603 /* CharacterCategory.cxx in Sources */, - 13A71672A59233D3A9B2D5EA /* CharacterSet.cxx in Sources */, - 46395873DB1C3B7FA81DE5F9 /* LexerBase.cxx in Sources */, - DF3B927516FB365E865A9781 /* LexerModule.cxx in Sources */, - F6288F388B8C33FD85E9A156 /* LexerNoExceptions.cxx in Sources */, - 1C544DADDA6F3D62A5E25E94 /* LexerSimple.cxx in Sources */, - 7DEC57D6CE8232A09EF7421A /* PropSetSimple.cxx in Sources */, - CD241361D4693785A0B8939E /* StyleContext.cxx in Sources */, - 6C80B6049A523836BCD20BCB /* WordList.cxx in Sources */, - E741CDA71895344C974D8F51 /* AutoComplete.cxx in Sources */, - E92EB502F79638B0BE569EF5 /* CallTip.cxx in Sources */, - B97C178B47173E6AB0CE577C /* CaseConvert.cxx in Sources */, - 86B0D280A43C308CAC14BE25 /* CaseFolder.cxx in Sources */, - 8F98C20E7B223FF4B352C131 /* Catalogue.cxx in Sources */, - 682403FBBD4E3D5E88159502 /* CellBuffer.cxx in Sources */, - 1D7442C82B343F50A83B25B1 /* CharClassify.cxx in Sources */, - 6BC8B3EDB3AE3EF4BACFC08B /* ContractionState.cxx in Sources */, - 90BC965B1A1F35A3B2C9D1CA /* Decoration.cxx in Sources */, - 0D6596A44A8C37DE85D578F7 /* Document.cxx in Sources */, - DD1B139EA5AD3F6DB92C0FA9 /* EditModel.cxx in Sources */, - 3C665EA42ECC3E5990BA347C /* EditView.cxx in Sources */, - 6D723C987BFB39B7B887DCB2 /* Editor.cxx in Sources */, - 83C492B87F4A3A97930F227B /* ExternalLexer.cxx in Sources */, - 0B4AF44DC0C439AD83CDC37F /* Indicator.cxx in Sources */, - C8F1FB8C029031A5909DBC57 /* KeyMap.cxx in Sources */, - 923F4797A73A3BDD87BBD1E2 /* LineMarker.cxx in Sources */, - EE6474BBB4AF34D093E2451E /* MarginView.cxx in Sources */, - 523FB2A8435A3324A8E1B371 /* PerLine.cxx in Sources */, - BF068F3C06473D8CBC55D508 /* PositionCache.cxx in Sources */, - A52A7D2FEB1434E29C64582D /* RESearch.cxx in Sources */, - 7B372FEA276438C186F7E341 /* RunStyles.cxx in Sources */, - 15735ED6556130F6A14F0BCE /* ScintillaBase.cxx in Sources */, - 097BC5E023C33C1DA05606B0 /* Selection.cxx in Sources */, - 4C9BA36123E43589956864C7 /* Style.cxx in Sources */, - 19D823E564D932758EA6F8D2 /* UniConversion.cxx in Sources */, - 699D88EE2DAA3594B6606891 /* ViewStyle.cxx in Sources */, - BCDAE378D03E37F5994FB9C6 /* XPM.cxx in Sources */, - C2DEE063B5E032C1BD2B5027 /* xmlparse.c in Sources */, - AE84BC9A1CCA3ADA9C483951 /* xmlrole.c in Sources */, - DB9565CC4EAE3BCB9F490621 /* xmltok.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8BD3A3B4622D37B8B5DB242E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 59BFB8C8310E37B39AF8B0D4 /* any.cpp in Sources */, - D5A25AC579F436509805335A /* appbase.cpp in Sources */, - C2B07E2ECDDC3833BDC9B28C /* arcall.cpp in Sources */, - 4CF9BA40653C3153805D88AB /* arcfind.cpp in Sources */, - 3EB6B8528A0D3B6CADAE1256 /* archive.cpp in Sources */, - 3B8A54D5E5A53607A6F7979A /* arrstr.cpp in Sources */, - 0A2A4D2DC8F63FE1AC0BFAAF /* base64.cpp in Sources */, - 319FB8E64CE731D6A58AD301 /* clntdata.cpp in Sources */, - 51437DC2AD7B3BEB9A53CE1A /* cmdline.cpp in Sources */, - DA0FA502405A37B2A5698D20 /* config.cpp in Sources */, - BB6FE851028C3DE7A070C213 /* convauto.cpp in Sources */, - F89405757B063F80B111F469 /* datetime.cpp in Sources */, - 1D726139C977341A97D0C931 /* datetimefmt.cpp in Sources */, - E63364B7E727383BA8E2B7EC /* datstrm.cpp in Sources */, - 3ED6F4B64C283232A79423CF /* dircmn.cpp in Sources */, - 54A89D04FF953D55AE8DCCF0 /* dynarray.cpp in Sources */, - AD7EEB418C7930CB828EAF87 /* dynlib.cpp in Sources */, - 0164A65CDB7A334A8E9AA4BF /* dynload.cpp in Sources */, - 246B4FF96BA135258FE45F4F /* encconv.cpp in Sources */, - 97BAFEAD53E238B6881178DD /* evtloopcmn.cpp in Sources */, - F07D84D124F23E7FA11CF148 /* extended.c in Sources */, - FEF99FF6C38D3B488396B142 /* ffile.cpp in Sources */, - D6C3421AD2A537AAA2F0AB80 /* file.cpp in Sources */, - FFF5BFBE600E35FAB7EA522C /* fileback.cpp in Sources */, - 41943A8F82723027A151A468 /* fileconf.cpp in Sources */, - 49260580A7F23B569A827D3F /* filefn.cpp in Sources */, - D4C87E227A28391891D89088 /* filename.cpp in Sources */, - 8A4046BD38873D9CAC9C2B59 /* filesys.cpp in Sources */, - 9E0B67E34B683412978BA82D /* filtall.cpp in Sources */, - CA4DCD57060B38CC8B2283D7 /* filtfind.cpp in Sources */, - 2FA1A8FE3644325ABAD273A4 /* fmapbase.cpp in Sources */, - FE2DBCCC1D0B36A3BE4493C0 /* fs_arc.cpp in Sources */, - F6B85CD918E93923BE631B95 /* fs_filter.cpp in Sources */, - FE5285579C7F39C48FC66B10 /* hash.cpp in Sources */, - 595DCB164D55342EB86604EC /* hashmap.cpp in Sources */, - 1B06622C8D8731FC832199E2 /* init.cpp in Sources */, - 0743AE8613F535A0ABB79315 /* intl.cpp in Sources */, - A336FD218BE63B19991CA513 /* ipcbase.cpp in Sources */, - BFD4B8871B3934048B631419 /* languageinfo.cpp in Sources */, - 68AC8860B0943C1FAF76D96B /* list.cpp in Sources */, - 3141FEDED0943BD6A2EF858F /* log.cpp in Sources */, - 0C7E2D5C22A232368F862A60 /* longlong.cpp in Sources */, - DC978B60F6DF3176B5B114C3 /* memory.cpp in Sources */, - B59FC7345C383D9099391AC3 /* mimecmn.cpp in Sources */, - EC3A1C620D323B5590AABF02 /* module.cpp in Sources */, - F38202271C6131908C358DEC /* mstream.cpp in Sources */, - 31DD19A942283FA8810B6382 /* numformatter.cpp in Sources */, - 23A7AF68A03E380785EE7C24 /* object.cpp in Sources */, - D6B73239BF0E32288161679C /* platinfo.cpp in Sources */, - 0A406D2D1ADA343891E3664C /* powercmn.cpp in Sources */, - CA85901B9E2538CFB7E44216 /* process.cpp in Sources */, - 7A7439BE66AA3771B4A89048 /* regex.cpp in Sources */, - CF3082BA1ED232F4B904BD14 /* stdpbase.cpp in Sources */, - 539B586AEAD630A79FC12ECF /* sstream.cpp in Sources */, - 028257C52CAE3038AA862C35 /* stdstream.cpp in Sources */, - 6AA0EE765330326380989FD1 /* stopwatch.cpp in Sources */, - E882402BEE0330A080A6516F /* strconv.cpp in Sources */, - 30493B486DFF35AF80D12C49 /* stream.cpp in Sources */, - 795613831EC8332A83FF26E7 /* string.cpp in Sources */, - 55F0D287F60F3EDEA16CCB64 /* stringimpl.cpp in Sources */, - 88E1AE56FD393C8BA5CF8545 /* stringops.cpp in Sources */, - 056E30EA43753A7CB1AF8C9E /* strvararg.cpp in Sources */, - 4DD98A9436C83CF3B9425A78 /* sysopt.cpp in Sources */, - 9FB1E1763EFA334CA0C07C49 /* tarstrm.cpp in Sources */, - 2E4747E0736B30569ACD5422 /* textbuf.cpp in Sources */, - 6167245C417A32179EC37D2D /* textfile.cpp in Sources */, - B20B7313102232A4B3E01ABA /* threadinfo.cpp in Sources */, - 98AD7D0478BA36249B03C623 /* time.cpp in Sources */, - 7FC3D17B3C853FE58841002D /* timercmn.cpp in Sources */, - 729091CC33C73C989B4E0719 /* timerimpl.cpp in Sources */, - BF8C33B7CB3A3ECE814A95FB /* tokenzr.cpp in Sources */, - ABCD15C4AB37396EA17B7B28 /* translation.cpp in Sources */, - 087FF6DE223A32509692F39B /* txtstrm.cpp in Sources */, - DAAFBED07FF8365B96D20B99 /* unichar.cpp in Sources */, - 2E8440A2BDD53BE7B01547C2 /* uri.cpp in Sources */, - C425A172B0AB3EBD9AC9A590 /* ustring.cpp in Sources */, - 65E8A5F333D7336C816F0D0C /* variant.cpp in Sources */, - E53AFF04877D34C386D77380 /* wfstream.cpp in Sources */, - 319EA32592DA3C74B86DDDFF /* wxcrt.cpp in Sources */, - A2473402D8B83628B1F66749 /* wxprintf.cpp in Sources */, - BA7B12396B873FDA8F3A2748 /* xlocale.cpp in Sources */, - C5419BC04D6234B5A8307B81 /* xti.cpp in Sources */, - 52C0984A2A4F31BC885519B0 /* xtistrm.cpp in Sources */, - CA155860CE9A3A8189C3A4C2 /* zipstrm.cpp in Sources */, - 014AF0BAB1783A5D9D75A7ED /* zstream.cpp in Sources */, - A93D0E6F0871368EA8FC9FF9 /* fswatchercmn.cpp in Sources */, - E49F0D43B5A63EF1A57A7112 /* fswatcherg.cpp in Sources */, - 4657E7382E9E3EDC8DE2401E /* mimetype.cpp in Sources */, - 1DBDF75500D73A3098015E7F /* cfstring.cpp in Sources */, - 9FBC642677C63D01AA2511BC /* evtloop_cf.cpp in Sources */, - AAAB5DF8E60736D88273DCFE /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */, - D36E76A4CAF5352D9397E1FF /* fdiodispatcher.cpp in Sources */, - D3FB75C8E3A73AE38EE8A6F6 /* selectdispatcher.cpp in Sources */, - BAAB6B1D80A33843A8436B10 /* appunix.cpp in Sources */, - 403FBA20CEFE3EAFB4E6B905 /* dir.cpp in Sources */, - 20BEEFFA08F3396791596870 /* dlunix.cpp in Sources */, - CBBD7B32DB7B3E24AE745D78 /* epolldispatcher.cpp in Sources */, - D18E2985C48733B2B7B3D442 /* evtloopunix.cpp in Sources */, - 3D22FC202D903007AEE3D164 /* fdiounix.cpp in Sources */, - 4B88254FF9963833A276A64C /* snglinst.cpp in Sources */, - 5F78DB0417BF3CE1B4E35C7F /* stackwalk.cpp in Sources */, - 2F35A207C3993DE08E4FE0B0 /* timerunx.cpp in Sources */, - F5D2146C94E733FAAB6D286A /* threadpsx.cpp in Sources */, - B5C7FD8C27F43F3289A77FC9 /* utilsunx.cpp in Sources */, - F9C5EAC42CCF3267B4100BAE /* wakeuppipe.cpp in Sources */, - FF7DB2884F6E3C5DB4BDF61D /* fswatcher_kqueue.cpp in Sources */, - 830A61EA04FD367C9EB6A757 /* fswatcher_fsevents.cpp in Sources */, - 55D893FDD00633FEA82ABD81 /* event.cpp in Sources */, - 131B879180AE3FB481F81CC7 /* fs_mem.cpp in Sources */, - 05814571E7A83F5DBFB6E4C4 /* msgout.cpp in Sources */, - 80665EEAE8613DF8A93A7984 /* utilscmn.cpp in Sources */, - 2A54BBF33C1E39FE8AF805D6 /* utils.cpp in Sources */, - 9513691C6A943A41B4184643 /* uma.cpp in Sources */, - E8F0C87119C63E8E81423A7C /* stdpaths.cpp in Sources */, - 13250B531B1B3F9998C59DA9 /* stdpaths_cf.cpp in Sources */, - F4C0CEADEDC23610BF6983D6 /* artmac.cpp in Sources */, - 296692A7A3783E3A83D005C6 /* brush.cpp in Sources */, - 86AED49CEAFC3637B1F10537 /* dialog_osx.cpp in Sources */, - DC6B669C9A78398F914AEE53 /* fontutil.cpp in Sources */, - 1EDED99760B23A1999E75C12 /* imaglist.cpp in Sources */, - C1CDD035AA393ACC9E202C03 /* minifram.cpp in Sources */, - 4269B85FDC5639BEB76A8AEB /* nonownedwnd_osx.cpp in Sources */, - AC91349D7F0E37739B1F5165 /* palette.cpp in Sources */, - 2480859662ED399799E120A5 /* pen.cpp in Sources */, - 0E024D145DDD38ACAE68F462 /* toplevel_osx.cpp in Sources */, - 02BB539E2AD63C078DA776B0 /* uiaction_osx.cpp in Sources */, - 052331773CF6362C9A6CF38E /* utils_osx.cpp in Sources */, - CB2E99E8FB7D3269A333A55E /* window_osx.cpp in Sources */, - 03BF1610E2FC3BD5ACB754F0 /* bitmap.cpp in Sources */, - FF50EC0EC5F23DF890C6E95F /* colour.cpp in Sources */, - BD2B17EB72E73A6EB6E0B26F /* dcmemory.cpp in Sources */, - F1F484DD591337399FCD0463 /* display.cpp in Sources */, - 371809DA4AD1382F8B532878 /* fontenum.cpp in Sources */, - 86BE5213D3F131D8A6862679 /* hid.cpp in Sources */, - AB58406CEBA13BC4A2A83B66 /* printmac.cpp in Sources */, - 91BDA5B04CF33C9AB7358B8A /* timer.cpp in Sources */, - C2D45B334BE03F6C941CA041 /* utilsexc_cf.cpp in Sources */, - A92439BAFD3A30A29DD93131 /* apptraits.cpp in Sources */, - E82CB89681FF3747B6A94427 /* anybutton_osx.cpp in Sources */, - 49FE0228D8FD3F7AB64A4432 /* bmpbuttn_osx.cpp in Sources */, - 6AC347D2DCC730149A0A83D8 /* button_osx.cpp in Sources */, - 0E92CEF677AA32C9A8CDA0A7 /* checkbox_osx.cpp in Sources */, - 07412469921A3E488A2F9BA6 /* checklst_osx.cpp in Sources */, - 4666CDC48BA9301EA283BFFF /* choice_osx.cpp in Sources */, - 0836590D35FE37988DE70442 /* combobox_osx.cpp in Sources */, - 2DF74933A90E34129F1BEF72 /* dnd_osx.cpp in Sources */, - 0FFFFA2F762B3160955D1D88 /* gauge_osx.cpp in Sources */, - E4B826CE70283D999CB591F3 /* listbox_osx.cpp in Sources */, - B198DA8239E9358A9D56B988 /* menu_osx.cpp in Sources */, - 1DF3A4F85FCB3BA79A552F3D /* menuitem_osx.cpp in Sources */, - A3321FE2A87D3BD69E0BB009 /* notebook_osx.cpp in Sources */, - 0C9A379D97B133FA831175A7 /* printdlg_osx.cpp in Sources */, - B1775EF7C72233408044034B /* radiobox_osx.cpp in Sources */, - 6A081BF19747385CB4C1877F /* radiobut_osx.cpp in Sources */, - DF8CE011EAC23F73BDA1C44D /* scrolbar_osx.cpp in Sources */, - 27E73CA5C35A30CE89946ECA /* slider_osx.cpp in Sources */, - 00F1531404F832C6AE0748F2 /* spinbutt_osx.cpp in Sources */, - 91EA325FCE3A3A6A8D1D21A5 /* srchctrl_osx.cpp in Sources */, - 221DC4F6678A3EC5ACDDEA4F /* statbox_osx.cpp in Sources */, - 91BC7802C15337CDA84C3742 /* statline_osx.cpp in Sources */, - 283C3ABE42433244983C27C1 /* stattext_osx.cpp in Sources */, - B6891F848CA0325EAB6D1373 /* textentry_osx.cpp in Sources */, - EDCA35F1555F3509895CCA69 /* textctrl_osx.cpp in Sources */, - 664A54F914443110B7BB6928 /* tglbtn_osx.cpp in Sources */, - A569A33A2097316D8110C2C1 /* toolbar_osx.cpp in Sources */, - 0AEBA7389E223781A7A257A1 /* webkit.mm in Sources */, - F5FF98C231B33E3EB7902C64 /* colordlgosx.mm in Sources */, - 2386B575BC3931D2AF86CB33 /* fontdlgosx.mm in Sources */, - 2EECB3C2F9523D0B95847A7F /* accel.cpp in Sources */, - 7F77E347E1243D77A666FB43 /* clipbrd.cpp in Sources */, - 5417332FE2DB3CD3A647B15D /* cursor.cpp in Sources */, - D66F5D4D204B3B789C7F76B9 /* fontdlg.cpp in Sources */, - 692FCCABFB963696AFC1E122 /* gdiobj.cpp in Sources */, - 01D4C5F2147F3942A7CE91AA /* icon.cpp in Sources */, - B0E94A59C83637C09FAAE71C /* app.cpp in Sources */, - BB31D65BA1253A1CB64CE9D2 /* combobox.cpp in Sources */, - EB52C6A915943813932944FE /* control.cpp in Sources */, - 45AB45C6B24A3983B22E56A5 /* dataobj.cpp in Sources */, - D088E7DDE38C31DC9C9B3417 /* dcclient.cpp in Sources */, - 182DFDBB58653FD9863D4176 /* dcprint.cpp in Sources */, - AAC2CB4D851230008AE4ABA1 /* dcscreen.cpp in Sources */, - 774EB9F3F7E93A379E1F7551 /* graphics.cpp in Sources */, - 5792675690843C6AA4125A72 /* font.cpp in Sources */, - BDAB44F5D017395D9D3A1F23 /* frame.cpp in Sources */, - 27E2EABB117334CD89CFD2A4 /* mdi.cpp in Sources */, - 73AA68AB9F1236ED9F1FBB2E /* metafile.cpp in Sources */, - CD2A9111B8A83AFA8B5B97E5 /* overlay.cpp in Sources */, - 805CCAE64D023561AD334B53 /* popupwin.cpp in Sources */, - 6832385DDBB33D1B90C73CBA /* renderer.cpp in Sources */, - F6A1AC5CF84E32C19F91A614 /* statbrma.cpp in Sources */, - D070C3BE95483FE38BABA1BE /* region.cpp in Sources */, - 07158EBC05A637ECA9DC7B4F /* utilscocoa.mm in Sources */, - 7E6C627A325F32FFB2EF9B9E /* caret.cpp in Sources */, - FB8B6E4789A3311A98C5B0A8 /* clrpickerg.cpp in Sources */, - 4442EA28B0B3373B9A2D0862 /* collheaderctrlg.cpp in Sources */, - 7569F0BC3C603EB19168088F /* collpaneg.cpp in Sources */, - BBAABF3C693E37D3B0FF2502 /* colrdlgg.cpp in Sources */, - F70156C3E68B38FCB72FE253 /* dirdlgg.cpp in Sources */, - E1F7C51F411B3AF39476E488 /* fdrepdlg.cpp in Sources */, - A965348C7FA73CEC90C8FA25 /* filedlgg.cpp in Sources */, - FD1F6CD8286D3D428FD52A28 /* filepickerg.cpp in Sources */, - 16A382A265DE32FABC318F6F /* fontdlgg.cpp in Sources */, - BEAC2449AFA7304989BA301E /* fontpickerg.cpp in Sources */, - C3AC94EA13C1352790BF5FF7 /* listctrl.cpp in Sources */, - C005C2D547E735E9B081658E /* prntdlgg.cpp in Sources */, - A1AF8FF873D6383996995ECF /* statusbr.cpp in Sources */, - 2E059BFE8E3B3D9299D55969 /* textmeasure.cpp in Sources */, - 99C3EE31DC1B3ADAAC8E5DA2 /* anybutton.cpp in Sources */, - 33B16442F6AF3233BD533108 /* bmpbuttn.cpp in Sources */, - CBD152BCD11634B7BBB8AA8C /* button.cpp in Sources */, - 3C92143CC3173F659CE40DC3 /* checkbox.cpp in Sources */, - CF172B12EEA53811BE649521 /* choice.cpp in Sources */, - 241A346E77E131918C6DE9B9 /* colordlg.cpp in Sources */, - 287A6D1B6AA030AAB7C057F7 /* dialog.cpp in Sources */, - D50FA9ECB16933C39A520D88 /* dirdlg.cpp in Sources */, - B4CE55324C62369CBB823B68 /* dnd.cpp in Sources */, - D1D7B594A0DB3781951C7682 /* evtloop.cpp in Sources */, - F1E8E4D6D8453F7382E6497F /* filedlg.cpp in Sources */, - 63C8D23DD8AB32FE906B669B /* gauge.cpp in Sources */, - 55E03D705E9C39EFA3EE3E25 /* listbox.cpp in Sources */, - 2CD89A08C7ED3D35A0FBD893 /* listctrl_mac.cpp in Sources */, - D2BCC29BB1353C6ABC7D4DDE /* menu.cpp in Sources */, - 157C8DA2E272399B9380991A /* menuitem.cpp in Sources */, - 7A3976A4AF7836048B31F7DE /* msgdlg.cpp in Sources */, - 774A6D1CA57235AD9ECD5D14 /* nonownedwnd.cpp in Sources */, - 164CF6AA59B135E68239E8F8 /* notebmac.cpp in Sources */, - B5587C93D4D3333FA81D08A2 /* printdlg.cpp in Sources */, - 96A6458C826732348D2872C5 /* radiobut.cpp in Sources */, - D594C725CA08333B83C214C2 /* scrolbar.cpp in Sources */, - 006841D4ADA6384B9A8886CE /* slider.cpp in Sources */, - 69A19836B4DC39918A74B12C /* spinbutt.cpp in Sources */, - 57DDBAE7E4413A3C9DCC9EE3 /* srchctrl.cpp in Sources */, - F04F796823753478BCC9EB6F /* statbmp.cpp in Sources */, - 6EC32E5F03DF3EC9852474DF /* statbox.cpp in Sources */, - 66ED6552F94F3770BB934E2F /* statlmac.cpp in Sources */, - 77764368190938E6A4000AE1 /* stattext.cpp in Sources */, - 90AB8293DB663C508BAEF655 /* textctrl.cpp in Sources */, - F0290CF0258A30478FED38A2 /* tglbtn.cpp in Sources */, - EA02FA6D3B003F8F8A2963C6 /* toolbar.cpp in Sources */, - 80C6D10D9A6F300995396960 /* tooltip.cpp in Sources */, - 16D334945B1E30AFB80B356C /* window.cpp in Sources */, - 437519A6002A3A0FB2C9A8FC /* settings.cpp in Sources */, - 3CDE2B6BF88D326189F069BD /* accelcmn.cpp in Sources */, - BDB8EF0E0DA03693BFB77EF7 /* accesscmn.cpp in Sources */, - 205520440CD13C0AB9E89159 /* anidecod.cpp in Sources */, - 353B584AD0C03919A57A3048 /* affinematrix2d.cpp in Sources */, - DDC71B80D562303690FDBE4C /* appcmn.cpp in Sources */, - EE0EA850822E35F596B5EBBA /* artprov.cpp in Sources */, - A283187810EB32DAA173BD33 /* artstd.cpp in Sources */, - 75DCE6FF00E93C5D93970842 /* arttango.cpp in Sources */, - 1749412E53B9311DABA71DDC /* bmpbase.cpp in Sources */, - 3ACCC2EB8E973C11835EB597 /* bmpbtncmn.cpp in Sources */, - A5775D87FD713CBB930A783E /* bookctrl.cpp in Sources */, - C3A63D7091913CD39094AE0B /* btncmn.cpp in Sources */, - FBA19C939E1E33EDB05043FE /* cairo.cpp in Sources */, - 427E6AF88CF73D799206E37D /* checkboxcmn.cpp in Sources */, - 37749AC3468836FC857BD0D5 /* checklstcmn.cpp in Sources */, - C0CDA289E9EC3E20BE70B2E6 /* choiccmn.cpp in Sources */, - DFEB8DA3D42734949CB1E1AA /* clipcmn.cpp in Sources */, - 9D4B67A357D23B5283CA8D98 /* clrpickercmn.cpp in Sources */, - EBF2D44758003221A22202BC /* colourcmn.cpp in Sources */, - 335DD610974A33D4B6581E2A /* colourdata.cpp in Sources */, - D542C7819D593112AE5F7C3D /* combocmn.cpp in Sources */, - 6F0605F3A4E83BF0BF4C8B7E /* cmdproc.cpp in Sources */, - 20F10669703137E68318C6FD /* cmndata.cpp in Sources */, - 6FA47EAACE613B039B6EC261 /* containr.cpp in Sources */, - 0C485288EA86379D9FD66536 /* cshelp.cpp in Sources */, - 25656617A56D342AA3D1BFE2 /* ctrlcmn.cpp in Sources */, - BF1760458996391E8EB42949 /* ctrlsub.cpp in Sources */, - 2D60F289103837EA8925E3F1 /* dcbase.cpp in Sources */, - 39D6435B10073B85A499AFD8 /* dcbufcmn.cpp in Sources */, - 9564A6968D66325DAEADEBA3 /* dcgraph.cpp in Sources */, - B791BD05072B3B909A7093C2 /* dcsvg.cpp in Sources */, - B559E894684A38238CAAA115 /* dirctrlcmn.cpp in Sources */, - 63F0C8EEDF4B3641878A8B4D /* dlgcmn.cpp in Sources */, - B839235BED6F3609BDB732B8 /* dndcmn.cpp in Sources */, - 2CCC30C0162131DBBE9D8027 /* dobjcmn.cpp in Sources */, - F0B3F484C38C3BA0B9927CD9 /* docmdi.cpp in Sources */, - B1E30CF6CFA932F5A3DBA94F /* docview.cpp in Sources */, - F80C2290D67B345F9CF60085 /* dpycmn.cpp in Sources */, - 6BF19C7CA9E93D989C210FE3 /* dseldlg.cpp in Sources */, - 447FEC72F3C234378CE28DE7 /* effects.cpp in Sources */, - C2E37E798F743A4199C8658E /* fddlgcmn.cpp in Sources */, - 37715483D08335B790FFE058 /* filectrlcmn.cpp in Sources */, - 0730A107A2B935A9923C8EF2 /* filehistorycmn.cpp in Sources */, - 9881E3FB23ED3283B6CC71A2 /* filepickercmn.cpp in Sources */, - 064908348009398C8EA8497C /* fontpickercmn.cpp in Sources */, - 1E166FC1A7B3371FB038B172 /* fldlgcmn.cpp in Sources */, - F747991E5C973F9B8C9D800A /* fontcmn.cpp in Sources */, - 1E2AB43075973AE59A8D89C1 /* fontdata.cpp in Sources */, - F910C74E48823E0BA7F7885D /* graphicc.cpp in Sources */, - F1E4D7CA634E33808AE3B522 /* fontenumcmn.cpp in Sources */, - D5AABE973F3A351EB1C1A5A6 /* fontmap.cpp in Sources */, - 60706F8836A130A2AF282FE1 /* fontutilcmn.cpp in Sources */, - EDD5725CF41336EFA7FB3009 /* framecmn.cpp in Sources */, - EAA469E1A0CC33E4A21A3F7A /* gaugecmn.cpp in Sources */, - 5A8638C234133824BDF93BBF /* gbsizer.cpp in Sources */, - 0E60E17BA4B23347A4F20160 /* gdicmn.cpp in Sources */, - 95AD56D602CF3C5085602AF8 /* geometry.cpp in Sources */, - 758629DA468A3EF7B1C15241 /* gifdecod.cpp in Sources */, - 7B642B17F5D23F4F8ED38BB4 /* graphcmn.cpp in Sources */, - B8FEEC2C94183AB69C963177 /* headercolcmn.cpp in Sources */, - 383A6993E90936D39A5F12BD /* headerctrlcmn.cpp in Sources */, - 4657479AF35533AEB7876676 /* helpbase.cpp in Sources */, - BF2585CFA6853023975F1E78 /* iconbndl.cpp in Sources */, - 5B5B8DF915D438AA9FCEB39E /* imagall.cpp in Sources */, - 0813551C951A3AD1A5EF01B2 /* imagbmp.cpp in Sources */, - 6C822F7F313734DCB51F44B9 /* image.cpp in Sources */, - 89046455F49D3D75A21C9DB8 /* imagfill.cpp in Sources */, - 36DB80FD5B153E9099DB6912 /* imaggif.cpp in Sources */, - 9110ACFC3CFB3C7994E907B0 /* imagiff.cpp in Sources */, - D13596A4E3CD31DE810061A1 /* imagjpeg.cpp in Sources */, - D83B32B788EC310D919E0DF7 /* imagpcx.cpp in Sources */, - 23965E313EDC3BBE9B2FA1C5 /* imagpng.cpp in Sources */, - 46E331300D8F349DB36AB50A /* imagpnm.cpp in Sources */, - AAABEE399008310A8BC9BE43 /* imagtga.cpp in Sources */, - 3C36437B2E933F83984D431E /* imagtiff.cpp in Sources */, - 774A89998E09308CBFB03EE0 /* imagxpm.cpp in Sources */, - 63F2517EC6B2334CA825A6F9 /* layout.cpp in Sources */, - CFF73578F04D357E83D1D830 /* lboxcmn.cpp in Sources */, - 164010B26D363F5FA09785B6 /* listctrlcmn.cpp in Sources */, - 2F7F5B9BBCD83D90B237A1A0 /* markupparser.cpp in Sources */, - 9A83D365AD1F37FA9C7030C2 /* matrix.cpp in Sources */, - E3A4615870B139D29FE727C1 /* menucmn.cpp in Sources */, - 171F09F8DD553FA5B4B3FAE2 /* modalhook.cpp in Sources */, - BD49EC50CB363642BDBF25C8 /* mousemanager.cpp in Sources */, - 7A84B9471A3238B4B66B1776 /* nbkbase.cpp in Sources */, - AC6AC589EFB233C7B65A3224 /* overlaycmn.cpp in Sources */, - D6B2A64A78AF3F2983B441A8 /* ownerdrwcmn.cpp in Sources */, - 0742292656623EC481B34369 /* paper.cpp in Sources */, - E2A73751CECF32A68FFAEE82 /* panelcmn.cpp in Sources */, - 4279D39CAAF834F6A5B99196 /* persist.cpp in Sources */, - AF1E3338E892336E924AF631 /* pickerbase.cpp in Sources */, - 6E68759BC2E63CA59C12FDC0 /* popupcmn.cpp in Sources */, - 6292B023DBF4337A91404AD0 /* preferencescmn.cpp in Sources */, - 1C52CB9487DF3AB9AF243B47 /* prntbase.cpp in Sources */, - 0B98B6721DEE37A1ADEA382B /* quantize.cpp in Sources */, - AE5286C71D1130EAA368A1C4 /* radiobtncmn.cpp in Sources */, - AEB9099819B33F4A8AAB9F54 /* radiocmn.cpp in Sources */, - 5116CE330E333724A66982E3 /* rearrangectrl.cpp in Sources */, - A9864F0104FA344BBE79D3BC /* rendcmn.cpp in Sources */, - A80D00249A693F43A9CBE777 /* rgncmn.cpp in Sources */, - C259D01CC62533D296EF023A /* scrolbarcmn.cpp in Sources */, - 7625D908B2CD34C78243BA8F /* settcmn.cpp in Sources */, - F5D0BCF1A6C839E5829199E2 /* sizer.cpp in Sources */, - EDD92822EBD93E86AE5A2ED0 /* slidercmn.cpp in Sources */, - F46777ABE0743B04A1E1F0A4 /* spinbtncmn.cpp in Sources */, - 49C873EE448C3CD9A32012CD /* spinctrlcmn.cpp in Sources */, - 1EA81A0E8E5A3B38B4D80337 /* srchcmn.cpp in Sources */, - 4AEC67BF65B039D99F421666 /* statbar.cpp in Sources */, - 7C52E7CC12463941B0E4D402 /* statbmpcmn.cpp in Sources */, - D9DCBE799DB634C2A73FD6BD /* statboxcmn.cpp in Sources */, - 8B38C6C416BA3A51B37F60C4 /* statlinecmn.cpp in Sources */, - D9EE059D3C3C3C13AE4419F1 /* stattextcmn.cpp in Sources */, - BAFF04F1680F32DA988EB03D /* stockitem.cpp in Sources */, - 4958BD2E717A3F03AB030188 /* tbarbase.cpp in Sources */, - 9744994E8A813AA6938A7CE2 /* textcmn.cpp in Sources */, - AD4A533C4E1633598A6D5C6F /* textentrycmn.cpp in Sources */, - 23479484EC143D34871550C1 /* textmeasurecmn.cpp in Sources */, - 700BBDECBE313E108BA99ABD /* toplvcmn.cpp in Sources */, - 45FE206BBAD13DDCA1EA41CF /* treebase.cpp in Sources */, - 796311E398FF313C84218824 /* uiactioncmn.cpp in Sources */, - E9EDB5C92D5D3B529E8D73B0 /* valgen.cpp in Sources */, - 9F70A89D00B03D4894AF7638 /* validate.cpp in Sources */, - 1937FBA0A0DD32A8A743CFE1 /* valtext.cpp in Sources */, - 6A032420671B375D81273714 /* valnum.cpp in Sources */, - A2769D1659AE3CA3B58C2CAE /* wincmn.cpp in Sources */, - 1BCC944F5E0936F5830F03E8 /* windowid.cpp in Sources */, - 3399AB7BB1333B5AAF5FAF55 /* wrapsizer.cpp in Sources */, - C1E5799141603A75A26BEEA7 /* xpmdecod.cpp in Sources */, - F5806029B1BA3924A8FDDBC1 /* busyinfo.cpp in Sources */, - CB078622E90F33BE9D131131 /* buttonbar.cpp in Sources */, - 03035C5CE4BC3288A5A18424 /* choicdgg.cpp in Sources */, - 9CA687845B3F30CCA44A89D0 /* choicbkg.cpp in Sources */, - 9C1F073349FD393E9220C0D3 /* combog.cpp in Sources */, - EAE02BA934B43EEE92C496C7 /* dcpsg.cpp in Sources */, - 22AE900003F73134BBEE8BB6 /* dirctrlg.cpp in Sources */, - 4040AE89BF9F34668091064A /* dragimgg.cpp in Sources */, - 7EF89F935314301381802FAB /* filectrlg.cpp in Sources */, - 7D615329368D32709CEF4B58 /* headerctrlg.cpp in Sources */, - 2C95DFA8EE463487956B4EB4 /* infobar.cpp in Sources */, - 02E8F1195B653D26AAA89462 /* listbkg.cpp in Sources */, - 026F90F7492C316A94128916 /* logg.cpp in Sources */, - 633DD2E870263F42A8DBF9BF /* markuptext.cpp in Sources */, - 745C39E90E8C3C08A887B51C /* msgdlgg.cpp in Sources */, - 1AF2B2346C9639DAA4D15F30 /* numdlgg.cpp in Sources */, - 4D0BA8B9F72C3C31BC170CE2 /* progdlgg.cpp in Sources */, - A1A7B833061C35B4AABD093C /* preferencesg.cpp in Sources */, - DEB35F871F8E3B90AD207AEE /* printps.cpp in Sources */, - 96927C5A21FD3ACF936CDF6C /* renderg.cpp in Sources */, - F72020415D713C1BA41C17CF /* richmsgdlgg.cpp in Sources */, - ED8D23D79FF33ED380FE09EB /* scrlwing.cpp in Sources */, - 85F9828B80B03178A274BD17 /* selstore.cpp in Sources */, - 84997126352137E798CD258A /* spinctlg.cpp in Sources */, - 62F1DC80D631335B892610A8 /* splitter.cpp in Sources */, - B6C364CB4AE33708A862B4B4 /* srchctlg.cpp in Sources */, - 8FC1C07FEE793897A1E96D23 /* statbmpg.cpp in Sources */, - BF9B151DC0543E37878F8B9A /* stattextg.cpp in Sources */, - 62757F24C4EE3B84B6AE3F14 /* textdlgg.cpp in Sources */, - 249C9177B1A33EFEAB30F93F /* tipwin.cpp in Sources */, - 32FECED7A7633C4D8C1BFBB3 /* toolbkg.cpp in Sources */, - DB3C3AA956A03FB492480266 /* treectlg.cpp in Sources */, - 5388468A6F8F3141B25CD400 /* treebkg.cpp in Sources */, - 87C67583D36C3465ACD64103 /* vlbox.cpp in Sources */, - A465A43B756630F1944B5A56 /* vscroll.cpp in Sources */, - 1CBF34ACA39330028A5EA9AC /* xmlreshandler.cpp in Sources */, - 567A32722BA33AEE9FF93D7C /* fs_inet.cpp in Sources */, - 65514CD6A9F23ED98436AC02 /* ftp.cpp in Sources */, - B84642DA949638A189032CE6 /* http.cpp in Sources */, - 6CA1BAEBBDB4336E9E201F95 /* protocol.cpp in Sources */, - E39021D3CDCD33BAA646B006 /* sckaddr.cpp in Sources */, - 9F608A33D52D327FAA295624 /* sckfile.cpp in Sources */, - BCD81FD3D1EC305F801E1C1B /* sckipc.cpp in Sources */, - A3A898DA3114311EB7F02227 /* sckstrm.cpp in Sources */, - 6978D7A20DA93A329DDD1383 /* socket.cpp in Sources */, - E7140F3AB94D3FDFA86D8C06 /* url.cpp in Sources */, - 652CFDD9A1C1366E99B5D6BC /* socketiohandler.cpp in Sources */, - 346D274E17673A01B0177D5B /* sockunix.cpp in Sources */, - AD07124BBA613B47829F0692 /* sockosx.cpp in Sources */, - CFDBB80A4C9A3BA092273936 /* animatecmn.cpp in Sources */, - 5C44446AB150378696CD6B3C /* bmpcboxcmn.cpp in Sources */, - 901F659891613419B8643952 /* calctrlcmn.cpp in Sources */, - 1CD4F67F48CF3A5FA477D86E /* datavcmn.cpp in Sources */, - 2FAE979E6FE23D088C768B7D /* gridcmn.cpp in Sources */, - 7B4DA2F5F25B3E188CBAFE38 /* hyperlnkcmn.cpp in Sources */, - E6D18B2EDE353F678830859F /* odcombocmn.cpp in Sources */, - 2FE10EA678C73523836FCC1C /* richtooltipcmn.cpp in Sources */, - FEA741A9B6663A4C929893C2 /* aboutdlgg.cpp in Sources */, - E0FAB345D2933D42B62917A3 /* bannerwindow.cpp in Sources */, - B189DB62AE9F30A1B613756B /* bmpcboxg.cpp in Sources */, - 2F50DBC14FE538A49823925A /* calctrlg.cpp in Sources */, - 8A662992FFCB32E99D11950C /* commandlinkbuttong.cpp in Sources */, - 8B60964DA1DF3F3DB40BE123 /* datavgen.cpp in Sources */, - B4425B59CC27389CA9FF81D1 /* datectlg.cpp in Sources */, - 5557AA36FBCC3ED9A5F5751A /* editlbox.cpp in Sources */, - A139B846584436BCBEBAE3BF /* grid.cpp in Sources */, - 2E930206397C3EDCBD8206FC /* gridctrl.cpp in Sources */, - E5D698D2606A304DA743AF92 /* grideditors.cpp in Sources */, - 187F921A95DA3594B0AD980D /* gridsel.cpp in Sources */, - F016C51053373E658ED4C9A9 /* helpext.cpp in Sources */, - 760C729E41D93CC1AA2B4E0D /* hyperlinkg.cpp in Sources */, - 955D2199F1893D37BA2D7478 /* laywin.cpp in Sources */, - CEE0D7A7D5D8323B9957A780 /* notifmsgg.cpp in Sources */, - 1E17F95DD433379E8C18298C /* odcombo.cpp in Sources */, - 6A10511265493FA2BB79CE4D /* propdlg.cpp in Sources */, - C67EAE20657E36839BF86690 /* richtooltipg.cpp in Sources */, - 3554C88010CE3D2A8970A135 /* sashwin.cpp in Sources */, - 8AA341CCFB8E3F6AB3523595 /* splash.cpp in Sources */, - 98F52D5224B438DFA8887E06 /* timectrlg.cpp in Sources */, - 77BC918AF05C30E8A0BD27F8 /* tipdlg.cpp in Sources */, - 060E095718B03EF98C754799 /* treelist.cpp in Sources */, - 82FA4AA043213728AC266700 /* wizard.cpp in Sources */, - EC3D181D65F33E09A675FFF2 /* addremovectrl.cpp in Sources */, - D00AF125FCB63A7A8F9B87DE /* taskbarcmn.cpp in Sources */, - 46F341B46F80376B962759F5 /* animateg.cpp in Sources */, - 8E220BCD39B336A495E775BD /* aboutdlg.cpp in Sources */, - 3902517F9ED03648B5A4B96A /* drawer.cpp in Sources */, - 0723C4E8B52C39FDBC2158B6 /* dataview_osx.cpp in Sources */, - A59667064DED3BD48F29686C /* dataview.cpp in Sources */, - CE2C937117FE3AB599DD30B9 /* sound_osx.cpp in Sources */, - 61FEDBF2D47A3B4E861F8296 /* sound.cpp in Sources */, - 5568A53DA84E3B498D606506 /* taskbar.cpp in Sources */, - C1DCF69200593986A8C606A6 /* hidjoystick.cpp in Sources */, - 929B053AC2B2355CAF7EBA82 /* activityindicator.cpp in Sources */, - 2DBF5F96CCC63F7481C26A43 /* webview_webkit.mm in Sources */, - 64A716F87A5136F9A790EC5A /* webview.cpp in Sources */, - 5C5D0983160A36189A770742 /* webviewarchivehandler.cpp in Sources */, - 048986FB629E313EA670CD0C /* webviewfshandler.cpp in Sources */, - DEC5F4B34BC037169D3E5F2A /* mediactrlcmn.cpp in Sources */, - 94389E029E27343EB69C8B79 /* mediactrl.cpp in Sources */, - 47EBBB18BDB539C2A948C711 /* chm.cpp in Sources */, - BAA75384DA82370298672333 /* helpctrl.cpp in Sources */, - 2CAD4DF9505F36E4A2EAD53D /* helpdata.cpp in Sources */, - D17E3053DA0D3F7EA4D0951B /* helpdlg.cpp in Sources */, - 7C87CC7641033D91823ED688 /* helpfrm.cpp in Sources */, - 3D762A0BBF1B39B88A769632 /* helpwnd.cpp in Sources */, - 4DA209AEF4AD32AAB97F9718 /* htmlcell.cpp in Sources */, - FD3CC5F0AA41384B9388A1E0 /* htmlfilt.cpp in Sources */, - C5E5AB869065307F83E27DD1 /* htmlpars.cpp in Sources */, - EBA0986930DA3B59B2FB4F1E /* htmltag.cpp in Sources */, - 93E04642049537EB8A37BA26 /* htmlwin.cpp in Sources */, - 3E99016BDE043A08B4D6B3CE /* htmprint.cpp in Sources */, - 9836B3D336963795928FE5A1 /* m_dflist.cpp in Sources */, - 66584BC871303041BA622DE0 /* m_fonts.cpp in Sources */, - 99F7D7BFBB543A04AB728375 /* m_hline.cpp in Sources */, - A3586433C4B1398FB1C361D6 /* m_image.cpp in Sources */, - BD53E095EC1136EF853A47D8 /* m_layout.cpp in Sources */, - C05BDB0B5F5A33A9A57FF012 /* m_links.cpp in Sources */, - 81B742D64BEB373DB705947A /* m_list.cpp in Sources */, - FD38B04026F930CC80BC9480 /* m_pre.cpp in Sources */, - 57AE7FCF768F3965BD39B47A /* m_span.cpp in Sources */, - 4CFB7E6E5BD53E2BB39BEF63 /* m_style.cpp in Sources */, - 3D424F4B33653A00AE9B623A /* m_tables.cpp in Sources */, - F3AC352D6DAE3A12A5664768 /* styleparams.cpp in Sources */, - 2A7640E4210334AC93366900 /* winpars.cpp in Sources */, - 87AA9C5D887B3C31A2AFB49D /* htmllbox.cpp in Sources */, - 8F949B9010863F66A58FFEF1 /* xh_activityindicator.cpp in Sources */, - FBE4DB30865D3177B3A9993B /* xh_animatctrl.cpp in Sources */, - 702616D38A5B345D9CC87114 /* xh_bannerwindow.cpp in Sources */, - 94E510619F433AE3AC884755 /* xh_bmp.cpp in Sources */, - 8966F77CC97B3ED780C8F137 /* xh_bmpcbox.cpp in Sources */, - 84B3625464F732C3A79E1314 /* xh_bmpbt.cpp in Sources */, - D5C304182151365FA9FF8A3D /* xh_bttn.cpp in Sources */, - FE9A662A1F9B34D099C45C1D /* xh_cald.cpp in Sources */, - 6138BCBC8E4438FA91E0EF9F /* xh_chckb.cpp in Sources */, - 5F2C2A46781739D897CF293D /* xh_chckl.cpp in Sources */, - CE17002B5B7E375582747639 /* xh_choic.cpp in Sources */, - 26E4813A97DE323E88119163 /* xh_choicbk.cpp in Sources */, - E7AF3BF2B3473AD9BE66D1A1 /* xh_clrpicker.cpp in Sources */, - 1AB50C98FF473B33A3CA4D39 /* xh_cmdlinkbn.cpp in Sources */, - E7921B0472B63E4091F4F517 /* xh_collpane.cpp in Sources */, - 84382E5DB3203A73AC5EE390 /* xh_combo.cpp in Sources */, - F569D7A3F0E038E9B4CC2A76 /* xh_comboctrl.cpp in Sources */, - FB09720D13673A7B81BCB645 /* xh_datectrl.cpp in Sources */, - F7D10B6E0CBA32EFAF79C77C /* xh_dirpicker.cpp in Sources */, - 3B7E035ECF3D3FFB9827AC1C /* xh_dlg.cpp in Sources */, - E05B06A7FEEE32D5AD87EA4F /* xh_editlbox.cpp in Sources */, - F24F637D59F637CA9A7E23C9 /* xh_filectrl.cpp in Sources */, - 5FE969523BDB3353AEF96810 /* xh_filepicker.cpp in Sources */, - 438EAEA4B30C325C827F6197 /* xh_fontpicker.cpp in Sources */, - 95826E8528CC32D8934C36EC /* xh_frame.cpp in Sources */, - BE99A85EE76236CC8C719A64 /* xh_gauge.cpp in Sources */, - 26649553E4763EE6BA268B7D /* xh_gdctl.cpp in Sources */, - 72AD4417FF7C3094BB1FF62C /* xh_grid.cpp in Sources */, - 83616D33080E3F0F9FA5FBB4 /* xh_html.cpp in Sources */, - 2B13BFC894C63373B7ACFA3D /* xh_hyperlink.cpp in Sources */, - C34B8675439F39B4845FFC50 /* xh_listb.cpp in Sources */, - F5DF7AF0FA9E371BB71EF798 /* xh_listbk.cpp in Sources */, - 96B507455762391688B5E500 /* xh_listc.cpp in Sources */, - F34D240EB4513FE996179182 /* xh_mdi.cpp in Sources */, - 65FCDBFFF3F138A3ABBAA650 /* xh_menu.cpp in Sources */, - 0FBF7C9EDFB53D8DA0991B55 /* xh_notbk.cpp in Sources */, - 0FA6E1E47F123FF4A902E4D2 /* xh_odcombo.cpp in Sources */, - 36B0B923B836358D9DB0AE10 /* xh_panel.cpp in Sources */, - CDC0FF253B503BA19693D68D /* xh_propdlg.cpp in Sources */, - 47F4FC8717AF3A848812DFCC /* xh_radbt.cpp in Sources */, - 7181709A030D3749AB355B74 /* xh_radbx.cpp in Sources */, - FDE14459359334DE9FB03ED5 /* xh_scrol.cpp in Sources */, - 87092C0C817D343DAB77E23E /* xh_scwin.cpp in Sources */, - 00E2F82590B33BDCA1F6D0C4 /* xh_htmllbox.cpp in Sources */, - A39B0D7EB43137F7BA50A35C /* xh_simplebook.cpp in Sources */, - E1A20811148F31D289AF98AF /* xh_sizer.cpp in Sources */, - 5F6B4F226B473AACB7AC8DF5 /* xh_slidr.cpp in Sources */, - C32EF2EC1A103BC3A6254321 /* xh_spin.cpp in Sources */, - 33ED014A7FF7398794E6E4CF /* xh_split.cpp in Sources */, - 7C9EAFF4A0223EE597E0E39E /* xh_srchctrl.cpp in Sources */, - 8AB7191F7CB838FC8337C48D /* xh_statbar.cpp in Sources */, - 3D3EA1BAAD1833B1B48E9C86 /* xh_stbmp.cpp in Sources */, - F22C401903993639AE05A295 /* xh_stbox.cpp in Sources */, - BF3D600A93403C589B65C5BF /* xh_stlin.cpp in Sources */, - 8292D346BFC33D6E8D3CDDBF /* xh_sttxt.cpp in Sources */, - 0EB6AB38A68D3845AC384A23 /* xh_text.cpp in Sources */, - B181806CC34839E791E54BF0 /* xh_tglbtn.cpp in Sources */, - 89200B144075388BA69A07E2 /* xh_timectrl.cpp in Sources */, - F3CB42BB6D983675862C01F3 /* xh_toolb.cpp in Sources */, - 17F0494F87533196904F5313 /* xh_toolbk.cpp in Sources */, - 3357BD0518F538E9A949F886 /* xh_tree.cpp in Sources */, - 46CE8B53D2663927AAE5DF9D /* xh_treebk.cpp in Sources */, - C5A8DF376BB13A2A8290C2E5 /* xh_unkwn.cpp in Sources */, - 37DD17F479A1371ABF3589B9 /* xh_wizrd.cpp in Sources */, - 1710A4BB0E6339558A187F8D /* xmlres.cpp in Sources */, - 867F5D1962383C98A8ADDC3D /* xmladv.cpp in Sources */, - 135DFCE48FC03D8294D01A89 /* xmlrsall.cpp in Sources */, - 50E89226E8D7390D9D21C809 /* debugrpt.cpp in Sources */, - 7C5552FA058034238F485900 /* dbgrptg.cpp in Sources */, - 61FD5E0E28F732E8AB1729F8 /* xml.cpp in Sources */, - 42ED9BAFD6E936849F1D36CB /* xtixml.cpp in Sources */, - EEB0B28903693C7E9D07192F /* glcmn.cpp in Sources */, - E475B8377D7A352C90342299 /* glcanvas.cpp in Sources */, - F2813BF297C73A3ABD02EC98 /* glcanvas_osx.cpp in Sources */, - 36EB5D19429D3BD1A01001D5 /* framemanager.cpp in Sources */, - C7B6240E0E213836996A178B /* dockart.cpp in Sources */, - 15048519756B33959B15B161 /* floatpane.cpp in Sources */, - E104017EE1A4357DAF84E1E6 /* auibook.cpp in Sources */, - 39CC380F801F3EE984523275 /* auibar.cpp in Sources */, - 6C46AF0370793AA0B74A5A4A /* tabmdi.cpp in Sources */, - AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */, - 0CB8C75E80FC3DC588FA68FE /* xh_auinotbk.cpp in Sources */, - 44C6F11C7D1C399F99CF6BD4 /* xh_auitoolb.cpp in Sources */, - DE43350F6C9D3148A64F0AF9 /* art_internal.cpp in Sources */, - 7DC4A542372437ECA0790F87 /* art_msw.cpp in Sources */, - A0BA01A85C303C78A3130711 /* art_aui.cpp in Sources */, - 056CA84179433AA48D55DA65 /* bar.cpp in Sources */, - CB078622E90F33BE9D131133 /* buttonbar.cpp in Sources */, - EB52C6A91594381393294500 /* control.cpp in Sources */, - 5F57C4908E5038D19D68ED7A /* gallery.cpp in Sources */, - 4BAFAE70A6B1313B96D86630 /* page.cpp in Sources */, - F0D892C2618130FEAD46BB86 /* panel.cpp in Sources */, - EA02FA6D3B003F8F8A2963C8 /* toolbar.cpp in Sources */, - 5A459FC1180130C5B705AEDA /* xh_ribbon.cpp in Sources */, - D54A162E557834A48F4646A9 /* advprops.cpp in Sources */, - F501AB044AAC39DCB8C0B3E1 /* editors.cpp in Sources */, - 6B9EEA3CF2E536E3B1ADAC42 /* manager.cpp in Sources */, - 46A4CCF128FC3EB092074DC5 /* property.cpp in Sources */, - 26BB10834DA1388881BDD1EC /* propgrid.cpp in Sources */, - BEA90F2C6BB93143958F899A /* propgridiface.cpp in Sources */, - A423177BBC0F3BE5A436B4B7 /* propgridpagestate.cpp in Sources */, - D72D99FC424337CF9EDC2042 /* props.cpp in Sources */, - 9065A4BE3D0433B88CF45571 /* richtextbuffer.cpp in Sources */, - 5C3B0ED2EA973DFDBFBCC692 /* richtextctrl.cpp in Sources */, - 9455B49669853E71BD4FD965 /* richtextformatdlg.cpp in Sources */, - 70F898F8B129380BBECAC559 /* richtexthtml.cpp in Sources */, - F43DAE2E829A3A7493531381 /* richtextimagedlg.cpp in Sources */, - 0FDDE8E193743F3A8CBDC67C /* richtextprint.cpp in Sources */, - FADD46CB89B135D1AF1D5F8A /* richtextstyledlg.cpp in Sources */, - 2563C775427E3D68BD384F2F /* richtextstyles.cpp in Sources */, - 604ABF86317C3D4F899DBF37 /* richtextsymboldlg.cpp in Sources */, - 9058997222493A7A859A4D4C /* richtextxml.cpp in Sources */, - 0BB3BF0909A134BA93CF5620 /* xh_richtext.cpp in Sources */, - E3B3E4F75D503DB89B5C622D /* stc.cpp in Sources */, - 908957F65B7E36F8BF3858DD /* PlatWX.cpp in Sources */, - 3E6AA08E72A030D39D867D4B /* ScintillaWX.cpp in Sources */, - F5B0B26BD0803719A3FCB4D7 /* adler32.c in Sources */, - BE3ED6EF34303867B8C8E923 /* compress.c in Sources */, - AC07BA4EA5403443914DFDB1 /* crc32.c in Sources */, - 8DE45CEAF2DD3C22AA019F74 /* deflate.c in Sources */, - 213CE0DD5B2335D0AD53B54A /* gzclose.c in Sources */, - 0E8A0B8FA40E365690C20230 /* gzlib.c in Sources */, - 4B996B4C54163D7091427DB5 /* gzread.c in Sources */, - 4E2737AC738431EB9898B8B6 /* gzwrite.c in Sources */, - 5EE94793DFCB3BA281A4864E /* infback.c in Sources */, - 10743B74A58231639C6BF610 /* inffast.c in Sources */, - 42AC484FDD7D3E948CEA801C /* inflate.c in Sources */, - 3813146434693234965C4F31 /* inftrees.c in Sources */, - 1CC5AEC6C08E3600801CDADA /* trees.c in Sources */, - 9C6E9E4BA54733EF9F87E4B7 /* uncompr.c in Sources */, - 42260A6F1853361083803B0C /* zutil.c in Sources */, - 99E7A46106C03484BA70D29E /* tif_unix.c in Sources */, - 4E396D8D2E9138D797F320C6 /* tif_aux.c in Sources */, - 1EE845DDFDDE36CA8A218205 /* tif_close.c in Sources */, - 8E674574343A3C009B1BCD00 /* tif_codec.c in Sources */, - D95C5F467D37339AB8DF2354 /* tif_color.c in Sources */, - 6D073876E1753549B5EEFDDA /* tif_compress.c in Sources */, - E3136EF5DD843ACE886E2868 /* tif_dir.c in Sources */, - 7ECC6EE6D5273F75BB6B7B74 /* tif_dirinfo.c in Sources */, - D51B3389209E370489078891 /* tif_dirread.c in Sources */, - E7F35B834A163C67B65176C6 /* tif_dirwrite.c in Sources */, - 2D4D105CA9BE3FA6995A5FFF /* tif_dumpmode.c in Sources */, - C2CF6B59914A3183ADE84028 /* tif_error.c in Sources */, - 2315C8692C443ED1AE431728 /* tif_extension.c in Sources */, - FECC98B53C0F3106AB04E69E /* tif_fax3.c in Sources */, - 2C53221A318E37529E6460EB /* tif_fax3sm.c in Sources */, - 522E6CF2A62F34259BCE2DE2 /* tif_flush.c in Sources */, - 6944AC98F6F83E3D983DABD3 /* tif_getimage.c in Sources */, - CB46C7E531903700ADFB11C8 /* tif_jbig.c in Sources */, - 07C769F64665317BA3E1AC90 /* tif_jpeg.c in Sources */, - 09A792A5129E3FE1BF077641 /* tif_jpeg_12.c in Sources */, - 88A43B1C5A7438838DE97B94 /* tif_luv.c in Sources */, - DC928C38CA8331F18FF00BCB /* tif_lzma.c in Sources */, - 779D3480141B3683A6D132BE /* tif_lzw.c in Sources */, - F85D632964383F29BC3B30B6 /* tif_next.c in Sources */, - 64F11C549E3035DF85691060 /* tif_ojpeg.c in Sources */, - 793F542F20AB31F6AF736795 /* tif_open.c in Sources */, - A9A5973552EE30838306D15C /* tif_packbits.c in Sources */, - 64DD406C453D39FEBBE66ED1 /* tif_pixarlog.c in Sources */, - 9A178ED42D96329D8CBF9B89 /* tif_predict.c in Sources */, - C170B941F01334F982315E4A /* tif_print.c in Sources */, - 570FA90F526E3F25A8E8FCF2 /* tif_read.c in Sources */, - 912C69ADB1673ACEB0E6CF08 /* tif_strip.c in Sources */, - 552708E6296D33EBB5F6A493 /* tif_swab.c in Sources */, - 527054445A0D3A00A5C2EC44 /* tif_thunder.c in Sources */, - FEB073547F3F3AC19D31F698 /* tif_tile.c in Sources */, - 096BA201623034AD97218368 /* tif_version.c in Sources */, - 7A79D9AC608E3B8287229174 /* tif_warning.c in Sources */, - F2F2963D8ECC32D39FDBF101 /* tif_write.c in Sources */, - 6E2C2E8AA1713ADE9C338379 /* tif_zip.c in Sources */, - FCE5B139CBE73FCB804EF7DD /* jcomapi.c in Sources */, - 311840186794346AAAA42091 /* jutils.c in Sources */, - DE26572475EE336B8EEA5D92 /* jerror.c in Sources */, - 18A318847EAC37F2B915F081 /* jmemmgr.c in Sources */, - A7692B4D8658347BA16EEB83 /* jmemnobs.c in Sources */, - 894D43C8F224394FB3171F26 /* jcapimin.c in Sources */, - 743BB23211B336A6A0F26E57 /* jcapistd.c in Sources */, - CCE4ECA9CE883B008065C6FB /* jctrans.c in Sources */, - ACD644CFA85A3B70A3E3B118 /* jcparam.c in Sources */, - 76A83A293C9F33BCB7DFDE26 /* jdatadst.c in Sources */, - 86003C8EB906304F9025F788 /* jcinit.c in Sources */, - C6DF6F29407B34F29ED1B66D /* jcmaster.c in Sources */, - DB73248401573A5996D8E68D /* jcmarker.c in Sources */, - 98DF13E96160304EBB905E73 /* jcmainct.c in Sources */, - 32486A808EBC3E088598D51C /* jcprepct.c in Sources */, - CA5BD8ABDBA13641BBE7CD66 /* jccoefct.c in Sources */, - 11DD420E32FB3EFB9DA0AB5B /* jccolor.c in Sources */, - 50D7E093424138C88BB50D27 /* jcsample.c in Sources */, - BDB7B2AD26CB356B8BEAAECD /* jchuff.c in Sources */, - A212431902B8343CA6D229D3 /* jcphuff.c in Sources */, - BFA6983551B4310DA7C8A404 /* jcdctmgr.c in Sources */, - 9B3F9D04FB533D99B58BD519 /* jfdctfst.c in Sources */, - 0948599C4FD53611A09B52AB /* jfdctflt.c in Sources */, - CEC6430AEB6E3200BFA75D07 /* jfdctint.c in Sources */, - 8B9C9FCB954F3596A4CED9A5 /* jdapimin.c in Sources */, - 67EBCE5FA5FF36349ADF0916 /* jdapistd.c in Sources */, - 11818B68C5263EB68D708845 /* jdtrans.c in Sources */, - 4CB3626391CE34D4B1F71AA0 /* jdatasrc.c in Sources */, - CEBAAB0C77983358A601BFFE /* jdmaster.c in Sources */, - 14EF556997B0350F931EBE8E /* jdinput.c in Sources */, - 61C3F7D495FB3E8BA402E4F8 /* jdmarker.c in Sources */, - 28ADE8D385A53445A5451F23 /* jdhuff.c in Sources */, - D0DA11B814AF30A18585122F /* jdphuff.c in Sources */, - 9FD99E06F6613A1A958FAF6B /* jdmainct.c in Sources */, - B5470121BB4B35DE9C4836DA /* jdcoefct.c in Sources */, - E7D02E64384F37BC8939A2C4 /* jdpostct.c in Sources */, - 13854E7822783719A2530792 /* jddctmgr.c in Sources */, - 48A1F28E04603A68A1E70318 /* jidctfst.c in Sources */, - B01C4EF49CF9390DA93A3502 /* jidctflt.c in Sources */, - C43A9650A9DC3372AB8F5F78 /* jidctint.c in Sources */, - 1A7FA35BDE4F35C685AB51A5 /* jidctred.c in Sources */, - D997FFC948B73FDA892DB531 /* jdsample.c in Sources */, - D9F02AFDA07D3857A905527C /* jdcolor.c in Sources */, - 15D65A523EB23EC385C05E0B /* jquant1.c in Sources */, - 3C0EB1DDA5243E31B2D92CE2 /* jquant2.c in Sources */, - 1E4832B42B95308299B767B9 /* jdmerge.c in Sources */, - 94B1C88076793400810FAC30 /* png.c in Sources */, - 1569BB4728693B6285623A23 /* pngerror.c in Sources */, - D9496139621533328AE727B6 /* pngget.c in Sources */, - CFA91122523B31B9A07A3826 /* pngmem.c in Sources */, - 9EC837DA722736119D49868A /* pngpread.c in Sources */, - 9B8E5690A6103FC1BDC6C47E /* pngread.c in Sources */, - 31FEAB56919D372993CAD89C /* pngrio.c in Sources */, - 8FDC800D873F30E282691832 /* pngrtran.c in Sources */, - 61A2B54FD2E33C759CF5A5E8 /* pngrutil.c in Sources */, - 309C0A78D45C3AB7B8778B59 /* pngset.c in Sources */, - E515EAE375AE390688CBF8D3 /* pngtrans.c in Sources */, - C8C68927DB243AEAB51E11F2 /* pngwio.c in Sources */, - 0095084719983B878378CA28 /* pngwrite.c in Sources */, - 242E1D1A9BF331BA918134EC /* pngwtran.c in Sources */, - 2989056891153968B372EA14 /* pngwutil.c in Sources */, - E4131E3B445C36E6A7FC802F /* regcomp.c in Sources */, - 768716016CE7310BB1AD7567 /* regexec.c in Sources */, - B026621DE50A3921B6598EF6 /* regerror.c in Sources */, - 05021BAB2C9B3C4CAD0A7C2C /* regfree.c in Sources */, - 23CECD8647C037E0B41DF0D4 /* LexA68k.cxx in Sources */, - 66FD099CE5A338C18329FC36 /* LexAbaqus.cxx in Sources */, - CD35A576FD363FD49C3AC4B3 /* LexAda.cxx in Sources */, - 0654BCC3F0763C50A7949504 /* LexAPDL.cxx in Sources */, - 0C3F48DBD05E3566A4CA6D44 /* LexAsm.cxx in Sources */, - 825EAD51920B387DB4F8C426 /* LexAsn1.cxx in Sources */, - 0ADC8DBEE80D36B0BB9B058A /* LexASY.cxx in Sources */, - 784F7C50882F320FA76537B5 /* LexAU3.cxx in Sources */, - 07EC76232BB3343FA5CB90B0 /* LexAVE.cxx in Sources */, - 5519BA1F2463308FAC4A0C9F /* LexAVS.cxx in Sources */, - D54D3CA9E73336A08DB20705 /* LexBaan.cxx in Sources */, - 39FB197CF9EB3D76BE0723CF /* LexBash.cxx in Sources */, - 6C7C1CC506CB329FB2D086A9 /* LexBasic.cxx in Sources */, - C92005CB86C6361BBB9D7C67 /* LexBibTeX.cxx in Sources */, - 78E15D8200F635529F396099 /* LexBullant.cxx in Sources */, - 268DDC88C99A3A64AB8B2FFA /* LexCaml.cxx in Sources */, - 6F472413FFA03B53B395BB74 /* LexCLW.cxx in Sources */, - 6F5A0D3C7763334396A3783D /* LexCmake.cxx in Sources */, - D8ADDD24BEAC3D94B3388D3E /* LexCOBOL.cxx in Sources */, - 2020EE3C45743B53BE8C7F38 /* LexCoffeeScript.cxx in Sources */, - B640A8A74D973A8FBEF63916 /* LexConf.cxx in Sources */, - A0FCE3CF565C3F84B63712AC /* LexCPP.cxx in Sources */, - 97F60B2A9CE93BC8949A8CCD /* LexCrontab.cxx in Sources */, - 834F2ADD0520313FBAC4F927 /* LexCsound.cxx in Sources */, - 069D53F2DFBF370A8CC99630 /* LexCSS.cxx in Sources */, - 8FB5FBC5730C33F1A3D85D9F /* LexD.cxx in Sources */, - 0B792C3F31713850818EEFEA /* LexDMAP.cxx in Sources */, - DC5F82733F733D98B39DE74D /* LexDMIS.cxx in Sources */, - AAC2AC9C49F1366D8BD20F5E /* LexECL.cxx in Sources */, - E8BBC08597EF383597DA0308 /* LexEiffel.cxx in Sources */, - BFD3BFBDC8DA3B1EAD141F96 /* LexErlang.cxx in Sources */, - 4788F736CD9C324E8A3DFA74 /* LexEScript.cxx in Sources */, - 45D88A74B3EE3837B9F79595 /* LexFlagship.cxx in Sources */, - 27759C2FBB0E35FDA847B2B5 /* LexForth.cxx in Sources */, - 020BBB417207393F8C60EFB6 /* LexFortran.cxx in Sources */, - E62F8E49FD5035D8BC71BB49 /* LexGAP.cxx in Sources */, - 9B6A35E706543CDAA6A5014A /* LexGui4Cli.cxx in Sources */, - 51D133EC44F830588FEEAEC0 /* LexHaskell.cxx in Sources */, - D98FABF75BCE3AF18C91B42D /* LexHex.cxx in Sources */, - AEEE6BC41B6531898A61CB16 /* LexHTML.cxx in Sources */, - B37802B0A90133C68EF93DDA /* LexInno.cxx in Sources */, - 14C024EB327435A2A571DA2C /* LexKix.cxx in Sources */, - E3AD8574E13B39BDB8D4E92E /* LexKVIrc.cxx in Sources */, - 62331487C17B32E081B8FEA7 /* LexLaTeX.cxx in Sources */, - DF8124E5E17D386A84CEEA27 /* LexLisp.cxx in Sources */, - D13AE659C3AC37B68D39B2C9 /* LexLout.cxx in Sources */, - 9D003890CB7035A298DB7056 /* LexLua.cxx in Sources */, - E80BEED62EBF34F09B3F401F /* LexMagik.cxx in Sources */, - E0E40333B61C33B58787078E /* LexMarkdown.cxx in Sources */, - 5AEA6E94FB76371D928D371C /* LexMatlab.cxx in Sources */, - 1A4F9F18BBEB3515AC7C7CC6 /* LexMetapost.cxx in Sources */, - 3C394FBD47B6310C80577E3B /* LexMMIXAL.cxx in Sources */, - 7CC211E10D853B958250A4CE /* LexModula.cxx in Sources */, - EC43AFB3670A3D459D9B388D /* LexMPT.cxx in Sources */, - E8EE34F0A78C31B489B19FEE /* LexMSSQL.cxx in Sources */, - CB1F37993ECB3B73A51B42FD /* LexMySQL.cxx in Sources */, - A874AF0B203D3DC99C27469A /* LexNimrod.cxx in Sources */, - 22C76BF2C3E331CD87657E6E /* LexNsis.cxx in Sources */, - 76D1A1A49CC831FFB9EBB1F5 /* LexOpal.cxx in Sources */, - 324B2BAC54553D45B3C56BFD /* LexOScript.cxx in Sources */, - BEFC179F8A0E337F9D627D84 /* LexOthers.cxx in Sources */, - 0718E7524134312090541D6E /* LexPascal.cxx in Sources */, - 24A5A71C79733E9CB913C5B7 /* LexPB.cxx in Sources */, - 369BCCFF61D13A058D837835 /* LexPerl.cxx in Sources */, - 0D79F1B4EF44393AA324213F /* LexPLM.cxx in Sources */, - FD3B31CE1E7832218B5D9A15 /* LexPO.cxx in Sources */, - A3C4D47A84E8362295867525 /* LexPOV.cxx in Sources */, - 22EC132AEF863BFBAA6EDEC3 /* LexPowerPro.cxx in Sources */, - 1FB1622D59593932B25C55BA /* LexPowerShell.cxx in Sources */, - 97C551F8AEF133D680D1FD36 /* LexProgress.cxx in Sources */, - 551BF168445E3D7BB54D0174 /* LexPS.cxx in Sources */, - A36B5107860E32659194073F /* LexPython.cxx in Sources */, - 31380AD4F5BD38A6B9212FE0 /* LexR.cxx in Sources */, - CCFD3144A22C3A87B67D88AB /* LexRebol.cxx in Sources */, - 3694B007E88A3D8C8CB952F0 /* LexRegistry.cxx in Sources */, - 7C20B79175D33852A2E9DE83 /* LexRuby.cxx in Sources */, - 502D7B786EAE383B9546F31F /* LexRust.cxx in Sources */, - BA9F0BBD57F63FD29E484FD3 /* LexScriptol.cxx in Sources */, - F55F3887CDE633D7877C607B /* LexSmalltalk.cxx in Sources */, - FE5B7C7A84B83C17A38E8403 /* LexSML.cxx in Sources */, - D5C5DD83882B3227A1CCFE0E /* LexSorcus.cxx in Sources */, - 6F8129E317EE3486A89D8548 /* LexSpecman.cxx in Sources */, - 9678C2B19D293818AA8E9E0D /* LexSpice.cxx in Sources */, - 71CCB06E790C3C54BFF1199D /* LexSQL.cxx in Sources */, - E46BEC5C8D643BD099AF1D56 /* LexSTTXT.cxx in Sources */, - 0F8C79010EF0316AA1B7392D /* LexTACL.cxx in Sources */, - 2102C23970FB3F22AB46A59A /* LexTADS3.cxx in Sources */, - CAF5C5BB129431B596C4C6C1 /* LexTAL.cxx in Sources */, - 49BEDFBC3661339D90EF6935 /* LexTCL.cxx in Sources */, - 697FC496816F33568E1FB5A5 /* LexTCMD.cxx in Sources */, - 7D0E549020D33ED39751DFC8 /* LexTeX.cxx in Sources */, - BA57708D2D563967A0D1F003 /* LexTxt2tags.cxx in Sources */, - D4EC9DB5F8DF319EA0FD26A4 /* LexVB.cxx in Sources */, - 3C5E1A45A57B3169A4C073D9 /* LexVerilog.cxx in Sources */, - 16021CFD78623B8CBD08FC1F /* LexVHDL.cxx in Sources */, - 9CC92BB4B0E233A0A7F81279 /* LexVisualProlog.cxx in Sources */, - 159E4248CB1333AD841D9F03 /* LexYAML.cxx in Sources */, - 91364FDD73053139BBAA313B /* Accessor.cxx in Sources */, - DF861EBD9C483E79ADF98602 /* CharacterCategory.cxx in Sources */, - 13A71672A59233D3A9B2D5E9 /* CharacterSet.cxx in Sources */, - 46395873DB1C3B7FA81DE5F8 /* LexerBase.cxx in Sources */, - DF3B927516FB365E865A9780 /* LexerModule.cxx in Sources */, - F6288F388B8C33FD85E9A155 /* LexerNoExceptions.cxx in Sources */, - 1C544DADDA6F3D62A5E25E93 /* LexerSimple.cxx in Sources */, - 7DEC57D6CE8232A09EF74219 /* PropSetSimple.cxx in Sources */, - CD241361D4693785A0B8939D /* StyleContext.cxx in Sources */, - 6C80B6049A523836BCD20BCA /* WordList.cxx in Sources */, - E741CDA71895344C974D8F50 /* AutoComplete.cxx in Sources */, - E92EB502F79638B0BE569EF4 /* CallTip.cxx in Sources */, - B97C178B47173E6AB0CE577B /* CaseConvert.cxx in Sources */, - 86B0D280A43C308CAC14BE24 /* CaseFolder.cxx in Sources */, - 8F98C20E7B223FF4B352C130 /* Catalogue.cxx in Sources */, - 682403FBBD4E3D5E88159501 /* CellBuffer.cxx in Sources */, - 1D7442C82B343F50A83B25B0 /* CharClassify.cxx in Sources */, - 6BC8B3EDB3AE3EF4BACFC08A /* ContractionState.cxx in Sources */, - 90BC965B1A1F35A3B2C9D1C9 /* Decoration.cxx in Sources */, - 0D6596A44A8C37DE85D578F6 /* Document.cxx in Sources */, - DD1B139EA5AD3F6DB92C0FA8 /* EditModel.cxx in Sources */, - 3C665EA42ECC3E5990BA347B /* EditView.cxx in Sources */, - 6D723C987BFB39B7B887DCB1 /* Editor.cxx in Sources */, - 83C492B87F4A3A97930F227A /* ExternalLexer.cxx in Sources */, - 0B4AF44DC0C439AD83CDC37E /* Indicator.cxx in Sources */, - C8F1FB8C029031A5909DBC56 /* KeyMap.cxx in Sources */, - 923F4797A73A3BDD87BBD1E1 /* LineMarker.cxx in Sources */, - EE6474BBB4AF34D093E2451D /* MarginView.cxx in Sources */, - 523FB2A8435A3324A8E1B370 /* PerLine.cxx in Sources */, - BF068F3C06473D8CBC55D507 /* PositionCache.cxx in Sources */, - A52A7D2FEB1434E29C64582C /* RESearch.cxx in Sources */, - 7B372FEA276438C186F7E340 /* RunStyles.cxx in Sources */, - 15735ED6556130F6A14F0BCD /* ScintillaBase.cxx in Sources */, - 097BC5E023C33C1DA05606AF /* Selection.cxx in Sources */, - 4C9BA36123E43589956864C6 /* Style.cxx in Sources */, - 19D823E564D932758EA6F8D1 /* UniConversion.cxx in Sources */, - 699D88EE2DAA3594B6606890 /* ViewStyle.cxx in Sources */, - BCDAE378D03E37F5994FB9C5 /* XPM.cxx in Sources */, - C2DEE063B5E032C1BD2B5026 /* xmlparse.c in Sources */, - AE84BC9A1CCA3ADA9C483950 /* xmlrole.c in Sources */, - DB9565CC4EAE3BCB9F490620 /* xmltok.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 55C93151F6053EBCBDD70DF8 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B44B32437825326C84607AD8 /* wxcarbon.xcconfig */; - buildSettings = { - EXECUTABLE_PREFIX = lib; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - WXMAKINGDLL, - "wxUSE_BASE=1", - ); - INSTALL_PATH = "@executable_path/../Frameworks/"; - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - }; - name = Debug; - }; - 55C93151F6053EBCBDD70DF9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8707324525DB344EA0E7D5CE /* wxdebug.xcconfig */; - buildSettings = { - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Debug; - }; - 55C93151F6053EBCBDD70DFA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B44B32437825326C84607AD8 /* wxcarbon.xcconfig */; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - "wxUSE_BASE=1", - ); - PRODUCT_NAME = "$(PRODUCT_NAME)_static"; - }; - name = Debug; - }; - 99B665C6D0D137B38CEA938E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B44B32437825326C84607AD8 /* wxcarbon.xcconfig */; - buildSettings = { - EXECUTABLE_PREFIX = lib; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - WXMAKINGDLL, - "wxUSE_BASE=1", - ); - INSTALL_PATH = "@executable_path/../Frameworks/"; - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - }; - name = Release; - }; - 99B665C6D0D137B38CEA938F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D5B7B7C10A3E3C689AE1E418 /* wxrelease.xcconfig */; - buildSettings = { - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Release; - }; - 99B665C6D0D137B38CEA9390 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B44B32437825326C84607AD8 /* wxcarbon.xcconfig */; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - "wxUSE_BASE=1", - ); - PRODUCT_NAME = "$(PRODUCT_NAME)_static"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 336FCCBABBEF3C4AA92AD394 /* Build configuration list for PBXNativeTarget "static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 55C93151F6053EBCBDD70DFA /* Debug */, - 99B665C6D0D137B38CEA9390 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F515C6D7EB103C50924F790B /* Build configuration list for PBXNativeTarget "dynamic" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 55C93151F6053EBCBDD70DF8 /* Debug */, - 99B665C6D0D137B38CEA938E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FE4F954C29353DAB832F4608 /* Build configuration list for PBXProject "wxcarbon" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 55C93151F6053EBCBDD70DF9 /* Debug */, - 99B665C6D0D137B38CEA938F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 19367367C9323490BB936F06 /* Project object */; -} diff --git a/build/osx/wxcarbon_in.xcodeproj/project.pbxproj b/build/osx/wxcarbon_in.xcodeproj/project.pbxproj deleted file mode 100644 index c0c3eb06f2..0000000000 --- a/build/osx/wxcarbon_in.xcodeproj/project.pbxproj +++ /dev/null @@ -1,287 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXFileReference section */ - 404BEE6110EC83280080E2B8 /* libwx_osx_carbon_static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwx_osx_carbon_static.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 409C323613B27E1D0009CB3C /* wxdebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxdebug.xcconfig; sourceTree = ""; }; - 409C323713B27E1D0009CB3C /* wxrelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxrelease.xcconfig; sourceTree = ""; }; - 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = wxcarbon.xcconfig; sourceTree = ""; }; - D2AAC0C705546C1D00DB518D /* libwx_osx_carbon.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwx_osx_carbon.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 404BEE5F10EC83280080E2B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D2AAC0C505546C1D00DB518D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DFFF38A50411DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - D2AAC0C705546C1D00DB518D /* libwx_osx_carbon.dylib */, - 404BEE6110EC83280080E2B8 /* libwx_osx_carbon_static.a */, - ); - name = Products; - sourceTree = ""; - }; - 0867D691FE84028FC02AAC07 /* wxcocoa */ = { - isa = PBXGroup; - children = ( - 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */, - 409C323613B27E1D0009CB3C /* wxdebug.xcconfig */, - 409C323713B27E1D0009CB3C /* wxrelease.xcconfig */, - 034768DFFF38A50411DB9C8B /* Products */, - ); - name = wxcocoa; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 404BEE5D10EC83280080E2B8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D2AAC0C305546C1D00DB518D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 404BEE6010EC83280080E2B8 /* static */ = { - isa = PBXNativeTarget; - buildConfigurationList = 404BEE6410EC83480080E2B8 /* Build configuration list for PBXNativeTarget "static" */; - buildPhases = ( - 404B023E10EC882E0080E2B8 /* ShellScript */, - 404BEE5D10EC83280080E2B8 /* Headers */, - 404BEE5E10EC83280080E2B8 /* Sources */, - 404BEE5F10EC83280080E2B8 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = static; - productName = static; - productReference = 404BEE6110EC83280080E2B8 /* libwx_osx_carbon_static.a */; - productType = "com.apple.product-type.library.static"; - }; - D2AAC0C605546C1D00DB518D /* dynamic */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB917D08733D990010E9CD /* Build configuration list for PBXNativeTarget "dynamic" */; - buildPhases = ( - 404B023C10EC88180080E2B8 /* ShellScript */, - D2AAC0C305546C1D00DB518D /* Headers */, - D2AAC0C405546C1D00DB518D /* Sources */, - D2AAC0C505546C1D00DB518D /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = dynamic; - productName = wxcocoa; - productReference = D2AAC0C705546C1D00DB518D /* libwx_osx_carbon.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB918108733D990010E9CD /* Build configuration list for PBXProject "wxcarbon_in" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 0867D691FE84028FC02AAC07 /* wxcocoa */; - productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D2AAC0C605546C1D00DB518D /* dynamic */, - 404BEE6010EC83280080E2B8 /* static */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXShellScriptBuildPhase section */ - 404B023C10EC88180080E2B8 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${WXROOT}/distrib/mac/pbsetup-sh\" \"${WXROOT}/src\" \"${WXROOT}/build/osx/setup/${WXTOOLKIT}\""; - }; - 404B023E10EC882E0080E2B8 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${WXROOT}/distrib/mac/pbsetup-sh\" \"${WXROOT}/src\" \"${WXROOT}/build/osx/setup/${WXTOOLKIT}\""; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 404BEE5E10EC83280080E2B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D2AAC0C405546C1D00DB518D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1DEB917E08733D990010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - EXECUTABLE_PREFIX = lib; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - WXMAKINGDLL, - "wxUSE_BASE=1", - ); - INSTALL_PATH = "@executable_path/../Frameworks/"; - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - }; - name = Debug; - }; - 1DEB917F08733D990010E9CD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - EXECUTABLE_PREFIX = lib; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - WXMAKINGDLL, - "wxUSE_BASE=1", - ); - INSTALL_PATH = "@executable_path/../Frameworks/"; - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - }; - name = Release; - }; - 1DEB918208733D990010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 409C323613B27E1D0009CB3C /* wxdebug.xcconfig */; - buildSettings = { - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Debug; - }; - 1DEB918308733D990010E9CD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 409C323713B27E1D0009CB3C /* wxrelease.xcconfig */; - buildSettings = { - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Release; - }; - 404BEE6210EC832A0080E2B8 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - "wxUSE_BASE=1", - ); - PRODUCT_NAME = "$(PRODUCT_NAME)_static"; - }; - name = Debug; - }; - 404BEE6310EC832A0080E2B8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3507E10EF2C130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(GCC_PREPROCESSOR_DEFINITIONS)", - "wxUSE_BASE=1", - ); - PRODUCT_NAME = "$(PRODUCT_NAME)_static"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB917D08733D990010E9CD /* Build configuration list for PBXNativeTarget "dynamic" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB917E08733D990010E9CD /* Debug */, - 1DEB917F08733D990010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB918108733D990010E9CD /* Build configuration list for PBXProject "wxcarbon_in" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB918208733D990010E9CD /* Debug */, - 1DEB918308733D990010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 404BEE6410EC83480080E2B8 /* Build configuration list for PBXNativeTarget "static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 404BEE6210EC832A0080E2B8 /* Debug */, - 404BEE6310EC832A0080E2B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/configure b/configure index 030e3f22fd..a5ea8df5c3 100755 --- a/configure +++ b/configure @@ -1070,11 +1070,9 @@ enable_universal with_themes with_gtk with_motif -with_osx_carbon with_osx_cocoa with_osx_iphone with_osx -with_carbon with_cocoa with_iphone with_mac @@ -2295,11 +2293,9 @@ Optional Packages: --with-themes=all|list use only the specified comma-separated list of wxUniversal themes --with-gtk[=VERSION] use GTK+, VERSION can be 3, 2 (default), 1 or "any" --with-motif use Motif/Lesstif - --with-osx_carbon use Mac OS X (Carbon) --with-osx_cocoa use Mac OS X (Cocoa) --with-osx_iphone use iPhone OS X port --with-osx use Mac OS X (default port, Cocoa) - --with-carbon same as --with-osx_carbon --with-cocoa same as --with-osx_cocoa --with-iphone same as --with-osx_iphone --with-mac same as --with-osx @@ -3690,10 +3686,9 @@ USE_ALPHA= NEEDS_D_REENTRANT_FOR_R_FUNCS=0 -ALL_TOOLKITS="GTK OSX_CARBON OSX_COCOA OSX_IPHONE MOTIF MSW X11 DFB QT" +ALL_TOOLKITS="GTK OSX_COCOA OSX_IPHONE MOTIF MSW X11 DFB QT" DEFAULT_wxUSE_GTK=0 -DEFAULT_wxUSE_OSX_CARBON=0 DEFAULT_wxUSE_OSX_COCOA=0 DEFAULT_wxUSE_OSX_IPHONE=0 DEFAULT_wxUSE_MOTIF=0 @@ -3703,7 +3698,6 @@ DEFAULT_wxUSE_DFB=0 DEFAULT_wxUSE_QT=0 DEFAULT_DEFAULT_wxUSE_GTK=0 -DEFAULT_DEFAULT_wxUSE_OSX_CARBON=0 DEFAULT_DEFAULT_wxUSE_OSX_COCOA=0 DEFAULT_DEFAULT_wxUSE_OSX_IPHONE=0 DEFAULT_DEFAULT_wxUSE_MOTIF=0 @@ -4349,12 +4343,6 @@ if test "${with_motif+set}" = set; then : fi -# Check whether --with-osx_carbon was given. -if test "${with_osx_carbon+set}" = set; then : - withval=$with_osx_carbon; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1 -fi - - # Check whether --with-osx_cocoa was given. if test "${with_osx_cocoa+set}" = set; then : withval=$with_osx_cocoa; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1 @@ -4373,12 +4361,6 @@ if test "${with_osx+set}" = set; then : fi -# Check whether --with-carbon was given. -if test "${with_carbon+set}" = set; then : - withval=$with_carbon; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1 -fi - - # Check whether --with-cocoa was given. if test "${with_cocoa+set}" = set; then : withval=$with_cocoa; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1 @@ -4559,7 +4541,7 @@ if test "$wxUSE_GUI" = "yes"; then done fi - NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_OSX_CARBON:-0} \ + NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} \ + ${wxUSE_OSX_COCOA:-0} + ${wxUSE_OSX_IPHONE:-0} + ${wxUSE_DFB:-0} \ + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} \ + ${wxUSE_X11:-0} + ${wxUSE_QT:-0}` @@ -4595,8 +4577,7 @@ $as_echo "base only" >&6; } fi wxUSE_MAC=0 -if test "$wxUSE_OSX_CARBON" = 1 \ - -o "$wxUSE_OSX_COCOA" = 1 \ +if test "$wxUSE_OSX_COCOA" = 1 \ -o "$wxUSE_OSX_IPHONE" = 1; then wxUSE_MAC=1 fi @@ -27030,35 +27011,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - if test "$wxUSE_OSX_CARBON" = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler syntax to enable Pascal strings" >&5 -$as_echo_n "checking for compiler syntax to enable Pascal strings... " >&6; } - if test "$GCC" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: gcc" >&5 -$as_echo "gcc" >&6; } - CPPFLAGS_PASCAL="-fpascal-strings" - elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: xlc" >&5 -$as_echo "xlc" >&6; } - CPPFLAGS_PASCAL="-qmacpstr" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - fi - - if test "x$wxUSE_UNIX" = "xyes"; then - CPPFLAGS="$CPPFLAGS_PASCAL -I/Developer/Headers/FlatCarbon $CPPFLAGS" - else - CPPFLAGS="$CPPFLAGS_PASCAL -DTARGET_CARBON $CPPFLAGS" - fi - - TOOLKIT=OSX_CARBON - GUIDIST=OSX_CARBON_DIST - WXBASEPORT="_carbon" - - TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMAC__ -D__WXOSX__" - fi - if test "$wxUSE_OSX_COCOA" = 1; then TOOLKIT=OSX_COCOA GUIDIST=OSX_COCOA_DIST @@ -28267,7 +28219,7 @@ USE_OPENGL=0 if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then - if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1; then + if test "$wxUSE_OSX_COCOA" = 1; then OPENGL_LIBS="-framework OpenGL -framework AGL" elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" @@ -29902,7 +29854,7 @@ TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffi TOOLCHAIN_FULLNAME="${HOST_PREFIX}${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}" -if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1; then +if test "$wxUSE_OSX_COCOA" = 1; then WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${WX_LIB_FLAVOUR}" else WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${WX_LIB_FLAVOUR}" @@ -35166,13 +35118,13 @@ if test "$wxUSE_BUSYINFO" = "yes"; then fi if test "$wxUSE_HOTKEY" = "yes"; then - if test "$wxUSE_MSW" != 1 -a "$wxUSE_OSX_COCOA" != 1 -a "$wxUSE_OSX_CARBON" != 1; then + if test "$wxUSE_MSW" != 1 -a "$wxUSE_OSX_COCOA" != 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Hot keys not supported by the current toolkit, disabled" >&5 $as_echo "$as_me: WARNING: Hot keys not supported by the current toolkit, disabled" >&2;} wxUSE_HOTKEY=no fi elif test "$wxUSE_HOTKEY" = "auto"; then - if test "$wxUSE_MSW" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_OSX_CARBON" = 1; then + if test "$wxUSE_MSW" = 1 -o "$wxUSE_OSX_COCOA" = 1; then wxUSE_HOTKEY=yes fi fi @@ -40815,15 +40767,9 @@ fi MACSETFILE="\$(SETFILE)" - if test "$wxUSE_OSX_CARBON" = 1; then - POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o" - RESCOMP="$REZ" - WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o" - else - POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}" - RESCOMP="cat /dev/null \| $REZ" - WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII" - fi + POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}" + RESCOMP="cat /dev/null \| $REZ" + WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII" else MACSETFILE="@true" @@ -42691,3 +42637,4 @@ echo " libmspack ${wxUSE_LIBMSPAC echo " sdl ${wxUSE_LIBSDL}" echo "" + diff --git a/configure.in b/configure.in index 885c249d4d..95e174db0e 100644 --- a/configure.in +++ b/configure.in @@ -99,12 +99,11 @@ NEEDS_D_REENTRANT_FOR_R_FUNCS=0 dnl the list of all available toolkits dnl dnl update NUM_TOOLKITS calculation below when adding a new toolkit here! -ALL_TOOLKITS="GTK OSX_CARBON OSX_COCOA OSX_IPHONE MOTIF MSW X11 DFB QT" +ALL_TOOLKITS="GTK OSX_COCOA OSX_IPHONE MOTIF MSW X11 DFB QT" dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones dnl which are either yes or no DEFAULT_wxUSE_GTK=0 -DEFAULT_wxUSE_OSX_CARBON=0 DEFAULT_wxUSE_OSX_COCOA=0 DEFAULT_wxUSE_OSX_IPHONE=0 DEFAULT_wxUSE_MOTIF=0 @@ -117,7 +116,6 @@ dnl these are the values which are really default for the given platform: dnl they're used if no --with- options were given to detect the dnl toolkit to use by default for the target platform DEFAULT_DEFAULT_wxUSE_GTK=0 -DEFAULT_DEFAULT_wxUSE_OSX_CARBON=0 DEFAULT_DEFAULT_wxUSE_OSX_COCOA=0 DEFAULT_DEFAULT_wxUSE_OSX_IPHONE=0 DEFAULT_DEFAULT_wxUSE_MOTIF=0 @@ -420,11 +418,9 @@ dnl we use AC_ARG_WITH and not WX_ARG_WITH for the toolkit options as they dnl shouldn't default to wxUSE_ALL_FEATURES AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 3, 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1]) -AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(osx_iphone, [ --with-osx_iphone use iPhone OS X port], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1]) -AC_ARG_WITH(carbon, [ --with-carbon same as --with-osx_carbon], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(cocoa, [ --with-cocoa same as --with-osx_cocoa], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(iphone, [ --with-iphone same as --with-osx_iphone], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1]) @@ -485,7 +481,7 @@ if test "$wxUSE_GUI" = "yes"; then dnl we suppose that expr is available (maybe there is a better way to do dnl this? what about using ALL_TOOLKITS? TODO) - NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_OSX_CARBON:-0} \ + NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} \ + ${wxUSE_OSX_COCOA:-0} + ${wxUSE_OSX_IPHONE:-0} + ${wxUSE_DFB:-0} \ + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} \ + ${wxUSE_X11:-0} + ${wxUSE_QT:-0}` @@ -518,8 +514,7 @@ else fi wxUSE_MAC=0 -if test "$wxUSE_OSX_CARBON" = 1 \ - -o "$wxUSE_OSX_COCOA" = 1 \ +if test "$wxUSE_OSX_COCOA" = 1 \ -o "$wxUSE_OSX_IPHONE" = 1; then wxUSE_MAC=1 fi @@ -3274,39 +3269,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config fi fi - if test "$wxUSE_OSX_CARBON" = 1; then - AC_MSG_CHECKING([for compiler syntax to enable Pascal strings]) - if test "$GCC" = yes; then - AC_MSG_RESULT([gcc]) - CPPFLAGS_PASCAL="-fpascal-strings" - elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then - AC_MSG_RESULT([xlc]) - CPPFLAGS_PASCAL="-qmacpstr" - else - AC_MSG_RESULT([none]) - fi - - if test "x$wxUSE_UNIX" = "xyes"; then - CPPFLAGS="$CPPFLAGS_PASCAL -I/Developer/Headers/FlatCarbon $CPPFLAGS" - else - dnl platform.h needs TARGET_CARBON before setup.h - CPPFLAGS="$CPPFLAGS_PASCAL -DTARGET_CARBON $CPPFLAGS" - fi - - TOOLKIT=OSX_CARBON - dnl we can't call this MAC_DIST or autoconf thinks its a macro - GUIDIST=OSX_CARBON_DIST - dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin - dnl are different, so they need different names: - WXBASEPORT="_carbon" - - dnl in addition to defining __WXOSX_CARBON__ for this toolkit we want - dnl to also define these extra symbols to make it possible to test for - dnl any Mac port (__WXMAC__ is for backwards compatibility, __WXOSX__ - dnl is a new name) - TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMAC__ -D__WXOSX__" - fi - if test "$wxUSE_OSX_COCOA" = 1; then TOOLKIT=OSX_COCOA GUIDIST=OSX_COCOA_DIST @@ -3462,7 +3424,7 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then dnl look in glcanvas.h for the list of platforms supported by wxGlCanvas: - if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1; then + if test "$wxUSE_OSX_COCOA" = 1; then OPENGL_LIBS="-framework OpenGL -framework AGL" elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" @@ -3709,7 +3671,7 @@ dnl library link name dnl These just save us from exporting lib_{unicode,flavour}_suffix. dnl If we ever need to do that, we won't need to keep these. -if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1; then +if test "$wxUSE_OSX_COCOA" = 1; then WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${WX_LIB_FLAVOUR}" else WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${WX_LIB_FLAVOUR}" @@ -5620,12 +5582,12 @@ if test "$wxUSE_BUSYINFO" = "yes"; then fi if test "$wxUSE_HOTKEY" = "yes"; then - if test "$wxUSE_MSW" != 1 -a "$wxUSE_OSX_COCOA" != 1 -a "$wxUSE_OSX_CARBON" != 1; then + if test "$wxUSE_MSW" != 1 -a "$wxUSE_OSX_COCOA" != 1; then AC_MSG_WARN([Hot keys not supported by the current toolkit, disabled]) wxUSE_HOTKEY=no fi elif test "$wxUSE_HOTKEY" = "auto"; then - if test "$wxUSE_MSW" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_OSX_CARBON" = 1; then + if test "$wxUSE_MSW" = 1 -o "$wxUSE_OSX_COCOA" = 1; then wxUSE_HOTKEY=yes fi fi @@ -7861,15 +7823,9 @@ if test "$wxUSE_MAC" = 1; then dnl resources are bundled both with shared library and applications dnl since the carb resource *must* be included in the application - if test "$wxUSE_OSX_CARBON" = 1; then - POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o" - RESCOMP="$REZ" - WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o" - else - POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}" - RESCOMP="cat /dev/null \| $REZ" - WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII" - fi + POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}" + RESCOMP="cat /dev/null \| $REZ" + WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII" else dnl default value is to (silently) do nothing in the makefile diff --git a/docs/doxygen/mainpages/const_cpp.h b/docs/doxygen/mainpages/const_cpp.h index 62408d8461..a03d2a69a3 100644 --- a/docs/doxygen/mainpages/const_cpp.h +++ b/docs/doxygen/mainpages/const_cpp.h @@ -37,11 +37,10 @@ using @ifdef_ and not @if_. Notice that for compatibility reasons, this symbol is defined for console applications under Windows as well, but it should only be used in the GUI code while __WINDOWS__ should be used for the platform tests.} -@itemdef{__WXOSX__, OS X GUI using any Apple widget framework (Carbon, AppKit or UIKit)} +@itemdef{__WXOSX__, OS X GUI using any Apple widget framework (AppKit or UIKit)} @itemdef{__WXOSX_IPHONE__, OS X iPhone (UIKit)} -@itemdef{__WXOSX_CARBON__, Mac OS X using Carbon} @itemdef{__WXOSX_COCOA__, Mac OS X using Cocoa (AppKit)} -@itemdef{__WXOSX_MAC__, Mac OS X (Carbon or Cocoa)} +@itemdef{__WXOSX_MAC__, Mac OS X (Cocoa)} @itemdef{__WXPM__, OS/2 native Presentation Manager (not used any longer).} @itemdef{__WXSTUBS__, Stubbed version ('template' wxWin implementation)} @itemdef{__WXXT__, Xt; mutually exclusive with WX_MOTIF, not implemented in wxWidgets 2.x} @@ -52,17 +51,13 @@ while __WINDOWS__ should be used for the platform tests.} @itemdef{__X__, any X11-based GUI toolkit except GTK+} @endDefList -There are two wxWidgets ports to Mac OS X. One of them, wxOSX is the successor of the -venerable wxMac, it currently exists in three versions: Carbon and Cocoa for the -desktop and a very early iPhone port. And there is the Cocoa port named wxCocoa -which has not been updated very actively since beginning 2008. To summarize: +wxOSX is the successor of the venerable wxMac, it currently exists in two +versions: Cocoa for the desktop and a very early iPhone port. To summarize: @li If you want to test for wxOSX on the desktop, use __WXOSX_MAC__. @li If you want to test for wxOSX on the iPhone, use __WXOSX_IPHONE__. -@li If you want to test for a particular GUI Mac port under OS X, use - __WXOSX_CARBON__ or __WXOSX_COCOA__. @li If you want to test for any port under Mac OS X, including, for example, wxGTK and also wxBase, use __DARWIN__ (see below). diff --git a/docs/doxygen/mainpages/introduction.h b/docs/doxygen/mainpages/introduction.h index 897e3759f7..9aa1c1676f 100644 --- a/docs/doxygen/mainpages/introduction.h +++ b/docs/doxygen/mainpages/introduction.h @@ -89,13 +89,12 @@ mature. Both ports work on almost any Unix system (Linux, FreeBSD, OpenBSD, NetBSD, Solaris, AIX, ...) and require GTK+ 2.6 or later or GTK+ 3.x. The primary supported compiler is GNU g++. -@li wxOSX: wxOSX/Cocoa is the primary port for Apple computers, replacing the -older and now deprecated wxOSX/Carbon port. wxOSX/Cocoa supports 32 or 64 bit -Intel Macs running OS X 10.7 or later. The port can be built either with g++ -or clang. +@li wxOSX: wxOSX/Cocoa is the only port for Apple computers. wxOSX/Cocoa +supports 32 or 64 bit Intel Macs running OS X 10.7 or later. The port can be +built either with g++ or clang. Other platforms (e.g. iOS), compilers (Borland C++ under Windows, -Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (wxOSX/Carbon, +Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports ( wxGTK1, wxX11, wxDFB, wxPM...) are also supported but to a lesser extent. Please see the @subpage page_port "platform details page" for more information. diff --git a/docs/doxygen/mainpages/platdetails.h b/docs/doxygen/mainpages/platdetails.h index 82b2a565cc..fdb9d101f3 100644 --- a/docs/doxygen/mainpages/platdetails.h +++ b/docs/doxygen/mainpages/platdetails.h @@ -61,9 +61,8 @@ distribution. @subsection page_port_wxosx_cocoa wxOSX/Cocoa -wxOSX/Cocoa is the currently recommended port of wxWidgets for the Macintosh OS -platform. It requires OS X 10.7 or later and, unlike wxOSX/Carbon, fully -supports 64 bit builds. +wxOSX/Cocoa is the only port of wxWidgets for the OS X platform. It requires +OS X 10.7 or later and fully supports 64 bit builds. This is the default port when building wxOSX, but in order to select it explicitly you can use @@ -74,28 +73,6 @@ For further information, please see the files in @c docs/osx in the distribution. -@subsection page_port_wxosx_carbon wxOSX/Carbon - -wxOSX/Carbon is an older port of wxWidgets for the Macintosh OS platform. Currently -OS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using -Apple's command line developer tools as well as Apple's Xcode IDE. wxOSX/Carbon -supports Intel and PowerPC architectures and can be used to produce -"universal binaries" in order create application which can run both -architecture. Unfortunately, wxOSX/Carbon does not support any 64-bit -architecture since Apple decided not to port its Carbon API entirely to 64-bit. - -@note Carbon has been deprecated by Apple as of OS X 10.5 and will likely be -removed entirely in a future OS version. It's recommended you look into -switching your app over to wxOSX/Cocoa as soon as possible. - -To build wxWidgets using wxOSX/Carbon you need to do - -@verbatim configure --with-osx_carbon @endverbatim - -For further information, please see the files in @c docs/osx in the -distribution. - - @section page_port_wxx11 wxX11 @@ -207,7 +184,6 @@ necessary to use the underlying toolkit API directly: - GLib docs at http://library.gnome.org/devel/glib/unstable/ - GObject docs at http://library.gnome.org/devel/gobject/unstable/ - Pango docs at http://library.gnome.org/devel/pango/unstable/ -- wxMac port uses the Carbon API: see Carbon docs at http://developer.apple.com/carbon -- wxCocoa port uses the Cocoa API: see Cocoa docs at http://developer.apple.com/cocoa +- wxOSX port uses the Cocoa API: see Cocoa docs at http://developer.apple.com/cocoa */ diff --git a/docs/doxygen/overviews/customwidgets.h b/docs/doxygen/overviews/customwidgets.h index be4f250d82..55a76f6ada 100644 --- a/docs/doxygen/overviews/customwidgets.h +++ b/docs/doxygen/overviews/customwidgets.h @@ -34,7 +34,7 @@ disadvantage is that it the widget will look the same on all platforms, and thus it may not integrate well with the native look and feel. The second method is to build it directly upon the native toolkits of the -platforms you want to support (e.g. GTK+, Carbon and GDI). In this way you'll +platforms you want to support (e.g. GTK+, Cocoa and GDI). In this way you'll get a @b native widget. This method in fact has the advantage of a native look and feel but requires different implementations and thus more work. diff --git a/docs/osx/install.txt b/docs/osx/install.txt index e5038249dc..b1b9768b1f 100644 --- a/docs/osx/install.txt +++ b/docs/osx/install.txt @@ -1,11 +1,7 @@ wxWidgets for Mac OS X installation ----------------------------------- -wxWidgets can be compiled using Apple's Cocoa or Carbon libraries. -Cocoa is the more modern library, and Carbon is the older deprecated library. - -In wxWidgets 3, Cocoa is the recommended library. While Carbon is still -supported by Apple, little new work is being done in Carbon. +wxWidgets can be compiled using Apple's Cocoa library. Most Mac OS X developers should start by downloading and installing Xcode from http://developer.apple.com. It is a free IDE from Apple that provides @@ -18,10 +14,6 @@ Next use Terminal (under Applications, Utilities, Terminal) to access a command prompt. Use cd to change directories to your wxWidgets directory and execute one of the following sets of commands from the wxWidgets directory. -For Carbon, you'll need to have Xcode 3.x installed (you can also have Xcode 4.x -installed, but the Carbon build needs 3.x, and the /Developer directory which is -installed when you install Xcode 3.x. - --------- mkdir build-cocoa-debug @@ -34,22 +26,9 @@ cd demos; make;cd .. --------- -# Build the library for Carbon (old, deprecated, 32 bits only) -mkdir build-carbon-debug -cd build-carbon-debug -../configure --with-carbon --enable-debug --disable-shared --enable-macosx_arch=i386 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk CC=/Developer/usr/bin/gcc-4.2 CXX=/Developer/usr/bin/g++-4.2 LD=/Developer/usr/bin/ld -make -# Build the samples and demos -cd samples;make;cd .. -cd demos; make;cd .. - ---------- - After the compilation completes, use Finder to run the samples and demos Go to build-cocoa-debug/samples to experiment with the Cocoa samples. Go to build-cocoa-debug/demos to experiment with the Cocoa demos. - Go to build-carbon-debug/samples to experiment with the Carbon samples. - Go to build-carbon-debug/demos to experiment with the Carbon demos. Double-click on the executables which have an icon showing three small squares. The source code for the samples is in wxWidgets/samples The source code for the demos is in wxWidgets/demos @@ -92,8 +71,7 @@ Apple Developer Tools: Xcode ---------------------------- You can use the project in build/osx/wxcocoa.xcodeproj to build the Cocoa -version of wxWidgets (wxOSX/Cocoa) and build/osx/wxcarbon.xcodeproj to -build the Carbon version of wxWidgets (wxOSX/Carbon). There are also sample +version of wxWidgets (wxOSX/Cocoa). There are also sample projects supplied with the minimal sample. Notice that the command line build above builds not just the library itself but @@ -112,9 +90,9 @@ to create universal binaries. If using the Apple command line tools, pass --enable-universal_binary when configuring wxWidgets. This will create the libraries for all the supported -architectures, currently ppc, i386 and x86_64 when using Cocoa (Carbon isn't -available in 64 bit builds). You may explicitly specify the architectures to -use as a comma-separated list, e.g. --enable-universal_binary=i386,x86_64. +architectures, currently ppc, i386 and x86_64 . You may explicitly specify +the architectures to use as a comma-separated list, +e.g. --enable-universal_binary=i386,x86_64. Notice that if you use wx-config --libs to link your application, the -arch flags are not added automatically as it is possible to link e.g. x86_64-only diff --git a/docs/readme.txt b/docs/readme.txt index 7336a85dad..853f37042f 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -37,7 +37,7 @@ wxWidgets currently supports the following primary platforms: * Windows XP, Vista, 7, 8 and 10 (32/64 bits). * Most Unix variants using the GTK+ toolkit (version 2.6 or newer) -* Mac OS X (10.7 or newer) using Cocoa (32/64 bits) or Carbon (32 only) +* Mac OS X (10.7 or newer) using Cocoa (32/64 bits) There is some support for the following platforms: diff --git a/include/wx/defs.h b/include/wx/defs.h index 9989d58dff..de898c312c 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -26,7 +26,6 @@ # elif !defined(__WXMOTIF__) && \ !defined(__WXMSW__) && \ !defined(__WXGTK__) && \ - !defined(__WXOSX_CARBON__) && \ !defined(__WXOSX_COCOA__) && \ !defined(__WXOSX_IPHONE__) && \ !defined(__X__) && \ @@ -2991,12 +2990,6 @@ typedef unsigned long WXDWORD; typedef unsigned short WXWORD; typedef WX_OPAQUE_TYPE(PicHandle ) * WXHMETAFILE ; -#if wxOSX_USE_CARBON -typedef struct OpaqueControlRef* WXWidget ; -typedef struct OpaqueWindowPtr* WXWindow ; -typedef struct __AGLPixelFormatRec *WXGLPixelFormat; -typedef struct __AGLContextRec *WXGLContext; -#endif typedef void* WXDisplay; @@ -3041,9 +3034,6 @@ DECLARE_WXMAC_OPAQUE_REF( MenuRef ) typedef IconRef WXHICON ; typedef HIShapeRef WXHRGN; -#if wxOSX_USE_CARBON -typedef MenuRef WXHMENU; -#endif #endif diff --git a/include/wx/dvrenderers.h b/include/wx/dvrenderers.h index 5b36bb458f..ca14b16a42 100644 --- a/include/wx/dvrenderers.h +++ b/include/wx/dvrenderers.h @@ -385,7 +385,7 @@ private: #endif // wxUSE_SPINCTRL -#if defined(wxHAS_GENERIC_DATAVIEWCTRL) || defined(__WXOSX_CARBON__) +#if defined(wxHAS_GENERIC_DATAVIEWCTRL) // ---------------------------------------------------------------------------- // wxDataViewChoiceRenderer @@ -432,7 +432,7 @@ public: }; -#endif // generic or Carbon versions +#endif // generic version #if defined(wxHAS_GENERIC_DATAVIEWCTRL) || defined(__WXGTK__) diff --git a/include/wx/filename.h b/include/wx/filename.h index 1568edad1e..e2b05ec13e 100644 --- a/include/wx/filename.h +++ b/include/wx/filename.h @@ -285,17 +285,6 @@ public: } #endif // wxUSE_DATETIME -#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON - bool MacSetTypeAndCreator( wxUint32 type , wxUint32 creator ) ; - bool MacGetTypeAndCreator( wxUint32 *type , wxUint32 *creator ) const; - // gets the 'common' type and creator for a certain extension - static bool MacFindDefaultTypeAndCreator( const wxString& ext , wxUint32 *type , wxUint32 *creator ) ; - // registers application defined extensions and their default type and creator - static void MacRegisterDefaultTypeAndCreator( const wxString& ext , wxUint32 type , wxUint32 creator ) ; - // looks up the appropriate type and creator from the registration and then sets - bool MacSetDefaultTypeAndCreator() ; -#endif - // various file/dir operations // retrieve the value of the current working directory diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h index c3d2dfd478..848166cff0 100644 --- a/include/wx/fontutil.h +++ b/include/wx/fontutil.h @@ -171,10 +171,6 @@ public: wxUint32 m_atsuFontID; // the qd styles that are not intrinsic to the font above wxInt16 m_atsuAdditionalQDStyles; -#if wxOSX_USE_CARBON - wxInt16 m_qdFontFamily; - wxInt16 m_qdFontStyle; -#endif #endif int m_pointSize; diff --git a/include/wx/listctrl.h b/include/wx/listctrl.h index 1ed3b6cdfd..dfb87816da 100644 --- a/include/wx/listctrl.h +++ b/include/wx/listctrl.h @@ -29,8 +29,6 @@ extern WXDLLIMPEXP_DATA_CORE(const char) wxListCtrlNameStr[]; #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) #include "wx/msw/listctrl.h" -#elif defined(__WXMAC__) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON - #include "wx/osx/listctrl.h" #elif defined(__WXQT__) && !defined(__WXUNIVERSAL__) #include "wx/qt/listctrl.h" #else diff --git a/include/wx/mediactrl.h b/include/wx/mediactrl.h index 512a365fb4..17b359dc15 100644 --- a/include/wx/mediactrl.h +++ b/include/wx/mediactrl.h @@ -218,13 +218,6 @@ protected: virtual void DoMoveWindow(int x, int y, int w, int h) wxOVERRIDE; wxSize DoGetBestSize() const wxOVERRIDE; - //FIXME: This is nasty... find a better way to work around - //inheritance issues -#if defined(__WXOSX_CARBON__) - virtual void MacVisibilityChanged(); - - friend class wxQTMediaBackend; -#endif class wxMediaBackend* m_imp; bool m_bLoaded; diff --git a/include/wx/osx/app.h b/include/wx/osx/app.h index 0ee149a6fd..cbd13b41a6 100644 --- a/include/wx/osx/app.h +++ b/include/wx/osx/app.h @@ -119,15 +119,6 @@ public: bool MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , wxChar uniChar ) ; bool MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar ) ; void MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar ) ; -#if wxOSX_USE_CARBON - // we only have applescript on these - virtual short MacHandleAEODoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; - virtual short MacHandleAEGURL(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; - virtual short MacHandleAEPDoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; - virtual short MacHandleAEOApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; - virtual short MacHandleAEQuit(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; - virtual short MacHandleAERApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; -#endif // in response of an openFiles message with Cocoa and an // open-document apple event virtual void MacOpenFiles(const wxArrayString &fileNames) ; diff --git a/include/wx/osx/carbon/chkconf.h b/include/wx/osx/carbon/chkconf.h deleted file mode 100644 index 9c6bc30508..0000000000 --- a/include/wx/osx/carbon/chkconf.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Name: wx/osx/carbon/chkconf.h - * Purpose: Compiler-specific configuration checking - * Author: Julian Smart - * Modified by: - * Created: 01/02/97 - * Copyright: (c) Julian Smart - * Licence: wxWindows licence - */ - -#ifndef _WX_OSX_CARBON_CHKCONF_H_ -#define _WX_OSX_CARBON_CHKCONF_H_ - -/* - * native (1) or emulated (0) toolbar - * also support old notation wxMAC_USE_NATIVE_TOOLBAR - */ - - - -#ifdef wxMAC_USE_NATIVE_TOOLBAR - #define wxOSX_USE_NATIVE_TOOLBAR wxMAC_USE_NATIVE_TOOLBAR -#endif - -#ifndef wxOSX_USE_NATIVE_TOOLBAR - #define wxOSX_USE_NATIVE_TOOLBAR 1 -#endif - -/* - * text rendering system - */ - -#define wxOSX_USE_ATSU_TEXT 1 - -/* - * Audio System - */ - -#define wxOSX_USE_QUICKTIME 1 -#define wxOSX_USE_AUDIOTOOLBOX 0 - -#endif - /* _WX_OSX_CARBON_CHKCONF_H_ */ - diff --git a/include/wx/osx/carbon/evtloop.h b/include/wx/osx/carbon/evtloop.h deleted file mode 100644 index f18c7c9494..0000000000 --- a/include/wx/osx/carbon/evtloop.h +++ /dev/null @@ -1,34 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/evtloop.h -// Purpose: declaration of wxEventLoop for wxMac -// Author: Vadim Zeitlin -// Modified by: -// Created: 2006-01-12 -// Copyright: (c) 2006 Vadim Zeitlin -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#ifndef _WX_MAC_CARBON_EVTLOOP_H_ -#define _WX_MAC_CARBON_EVTLOOP_H_ - -struct OpaqueEventRef; -typedef OpaqueEventRef *EventRef; - -class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxCFEventLoop -{ -public: - wxGUIEventLoop(); - - virtual void WakeUp(); - -protected: - virtual int DoDispatchTimeout(unsigned long timeout); - - virtual void OSXDoRun(); - virtual void OSXDoStop(); - - virtual CFRunLoopRef CFGetCurrentRunLoop() const; -}; - -#endif // _WX_MAC_CARBON_EVTLOOP_H_ - diff --git a/include/wx/osx/carbon/mimetype.h b/include/wx/osx/carbon/mimetype.h deleted file mode 100644 index 6620cc76af..0000000000 --- a/include/wx/osx/carbon/mimetype.h +++ /dev/null @@ -1,117 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/mimetype.h -// Purpose: Mac Carbon implementation for wx mime-related classes -// Author: Ryan Norton -// Modified by: -// Created: 04/16/2005 -// Copyright: (c) 2005 Ryan Norton () -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#ifndef _MIMETYPE_IMPL_H -#define _MIMETYPE_IMPL_H - -#include "wx/defs.h" -#include "wx/mimetype.h" - - -class wxMimeTypesManagerImpl -{ -public : - //kinda kooky but in wxMimeTypesManager::EnsureImpl it doesn't call - //initialize, so we do it ourselves - wxMimeTypesManagerImpl() : m_hIC(NULL) { Initialize(); } - ~wxMimeTypesManagerImpl() { ClearData(); } - - // load all data into memory - done when it is needed for the first time - void Initialize(int mailcapStyles = wxMAILCAP_STANDARD, - const wxString& extraDir = wxEmptyString); - - // and delete the data here - void ClearData(); - - // implement containing class functions - wxFileType *GetFileTypeFromExtension(const wxString& ext); - wxFileType *GetOrAllocateFileTypeFromExtension(const wxString& ext) ; - wxFileType *GetFileTypeFromMimeType(const wxString& mimeType); - - size_t EnumAllFileTypes(wxArrayString& mimetypes); - - void AddFallback(const wxFileTypeInfo& ft) { m_fallbacks.Add(ft); } - - // create a new filetype association - wxFileType *Associate(const wxFileTypeInfo& ftInfo); - // remove association - bool Unassociate(wxFileType *ft); - -private: - wxArrayFileTypeInfo m_fallbacks; - void* m_hIC; - void** m_hDatabase; - long m_lCount; - - void* pReserved1; - void* pReserved2; - void* pReserved3; - void* pReserved4; - void* pReserved5; - void* pReserved6; - - friend class wxFileTypeImpl; -}; - -class wxFileTypeImpl -{ -public: - //kind of nutty, but mimecmn.cpp creates one with an empty new - wxFileTypeImpl() : m_manager(NULL) {} - ~wxFileTypeImpl() {} //for those broken compilers - - // implement accessor functions - bool GetExtensions(wxArrayString& extensions); - bool GetMimeType(wxString *mimeType) const; - bool GetMimeTypes(wxArrayString& mimeTypes) const; - bool GetIcon(wxIconLocation *iconLoc) const; - bool GetDescription(wxString *desc) const; - bool GetOpenCommand(wxString *openCmd, - const wxFileType::MessageParameters&) const; - bool GetPrintCommand(wxString *printCmd, - const wxFileType::MessageParameters&) const; - - size_t GetAllCommands(wxArrayString * verbs, wxArrayString * commands, - const wxFileType::MessageParameters& params) const; - - // remove the record for this file type - // probably a mistake to come here, use wxMimeTypesManager.Unassociate (ft) instead - bool Unassociate(wxFileType *ft) - { - return m_manager->Unassociate(ft); - } - - // set an arbitrary command, ask confirmation if it already exists and - // overwriteprompt is TRUE - bool SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt = true); - bool SetDefaultIcon(const wxString& strIcon = wxEmptyString, int index = 0); - - private: - void Init(wxMimeTypesManagerImpl *manager, long lIndex) - { m_manager=(manager); m_lIndex=(lIndex); } - - // helper function - wxString GetCommand(const wxString& verb) const; - - wxMimeTypesManagerImpl *m_manager; - long m_lIndex; - - void* pReserved1; - void* pReserved2; - void* pReserved3; - void* pReserved4; - void* pReserved5; - void* pReserved6; - - friend class wxMimeTypesManagerImpl; -}; - -#endif - //_MIMETYPE_H diff --git a/include/wx/osx/carbon/private.h b/include/wx/osx/carbon/private.h deleted file mode 100644 index 3097ed0237..0000000000 --- a/include/wx/osx/carbon/private.h +++ /dev/null @@ -1,1052 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/private.h -// Purpose: Private declarations: as this header is only included by -// wxWidgets itself, it may contain identifiers which don't start -// with "wx". -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#ifndef _WX_PRIVATE_H_ -#define _WX_PRIVATE_H_ - -#if wxUSE_GUI - -#include "wx/osx/uma.h" - -#include "wx/listbox.h" -#include "wx/osx/dc.h" -#include "wx/osx/dcclient.h" -#include "wx/osx/dcmemory.h" - -// app.h - -#endif // wxUSE_GUI - -// filefn.h -WXDLLIMPEXP_BASE wxString wxMacFSSpec2MacFilename( const FSSpec *spec ); -WXDLLIMPEXP_BASE void wxMacFilename2FSSpec( const wxString &path , FSSpec *spec ); - -// utils.h -WXDLLIMPEXP_BASE wxString wxMacFindFolderNoSeparator(short vRefNum, - OSType folderType, - Boolean createFolder); -WXDLLIMPEXP_BASE wxString wxMacFindFolder(short vRefNum, - OSType folderType, - Boolean createFolder); - -template EventParamType wxMacGetEventParamType() { wxFAIL_MSG( wxT("Unknown Param Type") ); return 0; } -template<> inline EventParamType wxMacGetEventParamType() { return typeHIShapeRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeQDRgnHandle; } -template<> inline EventParamType wxMacGetEventParamType() { return typeControlRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeWindowRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeMenuRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeEventRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeQDPoint; } -template<> inline EventParamType wxMacGetEventParamType() { return typeQDRectangle; } -template<> inline EventParamType wxMacGetEventParamType() { return typeBoolean; } -template<> inline EventParamType wxMacGetEventParamType() { return typeSInt16; } -template<> inline EventParamType wxMacGetEventParamType() { return typeSInt32; } -template<> inline EventParamType wxMacGetEventParamType() { return typeUInt32; } -template<> inline EventParamType wxMacGetEventParamType() { return typeRGBColor; } -template<> inline EventParamType wxMacGetEventParamType() { return typeHICommand; } -template<> inline EventParamType wxMacGetEventParamType() { return typeHIPoint; } -template<> inline EventParamType wxMacGetEventParamType() { return typeHISize; } -template<> inline EventParamType wxMacGetEventParamType() { return typeHIRect; } -template<> inline EventParamType wxMacGetEventParamType() { return typeVoidPtr; } -template<> inline EventParamType wxMacGetEventParamType() { return typeCFDictionaryRef; } -template<> inline EventParamType wxMacGetEventParamType() { return typeCollection; } -template<> inline EventParamType wxMacGetEventParamType() { return typeCGContextRef; } -/* - These are ambiguous - template<> EventParamType wxMacGetEventParamType() { return typeGrafPtr; } - template<> EventParamType wxMacGetEventParamType() { return typeOSStatus; } - template<> EventParamType wxMacGetEventParamType() { return typeCFIndex; } - template<> EventParamType wxMacGetEventParamType() { return typeGWorldPtr; } - */ - -class WXDLLIMPEXP_CORE wxMacCarbonEvent -{ - -public : - wxMacCarbonEvent() - { - m_eventRef = 0; - m_release = false; - } - - wxMacCarbonEvent( EventRef event , bool release = false ) - { - m_eventRef = event; - m_release = release; - } - - wxMacCarbonEvent(UInt32 inClassID,UInt32 inKind,EventTime inWhen = 0 /*now*/,EventAttributes inAttributes=kEventAttributeNone) - { - m_eventRef = NULL; - verify_noerr( MacCreateEvent( NULL , inClassID, inKind,inWhen,inAttributes,&m_eventRef) ); - m_release = true; - } - - ~wxMacCarbonEvent() - { - if ( m_release ) - ReleaseEvent( m_eventRef ); - } - - OSStatus Create(UInt32 inClassID,UInt32 inKind,EventTime inWhen = 0 /*now*/,EventAttributes inAttributes=kEventAttributeNone) - { - verify( (m_eventRef == NULL) || m_release ); - if ( m_eventRef && m_release ) - { - ReleaseEvent( m_eventRef ); - m_release = false; - m_eventRef = NULL; - } - OSStatus err = MacCreateEvent( NULL , inClassID, inKind,inWhen,inAttributes,&m_eventRef); - if ( err == noErr ) - m_release = true; - return err; - } - - OSStatus GetParameter( EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * outData); - - template OSStatus GetParameter( EventParamName inName, EventParamType type , T *data ) - { - return GetParameter( inName, type , sizeof( T ) , data ); - } - template OSStatus GetParameter( EventParamName inName, T *data ) - { - return GetParameter( inName, wxMacGetEventParamType() , data ); - } - - template T GetParameter( EventParamName inName ) - { - T value; - verify_noerr( GetParameter( inName, &value ) ); - return value; - } - template T GetParameter( EventParamName inName, EventParamType inDesiredType ) - { - T value; - verify_noerr( GetParameter( inName, inDesiredType , &value ) ); - return value; - } - - OSStatus SetParameter( EventParamName inName, EventParamType inType, UInt32 inSize, const void * inData); - template OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , const T *data ) - { - return SetParameter( inName, inDesiredType , sizeof( T ) , data ); - } - template OSStatus SetParameter( EventParamName inName, EventParamType inDesiredType , const T& data ) - { - return SetParameter( inName, inDesiredType , &data ); - } - template OSStatus SetParameter( EventParamName inName, const T *data ) - { - return SetParameter( inName, wxMacGetEventParamType() , data ); - } - template OSStatus SetParameter( EventParamName inName, const T& data ) - { - return SetParameter( inName, wxMacGetEventParamType() , &data ); - } - UInt32 GetClass() - { - return ::GetEventClass( m_eventRef ); - } - UInt32 GetKind() - { - return ::GetEventKind( m_eventRef ); - } - EventTime GetTime() - { - return ::GetEventTime( m_eventRef ); - } - UInt32 GetTicks() - { - return EventTimeToTicks( GetTime() ); - } - OSStatus SetCurrentTime( ) - { - return ::SetEventTime( m_eventRef , GetCurrentEventTime() ); - } - OSStatus SetTime( EventTime when ) - { - return ::SetEventTime( m_eventRef , when ); - } - operator EventRef () { return m_eventRef; } - - bool IsValid() { return m_eventRef != 0; } -protected : - EventRef m_eventRef; - bool m_release; -}; - -#if wxUSE_GUI - -class WXDLLIMPEXP_FWD_CORE wxMacToolTipTimer ; - -class WXDLLIMPEXP_CORE wxMacToolTip -{ -public : - wxMacToolTip() ; - ~wxMacToolTip() ; - - void Setup( WindowRef window , const wxString& text , const wxPoint& localPosition ) ; - void Draw() ; - void Clear() ; - - long GetMark() - { return m_mark ; } - - bool IsShown() - { return m_shown ; } - -private : - wxString m_label ; - wxPoint m_position ; - Rect m_rect ; - WindowRef m_window ; - PicHandle m_backpict ; - bool m_shown ; - long m_mark ; -#if wxUSE_TIMER - wxMacToolTipTimer* m_timer ; -#endif - wxCFStringRef m_helpTextRef ; -} ; - -// Quartz - -WXDLLIMPEXP_CORE void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , int forceType = 0 ); -WXDLLIMPEXP_CORE void wxMacReleaseBitmapButton( ControlButtonContentInfo*info ); - -#define MAC_WXHBITMAP(a) (GWorldPtr(a)) -#define MAC_WXHMETAFILE(a) (PicHandle(a)) -#define MAC_WXHICON(a) (IconRef(a)) -#define MAC_WXHCURSOR(a) (CursHandle(a)) -#define MAC_WXHRGN(a) (RgnHandle(a)) -#define MAC_WXHWND(a) (WindowPtr(a)) -#define MAC_WXRECPTR(a) ((Rect*)a) -#define MAC_WXPOINTPTR(a) ((Point*)a) -#define MAC_WXHMENU(a) ((MenuHandle)a) - -struct wxOpaqueWindowRef -{ - wxOpaqueWindowRef( WindowRef ref ) { m_data = ref; } - operator WindowRef() { return m_data; } -private : - WindowRef m_data; -}; - -WXDLLIMPEXP_CORE void wxMacRectToNative( const wxRect *wx , Rect *n ); -WXDLLIMPEXP_CORE void wxMacNativeToRect( const Rect *n , wxRect* wx ); -WXDLLIMPEXP_CORE void wxMacPointToNative( const wxPoint* wx , Point *n ); -WXDLLIMPEXP_CORE void wxMacNativeToPoint( const Point *n , wxPoint* wx ); - -WXDLLIMPEXP_CORE wxMenu* wxFindMenuFromMacMenu(MenuRef inMenuRef); - -WXDLLIMPEXP_CORE int wxMacCommandToId( UInt32 macCommandId ); -WXDLLIMPEXP_CORE UInt32 wxIdToMacCommand( int wxId ); -WXDLLIMPEXP_CORE wxMenu* wxFindMenuFromMacCommand( const HICommand &macCommandId , wxMenuItem* &item ); - -WXDLLIMPEXP_CORE pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , EventRef event , void *data ); -WXDLLIMPEXP_CORE Rect wxMacGetBoundsForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true ); - -ControlActionUPP GetwxMacLiveScrollbarActionProc(); - -// additional optional event defines - -class WXDLLIMPEXP_CORE wxMacControl : public wxWidgetImpl -{ -public : - wxMacControl( wxWindowMac* peer , bool isRootControl = false, bool isUserPane = false ); - wxMacControl() ; - virtual ~wxMacControl(); - - void Init(); - - void SetReferenceInNativeControl(); - static wxMacControl* GetReferenceFromNativeControl(ControlRef control); - - virtual ControlRef * GetControlRefAddr() { return &m_controlRef; } - virtual ControlRef GetControlRef() const { return m_controlRef; } - - virtual WXWidget GetWXWidget() const { return (WXWidget) m_controlRef; } - - virtual bool IsVisible() const; - - virtual void Raise(); - - virtual void Lower(); - - virtual void ScrollRect( const wxRect *rect, int dx, int dy ); - - virtual void GetContentArea( int &left , int &top , int &width , int &height ) const; - virtual void Move(int x, int y, int width, int height); - virtual void GetPosition( int &x, int &y ) const; - virtual void GetSize( int &width, int &height ) const; - virtual void SetControlSize( wxWindowVariant variant ) ; - - // where is in native window relative coordinates - virtual void SetNeedsDisplay( const wxRect* where = NULL ); - virtual bool GetNeedsDisplay() const; - - virtual bool CanFocus() const; - // return true if successful - virtual bool SetFocus(); - virtual bool HasFocus() const; - - void RemoveFromParent(); - void Embed( wxWidgetImpl *parent ); - - void SetDefaultButton( bool isDefault ); - void PerformClick(); - void SetLabel( const wxString& title, wxFontEncoding encoding ); - - void SetCursor( const wxCursor & cursor ); - void CaptureMouse(); - void ReleaseMouse(); - - wxInt32 GetValue() const; - void SetValue( wxInt32 v ); - wxBitmap GetBitmap() const; - void SetBitmap( const wxBitmap& bitmap ); - void SetBitmapPosition( wxDirection dir ); - - void GetBestRect( wxRect *r ) const; - bool IsEnabled() const; - void Enable( bool enable ); - bool ButtonClickDidStateChange() { return false ;} - void SetMinimum( wxInt32 v ); - void SetMaximum( wxInt32 v ); - void PulseGauge() ; - void SetScrollThumb( wxInt32 value, wxInt32 thumbSize ); - - // temp convenience methods - - void GetBestRect( Rect *r ) const; - /* - void operator= (ControlRef c) { m_controlRef = c; } - operator ControlRef () { return m_controlRef; } - operator ControlRef * () { return &m_controlRef; } - */ - // accessing data and values - - virtual OSStatus SetData( ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData ); - virtual OSStatus GetData( ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) const; - virtual OSStatus GetDataSize( ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) const; - virtual OSStatus SendEvent( EventRef ref , OptionBits inOptions = 0 ); - virtual OSStatus SendHICommand( HICommand &command , OptionBits inOptions = 0 ); - - virtual OSStatus SendHICommand( UInt32 commandID , OptionBits inOptions = 0 ); - - virtual wxInt32 GetMaximum() const; - virtual wxInt32 GetMinimum() const; - - virtual void SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum ); - virtual void SetRange( SInt32 minimum , SInt32 maximum ); - - // templated helpers - - Size GetDataSize( ControlPartCode inPartCode , ResType inTag ) const - { - Size sz; - verify_noerr( GetDataSize( inPartCode , inTag , &sz ) ); - return sz; - } - template OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T *data ) - { - return SetData( inPartCode , inTag , sizeof( T ) , data ); - } - template OSStatus SetData( ControlPartCode inPartCode , ResType inTag , const T& data ) - { - return SetData( inPartCode , inTag , sizeof( T ) , &data ); - } - template OSStatus SetData( ResType inTag , const T *data ) - { - return SetData( kControlEntireControl , inTag , sizeof( T ) , data ); - } - template OSStatus SetData( ResType inTag , const T& data ) - { - return SetData( kControlEntireControl , inTag , sizeof( T ) , &data ); - } - template OSStatus GetData( ControlPartCode inPartCode , ResType inTag , T *data ) const - { - Size dummy; - return GetData( inPartCode , inTag , sizeof( T ) , data , &dummy ); - } - template T GetData( ControlPartCode inPartCode , ResType inTag ) const - { - T value; - OSStatus err = GetData( inPartCode , inTag , &value ); - - if ( err != noErr ) - { - wxFAIL_MSG( wxString::Format(wxT("GetData Failed for Part [%i] and Tag [%i]"), - inPartCode, (int)inTag) ); - } - - return value; - } - template OSStatus GetData( ResType inTag , T *data ) const - { - Size dummy; - return GetData( kControlEntireControl , inTag , sizeof( T ) , data , &dummy ); - } - template T GetData( ResType inTag ) const - { - return GetData( kControlEntireControl , inTag ); - } - - // Flash the control for the specified amount of time - - virtual void VisibilityChanged( bool shown ); - virtual void SuperChangedPosition(); - - - virtual void SetFont( const wxFont & font , const wxColour& foreground , long windowStyle, bool ignoreBlack = true ); - virtual void SetBackgroundColour( const wxColour& col ); - virtual bool SetBackgroundStyle(wxBackgroundStyle style); - virtual ControlPartCode HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers ); - void SetActionProc( ControlActionUPP actionProc ); - SInt32 GetViewSize() const; - - virtual void SetVisibility( bool visible ); - - virtual bool IsActive() const; - - // invalidates this control and all children - virtual void InvalidateWithChildren(); - virtual void SetDrawingEnabled( bool enable ); - - // in native parent window relative coordinates - - virtual void GetRectInWindowCoords( Rect *r ); - - - virtual void GetFeatures( UInt32 *features ); - - // to be moved into a tab control class - - virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable ); - - virtual void InstallEventHandler( WXWidget control = NULL ); -protected : - WXEVENTHANDLERREF m_macControlEventHandler ; - ControlRef m_controlRef; - wxFont m_font; - long m_windowStyle; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxMacControl); -}; - -// ============================================================================ -// DataBrowser Wrapper -// ============================================================================ -// -// basing on DataBrowserItemIDs -// - -class WXDLLIMPEXP_CORE wxMacDataBrowserControl : public wxMacControl -{ -public : - wxMacDataBrowserControl( wxWindow* peer, const wxPoint& pos, const wxSize& size, long style); - wxMacDataBrowserControl() {} - - OSStatus SetCallbacks( const DataBrowserCallbacks *callbacks ); - - OSStatus GetItemCount( DataBrowserItemID container, - Boolean recurse, - DataBrowserItemState state, - ItemCount *numItems) const; - - OSStatus GetItems( DataBrowserItemID container, - Boolean recurse, - DataBrowserItemState state, - Handle items) const; - - - OSStatus AddColumn( DataBrowserListViewColumnDesc *columnDesc, - DataBrowserTableViewColumnIndex position ); - - OSStatus RemoveColumn( DataBrowserTableViewColumnIndex position ); - - OSStatus AutoSizeColumns(); - - OSStatus SetHasScrollBars( bool horiz, bool vert ); - OSStatus SetHiliteStyle( DataBrowserTableViewHiliteStyle hiliteStyle ); - - OSStatus SetHeaderButtonHeight( UInt16 height ); - OSStatus GetHeaderButtonHeight( UInt16 *height ); - - OSStatus UpdateItems( DataBrowserItemID container, UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty, - DataBrowserPropertyID propertyID ) const; - - OSStatus AddItems( DataBrowserItemID container, UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty ); - OSStatus RemoveItems( DataBrowserItemID container, UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty ); - OSStatus RevealItem( DataBrowserItemID item, - DataBrowserPropertyID propertyID, - DataBrowserRevealOptions options ) const; - - OSStatus SetSelectionFlags( DataBrowserSelectionFlags ); - OSStatus GetSelectionAnchor( DataBrowserItemID *first, DataBrowserItemID *last ) const; - bool IsItemSelected( DataBrowserItemID item ) const; - OSStatus SetSelectedItems( UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserSetOption operation ); - - OSStatus GetItemID( DataBrowserTableViewRowIndex row, - DataBrowserItemID * item ) const; - OSStatus GetItemRow( DataBrowserItemID item, - DataBrowserTableViewRowIndex * row ) const; - - OSStatus SetDefaultRowHeight( UInt16 height ); - OSStatus GetDefaultRowHeight( UInt16 * height ) const; - - OSStatus SetRowHeight( DataBrowserItemID item , UInt16 height); - OSStatus GetRowHeight( DataBrowserItemID item , UInt16 *height) const; - - OSStatus GetColumnWidth( DataBrowserPropertyID column , UInt16 *width ) const; - OSStatus SetColumnWidth( DataBrowserPropertyID column , UInt16 width ); - - OSStatus GetDefaultColumnWidth( UInt16 *width ) const; - OSStatus SetDefaultColumnWidth( UInt16 width ); - - OSStatus GetColumnCount( UInt32* numColumns) const; - - OSStatus GetColumnIDFromIndex( DataBrowserTableViewColumnIndex position, DataBrowserTableViewColumnID* id ); - - OSStatus GetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex *position) const; - OSStatus SetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex position); - - OSStatus GetScrollPosition( UInt32 *top , UInt32 *left ) const; - OSStatus SetScrollPosition( UInt32 top , UInt32 left ); - - OSStatus GetSortProperty( DataBrowserPropertyID *column ) const; - OSStatus SetSortProperty( DataBrowserPropertyID column ); - - OSStatus GetSortOrder( DataBrowserSortOrder *order ) const; - OSStatus SetSortOrder( DataBrowserSortOrder order ); - - OSStatus GetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags *flags ) const; - OSStatus SetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags flags ); - - OSStatus GetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc ) const; - OSStatus SetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc ); - - OSStatus SetDisclosureColumn( DataBrowserPropertyID property , Boolean expandableRows ); - - OSStatus GetItemPartBounds( DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserPropertyPart part, Rect * bounds ); -protected : - - static pascal void DataBrowserItemNotificationProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ); - - virtual void ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData) = 0; - - static pascal OSStatus DataBrowserGetSetItemDataProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ); - - virtual OSStatus GetSetItemData( - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ) = 0; - - static pascal Boolean DataBrowserCompareProc( - ControlRef browser, - DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty); - - virtual Boolean CompareItems(DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty) = 0; - wxDECLARE_ABSTRACT_CLASS(wxMacDataBrowserControl); -}; - -// ============================================================================ -// Higher-level Databrowser -// ============================================================================ -// -// basing on data item objects -// - -// forward decl - -class wxMacDataItemBrowserControl; -class wxMacListBoxItem; - -const DataBrowserPropertyID kTextColumnId = 1024; -const DataBrowserPropertyID kNumericOrderColumnId = 1025; - -// for multi-column controls, we will use this + the column ID to identify the -// column. We don't use kTextColumnId there, and ideally the two should merge. -const DataBrowserPropertyID kMinColumnId = 1050; - -// base API for high-level databrowser operations - -// base class for databrowser items - -enum DataItemType { - DataItem_Text -}; - -/* -class WXDLLIMPEXP_CORE wxMacDataItem -{ -public : - wxMacDataItem(); - virtual ~wxMacDataItem(); -} ; -*/ - -class WXDLLIMPEXP_CORE wxMacDataItem -{ -public : - wxMacDataItem(); - virtual ~wxMacDataItem(); - - virtual bool IsLessThan(wxMacDataItemBrowserControl *owner , - const wxMacDataItem*, - DataBrowserPropertyID property) const; - - // returns true if access was successful, otherwise false - virtual OSStatus GetSetData(wxMacDataItemBrowserControl *owner , - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - bool changeValue ); - - virtual void Notification(wxMacDataItemBrowserControl *owner , - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ) const; - - void SetOrder( SInt32 order ); - SInt32 GetOrder() const; - -protected : - SInt32 m_order; - -}; - -enum ListSortOrder { - SortOrder_None, - SortOrder_Text_Ascending, - SortOrder_Text_Descending -}; - -typedef wxMacDataItem* wxMacDataItemPtr; -const wxMacDataItemPtr wxMacDataBrowserRootContainer = NULL; -typedef void * wxListColumnId ; - -WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxMacDataItemPtr, wxArrayMacDataItemPtr, class WXDLLIMPEXP_CORE); - -class WXDLLIMPEXP_CORE wxMacDataItemBrowserControl : public wxMacDataBrowserControl -{ -public : - wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style); - wxMacDataItemBrowserControl() {} - // create a list item (can be a subclass of wxMacListBoxItem) - - unsigned int GetItemCount(const wxMacDataItem* container, bool recurse , DataBrowserItemState state) const; - void GetItems(const wxMacDataItem* container, bool recurse , - DataBrowserItemState state, wxArrayMacDataItemPtr &items ) const; - - unsigned int GetSelectedItemCount( const wxMacDataItem* container, bool recurse ) const; - - unsigned int GetLineFromItem(const wxMacDataItem *item) const; - wxMacDataItem * GetItemFromLine(unsigned int n) const; - - void UpdateItem(const wxMacDataItem *container, const wxMacDataItem *item, - DataBrowserPropertyID property) const; - void UpdateItems(const wxMacDataItem *container, wxArrayMacDataItemPtr &items, - DataBrowserPropertyID property) const; - - void InsertColumn(int colId, DataBrowserPropertyType colType, - const wxString& title, SInt16 just = teFlushDefault, int defaultWidth = -1); - - int GetColumnWidth(int colId); - void SetColumnWidth(int colId, int width); - - void AddItem(wxMacDataItem *container, wxMacDataItem *item); - void AddItems(wxMacDataItem *container, wxArrayMacDataItemPtr &items ); - - void RemoveAllItems(wxMacDataItem *container); - void RemoveItem(wxMacDataItem *container, wxMacDataItem* item); - void RemoveItems(wxMacDataItem *container, wxArrayMacDataItemPtr &items); - - void SetSelectedItem( wxMacDataItem* item , DataBrowserSetOption option); - void SetSelectedItems( wxArrayMacDataItemPtr &items , DataBrowserSetOption option); - void SetSelectedAllItems( DataBrowserSetOption option); - Boolean IsItemSelected( const wxMacDataItem* item) const; - - void RevealItem( wxMacDataItem* item, DataBrowserRevealOptions options); - - void GetSelectionAnchor( wxMacDataItemPtr* first , wxMacDataItemPtr* last) const; - - // add and remove - - virtual void MacDelete( unsigned int n ); - virtual void MacInsert( unsigned int n, wxMacDataItem* item); - virtual void MacClear(); - - // accessing content - - virtual unsigned int MacGetCount() const; - -public : - - // as we are getting the same events for human and API selection we have to suppress - // events in the latter case, since this will be used from many subclasses we keep it here - - bool IsSelectionSuppressed() const { return m_suppressSelection; } - bool SuppressSelection( bool suppress ); - - // client data - - virtual wxClientDataType GetClientDataType() const; - virtual void SetClientDataType(wxClientDataType clientDataItemsType); - //virtual ListSortOrder GetSortOrder() const; - //virtual void SetSortOrder(const ListSortOrder sort); - - - -protected: - - ListSortOrder m_sortOrder; - wxClientDataType m_clientDataItemsType; - - // ID aware base methods, should be 'final' ie not changed in subclasses - - virtual Boolean CompareItems(DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty); - - virtual OSStatus GetSetItemData(DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ); - - virtual void ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData); - - -private : - - bool m_suppressSelection; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataItemBrowserControl); -}; - -class WXDLLIMPEXP_CORE wxMacDataItemBrowserSelectionSuppressor -{ -public : - wxMacDataItemBrowserSelectionSuppressor(wxMacDataItemBrowserControl *browser); - ~wxMacDataItemBrowserSelectionSuppressor(); - -private : - - bool m_former; - wxMacDataItemBrowserControl* m_browser; -}; - -// ============================================================================ -// platform listbox implementation -// ============================================================================ - -// exposed for reuse in wxCheckListBox - -class WXDLLIMPEXP_CORE wxMacListBoxItem : public wxMacDataItem -{ -public : - wxMacListBoxItem(); - - virtual ~wxMacListBoxItem(); - - virtual OSStatus GetSetData(wxMacDataItemBrowserControl *owner , - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - bool changeValue ); - - virtual void Notification(wxMacDataItemBrowserControl *owner , - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ) const; -protected : -}; - -class WXDLLIMPEXP_CORE wxMacDataBrowserColumn : public wxListWidgetColumn -{ -public : - wxMacDataBrowserColumn( DataBrowserPropertyID propertyId, DataBrowserPropertyType colType, bool editable ) - : m_property(propertyId), m_editable(editable), m_type( colType ) - { - } - ~wxMacDataBrowserColumn() - { - } - DataBrowserPropertyID GetProperty() const { return m_property ; } - - bool IsEditable() const { return m_editable; } - - DataBrowserPropertyType GetType() const { return m_type; } - -protected : - DataBrowserPropertyID m_property; - bool m_editable; - DataBrowserPropertyType m_type; -} ; - -WX_DEFINE_ARRAY_PTR(wxMacDataBrowserColumn *, wxArrayMacDataBrowserColumns); - - -class WXDLLIMPEXP_CORE wxMacDataBrowserCellValue : public wxListWidgetCellValue -{ -public : - wxMacDataBrowserCellValue(DataBrowserItemDataRef data) : m_data(data) {} - virtual ~wxMacDataBrowserCellValue() {} - - virtual void Set( CFStringRef value ); - virtual void Set( const wxString& value ); - virtual void Set( int value ) ; - virtual void Check( bool check ); - - virtual int GetIntValue() const ; - virtual wxString GetStringValue() const ; -protected : - DataBrowserItemDataRef m_data; -} ; - - -class WXDLLIMPEXP_CORE wxMacDataBrowserListControl : public wxMacDataItemBrowserControl, public wxListWidgetImpl -{ -public: - wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); - wxMacDataBrowserListControl() {} - virtual ~wxMacDataBrowserListControl(); - - // wxListWidgetImpl Methods - - wxListWidgetColumn* InsertTextColumn( unsigned int pos, const wxString& title, bool editable = false, - wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ; - wxListWidgetColumn* InsertCheckColumn( unsigned int pos , const wxString& title, bool editable = false, - wxAlignment just = wxALIGN_LEFT , int defaultWidth = -1) ; - - wxMacDataBrowserColumn* DoInsertColumn( unsigned int pos, DataBrowserPropertyID property, - const wxString& title, bool editable, - DataBrowserPropertyType colType, SInt16 just, int width ); - // add and remove - - virtual void ListDelete( unsigned int n ); - virtual void ListInsert( unsigned int n ); - virtual void ListClear(); - - // selecting - - virtual void ListDeselectAll(); - virtual void ListSetSelection( unsigned int n, bool select, bool multi = false ); - virtual int ListGetSelection() const; - virtual int ListGetSelections( wxArrayInt& aSelections ) const; - virtual bool ListIsSelected( unsigned int n ) const; - - // display - - virtual void ListScrollTo( unsigned int n ); - - // accessing content - - virtual unsigned int ListGetCount() const; - virtual int DoListHitTest( const wxPoint& inpoint ) const; - - virtual void UpdateLine( unsigned int n, wxListWidgetColumn* col = NULL ); - virtual void UpdateLineToEnd( unsigned int n) ; - - // pointing back - - wxMacDataBrowserColumn* GetColumnFromProperty( DataBrowserPropertyID ); - -protected: - virtual void ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData); - -private: - wxArrayMacDataBrowserColumns m_columns; - int m_nextColumnId ; - - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListControl); -}; - -// ============================================================================ -// graphics implementation -// ============================================================================ - -// draw the image 'upside down' corrected as HIViewDrawCGImage does - -OSStatus WXDLLIMPEXP_CORE wxMacDrawCGImage( - CGContextRef inContext, - const HIRect * inBounds, - CGImageRef inImage) ; - -CGColorRef WXDLLIMPEXP_CORE wxMacCreateCGColorFromHITheme( ThemeBrush brush ) ; - -#endif // wxUSE_GUI - -#define wxMAC_DEFINE_PROC_GETTER( UPP , x ) \ -UPP Get##x() \ -{ \ - static UPP sHandler = NULL; \ - if ( sHandler == NULL ) \ - sHandler = New##UPP( x ); \ - return sHandler; \ -} - -//--------------------------------------------------------------------------- -// cocoa bridging utilities -//--------------------------------------------------------------------------- - -bool wxMacInitCocoa(); - -typedef Cursor ClassicCursor; - -// ------------- -// Common to all -// ------------- - -// Cursor support - -const short kwxCursorBullseye = 0; -const short kwxCursorBlank = 1; -const short kwxCursorPencil = 2; -const short kwxCursorMagnifier = 3; -const short kwxCursorNoEntry = 4; -const short kwxCursorPaintBrush = 5; -const short kwxCursorPointRight = 6; -const short kwxCursorPointLeft = 7; -const short kwxCursorQuestionArrow = 8; -const short kwxCursorRightArrow = 9; -const short kwxCursorSizeNS = 10; -const short kwxCursorSize = 11; -const short kwxCursorSizeNESW = 12; -const short kwxCursorSizeNWSE = 13; -const short kwxCursorRoller = 14; -const short kwxCursorWatch = 15; -const short kwxCursorLast = kwxCursorWatch; - -// exposing our fallback cursor map - -extern ClassicCursor gMacCursors[]; - -// -// -// - -#if wxUSE_GUI - -class wxNonOwnedWindowCarbonImpl : public wxNonOwnedWindowImpl -{ -public : - wxNonOwnedWindowCarbonImpl( wxNonOwnedWindow* nonownedwnd) ; - - wxNonOwnedWindowCarbonImpl(); - virtual ~wxNonOwnedWindowCarbonImpl(); - - virtual void WillBeDestroyed() ; - void Create( wxWindow* parent, const wxPoint& pos, const wxSize& size, - long style, long extraStyle, const wxString& name ) ; - void Create( wxWindow* parent, WXWindow nativeWindow ); - - WXWindow GetWXWindow() const; - void Raise(); - void Lower(); - bool Show(bool show); - bool ShowWithEffect(bool show, wxShowEffect effect, unsigned timeout); - - - void Update(); - bool SetTransparent(wxByte alpha); - bool SetBackgroundColour(const wxColour& col ); - void SetExtraStyle( long exStyle ); - bool SetBackgroundStyle(wxBackgroundStyle style); - bool CanSetTransparent(); - void MoveWindow(int x, int y, int width, int height); - void GetPosition( int &x, int &y ) const; - void GetSize( int &width, int &height ) const; - void GetContentArea( int &left , int &top , int &width , int &height ) const; - - bool SetShape(const wxRegion& region); - - virtual void SetTitle( const wxString& title, wxFontEncoding encoding ) ; - - // Enabling/disabling of title bar buttons not implemented for Carbon. - virtual bool EnableCloseButton(bool WXUNUSED(enable)) { return false; } - virtual bool EnableMaximizeButton(bool WXUNUSED(enable)) { return false; } - virtual bool EnableMinimizeButton(bool WXUNUSED(enable)) { return false; } - - virtual bool IsMaximized() const; - - virtual bool IsIconized() const; - - virtual void Iconize( bool iconize ); - - virtual void Maximize(bool maximize); - - virtual bool IsFullScreen() const; - - bool EnableFullScreenView(bool enable) wxOVERRIDE; - - virtual bool ShowFullScreen(bool show, long style); - - virtual void ShowWithoutActivating(); - - virtual void RequestUserAttention(int flags); - - virtual void ScreenToWindow( int *x, int *y ); - - virtual void WindowToScreen( int *x, int *y ); - virtual bool IsActive(); - - - bool MacGetUnifiedAppearance() const ; - void MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear ) ; - wxUint32 MacGetWindowAttributes() const ; - void MacSetMetalAppearance( bool set ) ; - bool MacGetMetalAppearance() const ; - void MacSetUnifiedAppearance( bool set ); - - WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; } - - wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; } -protected : - void MacInstallTopLevelWindowEventHandler(); - - WXEVENTHANDLERREF m_macEventHandler ; - WindowRef m_macWindow; - void * m_macFullScreenData ; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxNonOwnedWindowCarbonImpl); -}; - -#endif // wxUSE_GUI - -#endif - // _WX_PRIVATE_H_ diff --git a/include/wx/osx/carbon/private/mactext.h b/include/wx/osx/carbon/private/mactext.h deleted file mode 100644 index d665abaa0d..0000000000 --- a/include/wx/osx/carbon/private/mactext.h +++ /dev/null @@ -1,52 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/private/mactext.h -// Purpose: private wxMacTextControl base class -// Author: Stefan Csomor -// Modified by: -// Created: 03/02/99 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#ifndef _WX_MAC_PRIVATE_MACTEXT_H_ -#define _WX_MAC_PRIVATE_MACTEXT_H_ - -#include "wx/osx/private.h" - -// implementation exposed, so that search control can pull it - -class wxMacUnicodeTextControl : public wxMacControl, public wxTextWidgetImpl -{ -public : - wxMacUnicodeTextControl( wxTextCtrl *wxPeer ) ; - wxMacUnicodeTextControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) ; - virtual ~wxMacUnicodeTextControl(); - - virtual bool CanFocus() const - { return true; } - virtual void VisibilityChanged(bool shown); - virtual wxString GetStringValue() const ; - virtual void SetStringValue( const wxString &str) ; - virtual void Copy(); - virtual void Cut(); - virtual void Paste(); - virtual bool CanPaste() const; - virtual void SetEditable(bool editable) ; - virtual void GetSelection( long* from, long* to) const ; - virtual void SetSelection( long from , long to ) ; - virtual void WriteText(const wxString& str) ; - -protected : - void InstallEventHandlers(); - - // contains the tag for the content (is different for password and non-password controls) - OSType m_valueTag ; - WXEVENTHANDLERREF m_macTextCtrlEventHandler ; -public : - ControlEditTextSelectionRec m_selection ; -}; - -#endif // _WX_MAC_PRIVATE_MACTEXT_H_ diff --git a/include/wx/osx/carbon/private/print.h b/include/wx/osx/carbon/private/print.h index 82c198da19..eeda2bef28 100644 --- a/include/wx/osx/carbon/private/print.h +++ b/include/wx/osx/carbon/private/print.h @@ -60,17 +60,6 @@ private: WXDLLIMPEXP_CORE wxPrintNativeDataBase* wxOSXCreatePrintData(); -#if wxOSX_USE_CARBON -class WXDLLIMPEXP_CORE wxOSXCarbonPrintData : public wxOSXPrintData -{ -public: - wxOSXCarbonPrintData(); - virtual ~wxOSXCarbonPrintData(); -private: - wxDECLARE_DYNAMIC_CLASS(wxOSXCarbonPrintData); -} ; -#endif - #if wxOSX_USE_COCOA class WXDLLIMPEXP_CORE wxOSXCocoaPrintData : public wxOSXPrintData { diff --git a/include/wx/osx/carbon/private/timer.h b/include/wx/osx/carbon/private/timer.h deleted file mode 100644 index 0d68d7a204..0000000000 --- a/include/wx/osx/carbon/private/timer.h +++ /dev/null @@ -1,32 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/private/timer.h -// Purpose: wxTimer class -// Author: Stefan Csomor -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#ifndef _WX_MAC_PRIVATE_TIMER_H_ -#define _WX_MAC_PRIVATE_TIMER_H_ - -#include "wx/private/timer.h" - -struct MacTimerInfo; - -class WXDLLIMPEXP_CORE wxCarbonTimerImpl : public wxTimerImpl -{ -public: - wxCarbonTimerImpl(wxTimer *timer); - virtual ~wxCarbonTimerImpl(); - - virtual bool Start(int milliseconds = -1, bool one_shot = false); - virtual void Stop(); - - virtual bool IsRunning() const; - -private: - MacTimerInfo *m_info; -}; - -#endif // _WX_MAC_PRIVATE_TIMER_H_ diff --git a/include/wx/osx/carbon/statbmp.h b/include/wx/osx/carbon/statbmp.h deleted file mode 100644 index 3a0754e4f5..0000000000 --- a/include/wx/osx/carbon/statbmp.h +++ /dev/null @@ -1,64 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/osx/carbon/statbmp.h -// Purpose: wxStaticBitmap class -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#ifndef _WX_STATBMP_H_ -#define _WX_STATBMP_H_ - -#include "wx/icon.h" - -class WXDLLIMPEXP_CORE wxStaticBitmap: public wxStaticBitmapBase -{ - wxDECLARE_DYNAMIC_CLASS(wxStaticBitmap); -public: - wxStaticBitmap() { } - - wxStaticBitmap(wxWindow *parent, wxWindowID id, - const wxBitmap& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxStaticBitmapNameStr) - { - Create(parent, id, label, pos, size, style, name); - } - - bool Create(wxWindow *parent, wxWindowID id, - const wxBitmap& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxStaticBitmapNameStr); - - virtual void SetBitmap(const wxBitmap& bitmap); - - virtual void Command(wxCommandEvent& WXUNUSED(event)) {} - virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {} - void OnPaint( wxPaintEvent &event ) ; - - wxBitmap GetBitmap() const { return m_bitmap; } - wxIcon GetIcon() const - { - // icons and bitmaps are really the same thing in wxMac - return (const wxIcon &)m_bitmap; - } - void SetIcon(const wxIcon& icon) { SetBitmap( (const wxBitmap &)icon ) ; } - - // overridden base class virtuals - virtual bool AcceptsFocus() const { return false; } - - protected: - virtual wxSize DoGetBestSize() const; - - wxBitmap m_bitmap; - wxDECLARE_EVENT_TABLE(); -}; - -#endif - // _WX_STATBMP_H_ diff --git a/include/wx/osx/chkconf.h b/include/wx/osx/chkconf.h index adb6999d06..113f8052c2 100644 --- a/include/wx/osx/chkconf.h +++ b/include/wx/osx/chkconf.h @@ -74,8 +74,6 @@ #if wxOSX_USE_IPHONE #include "wx/osx/iphone/chkconf.h" -#elif wxOSX_USE_CARBON - #include "wx/osx/carbon/chkconf.h" #elif wxOSX_USE_COCOA #include "wx/osx/cocoa/chkconf.h" #endif diff --git a/include/wx/osx/combobox.h b/include/wx/osx/combobox.h index 0ebb8028a2..95de0449d4 100644 --- a/include/wx/osx/combobox.h +++ b/include/wx/osx/combobox.h @@ -26,11 +26,7 @@ class wxComboWidgetImpl; // Combobox item class WXDLLIMPEXP_CORE wxComboBox : public wxWindowWithItems< -#if wxOSX_USE_CARBON - wxNavigationEnabled, -#else wxControl, -#endif wxComboBoxBase> { wxDECLARE_DYNAMIC_CLASS(wxComboBox); @@ -38,12 +34,6 @@ class WXDLLIMPEXP_CORE wxComboBox : public: virtual ~wxComboBox(); -#if wxOSX_USE_CARBON - // forward these functions to all subcontrols - virtual bool Enable(bool enable = true); - virtual bool Show(bool show = true); -#endif - // callback functions virtual void DelegateTextChanged( const wxString& value ); virtual void DelegateChoice( const wxString& value ); @@ -105,38 +95,6 @@ class WXDLLIMPEXP_CORE wxComboBox : virtual void SetValue(const wxString& value); // these methods are provided by wxTextEntry for the native impl. -#if wxOSX_USE_CARBON - // Text field functions - virtual wxString GetValue() const; - virtual void WriteText(const wxString& text); - - // Clipboard operations - virtual void Copy(); - virtual void Cut(); - virtual void Paste(); - virtual void SetInsertionPoint(long pos); - virtual void SetInsertionPointEnd(); - virtual long GetInsertionPoint() const; - virtual wxTextPos GetLastPosition() const; - virtual void Replace(long from, long to, const wxString& value); - virtual void Remove(long from, long to); - virtual void SetEditable(bool editable); - virtual bool IsEditable() const; - - virtual void Undo(); - virtual void Redo(); - virtual void SelectAll(); - - virtual bool CanCopy() const; - virtual bool CanCut() const; - virtual bool CanPaste() const; - virtual bool CanUndo() const; - virtual bool CanRedo() const; - - virtual wxClientDataType GetClientDataType() const; - - virtual wxTextWidgetImpl* GetTextPeer() const; -#endif // wxOSX_USE_CARBON #if wxOSX_USE_COCOA virtual void Popup(); @@ -157,16 +115,10 @@ protected: virtual void DoClear(); // wxTextEntry functions -#if wxOSX_USE_CARBON - virtual wxString DoGetValue() const; -#endif virtual wxWindow *GetEditableWindow() { return this; } // override the base class virtuals involved in geometry calculations virtual wxSize DoGetBestSize() const; -#if wxOSX_USE_CARBON - virtual void DoMoveWindow(int x, int y, int width, int height); -#endif virtual int DoInsertItems(const wxArrayStringsAdapter& items, unsigned int pos, @@ -175,9 +127,6 @@ protected: virtual void DoSetItemClientData(unsigned int n, void* clientData); virtual void * DoGetItemClientData(unsigned int n) const; -#if wxOSX_USE_CARBON - virtual void SetClientDataType(wxClientDataType clientDataItemsType); -#endif virtual void EnableTextChangedEvents(bool enable); diff --git a/include/wx/osx/core/dataview.h b/include/wx/osx/core/dataview.h index 61d05bf309..440be5e8e0 100644 --- a/include/wx/osx/core/dataview.h +++ b/include/wx/osx/core/dataview.h @@ -12,11 +12,7 @@ #include "wx/dataview.h" -#if wxOSX_USE_CARBON -typedef wxMacControl wxWidgetImplType; -#else typedef wxWidgetImpl wxWidgetImplType; -#endif // --------------------------------------------------------- // Helper functions for dataview implementation on OSX diff --git a/include/wx/osx/core/private.h b/include/wx/osx/core/private.h index 55f1c4e9fa..9d0acb46b1 100644 --- a/include/wx/osx/core/private.h +++ b/include/wx/osx/core/private.h @@ -128,11 +128,7 @@ class wxSearchCtrl; WXDLLIMPEXP_CORE wxWindowMac * wxFindWindowFromWXWidget(WXWidget inControl ); -#if wxOSX_USE_CARBON -typedef wxMacControl wxWidgetImplType; -#else typedef wxWidgetImpl wxWidgetImplType; -#endif #if wxUSE_MENUS class wxMenuItemImpl : public wxObject diff --git a/include/wx/osx/core/private/datetimectrl.h b/include/wx/osx/core/private/datetimectrl.h index 18778d7da5..213e047c69 100644 --- a/include/wx/osx/core/private/datetimectrl.h +++ b/include/wx/osx/core/private/datetimectrl.h @@ -29,8 +29,6 @@ enum wxDateTimeWidgetKind class wxDateTimeWidgetImpl #if wxOSX_USE_COCOA : public wxWidgetCocoaImpl -#elif wxOSX_USE_CARBON - : public wxMacControl #else #error "Unsupported platform" #endif @@ -58,10 +56,6 @@ protected: : wxWidgetCocoaImpl(wxpeer, view) { } -#elif wxOSX_USE_CARBON - // There is no Carbon implementation of this control yet so we don't need - // any ctor for it yet but it should be added here if Carbon version is - // written later. #endif }; diff --git a/include/wx/osx/evtloop.h b/include/wx/osx/evtloop.h index 947c080fb1..cbbab016d6 100644 --- a/include/wx/osx/evtloop.h +++ b/include/wx/osx/evtloop.h @@ -13,11 +13,7 @@ #ifndef _WX_OSX_EVTLOOP_H_ #define _WX_OSX_EVTLOOP_H_ -#ifdef __WXOSX_COCOA__ - #include "wx/osx/cocoa/evtloop.h" -#else - #include "wx/osx/carbon/evtloop.h" -#endif +#include "wx/osx/cocoa/evtloop.h" class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow; diff --git a/include/wx/osx/font.h b/include/wx/osx/font.h index 792f6ca980..93950f47a1 100644 --- a/include/wx/osx/font.h +++ b/include/wx/osx/font.h @@ -139,14 +139,6 @@ public: // Mac-specific, risks to change, don't use in portable code -#if wxOSX_USE_CARBON && wxOSX_USE_ATSU_TEXT - wxUint16 MacGetThemeFontID() const ; - - // 'old' Quickdraw accessors - short MacGetFontNum() const; - wxByte MacGetFontStyle() const; -#endif - #if wxOSX_USE_COCOA_OR_CARBON CGFontRef OSXGetCGFont() const; #endif diff --git a/include/wx/osx/glcanvas.h b/include/wx/osx/glcanvas.h index 03c122412f..69f29fc499 100644 --- a/include/wx/osx/glcanvas.h +++ b/include/wx/osx/glcanvas.h @@ -131,20 +131,6 @@ public: // implementation-only from now on -#if wxOSX_USE_CARBON - // Unlike some other platforms, this must get called if you override it, - // i.e. don't forget "event.Skip()" in your EVT_SIZE handler - void OnSize(wxSizeEvent& event); - - virtual void MacSuperChangedPosition(); - virtual void MacTopLevelWindowChangedPosition(); - virtual void MacVisibilityChanged(); - - void MacUpdateView(); - - GLint GetAglBufferName() const { return m_bufferName; } -#endif - protected: WXGLPixelFormat m_glFormat; diff --git a/include/wx/osx/listbox.h b/include/wx/osx/listbox.h index cbcee7b539..5219df8fde 100644 --- a/include/wx/osx/listbox.h +++ b/include/wx/osx/listbox.h @@ -167,10 +167,6 @@ protected: wxArrayPtrVoid m_itemsClientData; private: -#ifdef __WXOSX_CARBON__ - // It needs to call our CalcAndSendEvent(). - friend class wxMacDataBrowserListControl; -#endif // Carbon wxDECLARE_DYNAMIC_CLASS(wxListBox); wxDECLARE_EVENT_TABLE(); diff --git a/include/wx/osx/private.h b/include/wx/osx/private.h index 5b33475f99..23fd0025fb 100644 --- a/include/wx/osx/private.h +++ b/include/wx/osx/private.h @@ -5,8 +5,6 @@ #if wxOSX_USE_IPHONE #include "wx/osx/iphone/private.h" -#elif wxOSX_USE_CARBON - #include "wx/osx/carbon/private.h" #elif wxOSX_USE_COCOA #include "wx/osx/cocoa/private.h" #elif wxUSE_GUI diff --git a/include/wx/osx/private/print.h b/include/wx/osx/private/print.h index 6f33d3ba17..13c3d5cda1 100644 --- a/include/wx/osx/private/print.h +++ b/include/wx/osx/private/print.h @@ -1,5 +1 @@ -#ifdef __WXMAC_CLASSIC__ -#include "wx/osx/classic/private/print.h" -#else #include "wx/osx/carbon/private/print.h" -#endif diff --git a/include/wx/osx/private/timer.h b/include/wx/osx/private/timer.h index cd990764c3..1eb8dd80e9 100644 --- a/include/wx/osx/private/timer.h +++ b/include/wx/osx/private/timer.h @@ -1,11 +1,3 @@ -/* common warning snippet for all osx direct includes */ - -#ifndef wxOSX_USE_CARBON -#error "this files should only be included after platform.h was included" -#endif - #if 1 // revert to wxOSX_USE_COCOA_OR_IPHONE in case of problems #include "wx/osx/core/private/timer.h" -#elif wxOSX_USE_CARBON - #include "wx/osx/carbon/private/timer.h" #endif diff --git a/include/wx/osx/sound.h b/include/wx/osx/sound.h index b395e0ba20..e35d090894 100644 --- a/include/wx/osx/sound.h +++ b/include/wx/osx/sound.h @@ -34,16 +34,6 @@ public : // does the true work of stopping and cleaning up virtual void DoStop() = 0; -#if wxOSX_USE_CARBON - // can be called by a timer for repeated tasks during playback - virtual void SoundTask(); - -protected : - void CreateAndStartTimer(); - - wxSoundTimer* m_pTimer; -#endif // wxOSX_USE_CARBON - protected: unsigned int m_flags; bool m_markedForDeletion; diff --git a/include/wx/osx/statbmp.h b/include/wx/osx/statbmp.h index 59bf91a8f0..45d1f3c9d5 100644 --- a/include/wx/osx/statbmp.h +++ b/include/wx/osx/statbmp.h @@ -1,6 +1,2 @@ -#if wxOSX_USE_CARBON -#include "wx/osx/carbon/statbmp.h" -#else #define wxGenericStaticBitmap wxStaticBitmap #include "wx/generic/statbmpg.h" -#endif diff --git a/include/wx/osx/uma.h b/include/wx/osx/uma.h index 451f2f71f6..e69de29bb2 100644 --- a/include/wx/osx/uma.h +++ b/include/wx/osx/uma.h @@ -1,3 +0,0 @@ -#if wxOSX_USE_CARBON -#include "wx/osx/carbon/uma.h" -#endif diff --git a/include/wx/osx/window.h b/include/wx/osx/window.h index 75325852c8..192c420eaf 100644 --- a/include/wx/osx/window.h +++ b/include/wx/osx/window.h @@ -19,10 +19,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; class WXDLLIMPEXP_FWD_CORE wxPanel; class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow; -#if wxOSX_USE_CARBON - class WXDLLIMPEXP_FWD_CORE wxMacControl ; - typedef wxMacControl wxOSXWidgetImpl; -#elif wxOSX_USE_COCOA_OR_IPHONE +#if wxOSX_USE_COCOA_OR_IPHONE class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ; typedef wxWidgetImpl wxOSXWidgetImpl; #endif diff --git a/include/wx/overlay.h b/include/wx/overlay.h index adde26db86..57b87b48df 100644 --- a/include/wx/overlay.h +++ b/include/wx/overlay.h @@ -13,9 +13,7 @@ #include "wx/defs.h" -#if defined(__WXMAC__) && wxOSX_USE_CARBON - #define wxHAS_NATIVE_OVERLAY 1 -#elif defined(__WXDFB__) +#if defined(__WXDFB__) #define wxHAS_NATIVE_OVERLAY 1 #else // don't define wxHAS_NATIVE_OVERLAY diff --git a/include/wx/platform.h b/include/wx/platform.h index 8ee03f8124..b2f65e763e 100644 --- a/include/wx/platform.h +++ b/include/wx/platform.h @@ -415,10 +415,10 @@ whatever reason. The primary symbol remains __WXOSX_XXX__ one, __WXOSX__ exists to allow - checking for any OS X port (Carbon and Cocoa) and __WXMAC__ is an old name + checking for any OS X port (Cocoa) and __WXMAC__ is an old name for it. */ -#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) +#if defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) # ifndef __WXOSX__ # define __WXOSX__ 1 # endif @@ -435,8 +435,8 @@ # error "incorrect SDK for an iPhone build" # endif # else -# if wxUSE_GUI && !(defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__)) -# error "one of __WXOSX_IPHONE__, __WXOSX_CARBON__ or __WXOSX_COCOA__ must be defined for the GUI build" +# if wxUSE_GUI && !defined(__WXOSX_COCOA__) +# error "one of __WXOSX_IPHONE__ or __WXOSX_COCOA__ must be defined for the GUI build" # endif # if !( defined(TARGET_OS_MAC) && TARGET_OS_MAC ) # error "incorrect SDK for a Mac OS X build" diff --git a/include/wx/platinfo.h b/include/wx/platinfo.h index 3166f82804..9802f19018 100644 --- a/include/wx/platinfo.h +++ b/include/wx/platinfo.h @@ -75,8 +75,8 @@ enum wxPortId wxPORT_X11 = 1 << 5, // wxX11, using wxUniversal wxPORT_PM = 1 << 6, // wxOS2, using OS/2 Presentation Manager wxPORT_OS2 = wxPORT_PM, // wxOS2, using OS/2 Presentation Manager - wxPORT_MAC = 1 << 7, // wxOSX (former wxMac), using Cocoa, Carbon or iPhone API - wxPORT_OSX = wxPORT_MAC, // wxOSX, using Cocoa, Carbon or iPhone API + wxPORT_MAC = 1 << 7, // wxOSX (former wxMac), using Cocoa or iPhone API + wxPORT_OSX = wxPORT_MAC, // wxOSX, using Cocoa or iPhone API wxPORT_COCOA = 1 << 8, // wxCocoa, using Cocoa NextStep/Mac API wxPORT_WINCE = 1 << 9, // wxWinCE, toolkit is WinCE SDK API wxPORT_QT = 1 << 10 // wxQT, using QT4 diff --git a/include/wx/ribbon/art.h b/include/wx/ribbon/art.h index 9deb195d6a..a74219535f 100644 --- a/include/wx/ribbon/art.h +++ b/include/wx/ribbon/art.h @@ -926,8 +926,7 @@ protected: #if defined(__WXMSW__) typedef wxRibbonMSWArtProvider wxRibbonDefaultArtProvider; -#elif defined(__WXOSX_CARBON__) || \ - defined(__WXOSX_COCOA__) || \ +#elif defined(__WXOSX_COCOA__) || \ defined(__WXOSX_IPHONE__) // TODO: Once implemented, change typedef to OSX // typedef wxRibbonOSXArtProvider wxRibbonDefaultArtProvider; diff --git a/include/wx/window.h b/include/wx/window.h index a8e88ece16..2bd4a8a779 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -58,12 +58,8 @@ // must do everything ourselves #undef wxHAS_NATIVE_ENABLED_MANAGEMENT #elif defined(__WXOSX__) - #if wxOSX_USE_CARBON - #define wxHAS_NATIVE_ENABLED_MANAGEMENT - #else - // must do everything ourselves - #undef wxHAS_NATIVE_ENABLED_MANAGEMENT - #endif + // must do everything ourselves + #undef wxHAS_NATIVE_ENABLED_MANAGEMENT #else #define wxHAS_NATIVE_ENABLED_MANAGEMENT #endif diff --git a/interface/wx/app.h b/interface/wx/app.h index 32499bab65..1ec548eadb 100644 --- a/interface/wx/app.h +++ b/interface/wx/app.h @@ -1000,8 +1000,7 @@ public: virtual void MacNewFile(); /** - Called in response of an openFiles message with Cocoa, or an - "open-document" Apple event with Carbon. + Called in response of an openFiles message. You need to override this method in order to open one or more document files after the user double clicked on it or if the files and/or diff --git a/interface/wx/button.h b/interface/wx/button.h index afbb6d3637..1762317852 100644 --- a/interface/wx/button.h +++ b/interface/wx/button.h @@ -85,11 +85,7 @@ bitmap but uses a standard id would display a label too. @style{wxBORDER_NONE} Creates a button without border. This is currently implemented in MSW, - GTK2 and OSX/Cocoa and OSX/Carbon ports but in the latter only applies - to buttons with bitmaps and using bitmap of one of the standard sizes - only, namely 128*128, 48*48, 24*24 or 16*16. In all the other cases - wxBORDER_NONE is ignored under OSX/Carbon (these restrictions don't - exist in OSX/Cocoa however). + GTK2 and OSX/Cocoa. @endStyleTable @beginEventEmissionTable{wxCommandEvent} diff --git a/interface/wx/dataview.h b/interface/wx/dataview.h index 957c1de05e..9a5dd9b652 100644 --- a/interface/wx/dataview.h +++ b/interface/wx/dataview.h @@ -182,9 +182,6 @@ public: @return @true if this item should be enabled, @false otherwise. - @note Currently disabling items is not supported by the wxOSX/Carbon - implementation. - @since 2.9.2 */ virtual bool IsEnabled(const wxDataViewItem &item, @@ -1274,8 +1271,6 @@ public: Doesn't do anything if the item or this column is not editable. - @note Currently not implemented in wxOSX/Carbon. - @since 2.9.4 */ virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column); diff --git a/interface/wx/msgdlg.h b/interface/wx/msgdlg.h index 66cf4c1701..5eba416fee 100644 --- a/interface/wx/msgdlg.h +++ b/interface/wx/msgdlg.h @@ -31,8 +31,8 @@ const char wxMessageBoxCaptionStr[] = "Message"; Puts a Help button to the message box. This button can have special appearance or be specially positioned if its label is not changed from the default one. Notice that using this button is not supported when - showing a message box from non-main thread in wxOSX/Cocoa and it is not - supported in wxOSX/Carbon at all. Available since wxWidgets 2.9.3. + showing a message box from non-main thread in wxOSX/Cocoa. + Available since wxWidgets 2.9.3. @style{wxNO_DEFAULT} Makes the "No" button default, can only be used with @c wxYES_NO. @style{wxCANCEL_DEFAULT} diff --git a/interface/wx/textctrl.h b/interface/wx/textctrl.h index 85a4fefc17..574b8fda49 100644 --- a/interface/wx/textctrl.h +++ b/interface/wx/textctrl.h @@ -1279,7 +1279,7 @@ public: The returned number is the number of logical lines, i.e. just the count of the number of newline characters in the control + 1, for wxGTK and wxOSX/Cocoa ports while it is the number of physical lines, i.e. the - count of lines actually shown in the control, in wxMSW and wxOSX/Carbon. + count of lines actually shown in the control, in wxMSW. Because of this discrepancy, it is not recommended to use this function. @remarks diff --git a/interface/wx/window.h b/interface/wx/window.h index 21a4b0d3b8..9037d3dc3d 100644 --- a/interface/wx/window.h +++ b/interface/wx/window.h @@ -588,7 +588,7 @@ public: @param vflag Whether the vertical scroll bar should always be visible. - @remarks This function is currently only implemented under Mac/Carbon. + @remarks This function is currently not implemented. */ virtual void AlwaysShowScrollbars(bool hflag = true, bool vflag = true); @@ -2750,9 +2750,7 @@ public: animation time for the current platform is used. @note Currently this function is only implemented in wxMSW and wxOSX - (for wxTopLevelWindows only in Carbon version and for any kind of - windows in Cocoa) and does the same thing as Show() in the other - ports. + and does the same thing as Show() in the other ports. @since 2.9.0 diff --git a/samples/docview/docview.cpp b/samples/docview/docview.cpp index fc3f65acfa..6b352d5f38 100644 --- a/samples/docview/docview.cpp +++ b/samples/docview/docview.cpp @@ -178,9 +178,6 @@ bool MyApp::OnInit() new wxDocTemplate(docManager, "Drawing", "*.drw", "", "drw", "Drawing Doc", "Drawing View", CLASSINFO(DrawingDocument), CLASSINFO(DrawingView)); -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - wxFileName::MacRegisterDefaultTypeAndCreator("drw" , 'WXMB' , 'WXMA'); -#endif if ( m_mode == Mode_Single ) { @@ -194,9 +191,6 @@ bool MyApp::OnInit() new wxDocTemplate(docManager, "Text", "*.txt;*.text", "", "txt;text", "Text Doc", "Text View", CLASSINFO(TextEditDocument), CLASSINFO(TextEditView)); -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - wxFileName::MacRegisterDefaultTypeAndCreator("txt" , 'TEXT' , 'WXMA'); -#endif // Create a template relating image documents to their views new wxDocTemplate(docManager, "Image", "*.png;*.jpg", "", "png;jpg", "Image Doc", "Image View", diff --git a/samples/mediaplayer/mediaplayer.cpp b/samples/mediaplayer/mediaplayer.cpp index 6afbd8e02d..bdcb095f81 100644 --- a/samples/mediaplayer/mediaplayer.cpp +++ b/samples/mediaplayer/mediaplayer.cpp @@ -27,8 +27,6 @@ // // 1) Certain backends can't play the same media file at the same time (MCI, // Cocoa NSMovieView-Quicktime). -// 2) Positioning on Mac Carbon is messed up if put in a sub-control like a -// Notebook (like this sample does). // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // ============================================================================ diff --git a/samples/minimal/Info_carbon.plist b/samples/minimal/Info_carbon.plist deleted file mode 100644 index 8fca43e723..0000000000 --- a/samples/minimal/Info_carbon.plist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - $(PRODUCT_NAME) - CFBundleGetInfoString - $(PRODUCT_NAME) version 3.1.0, (c) 2005-2016 wxWidgets - CFBundleIconFile - wxmac.icns - CFBundleIdentifier - org.wxwidgets.samples.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLocalizations - - de - en - fr - it - - CFBundleLongVersionString - 3.1.0, (c) 2005-2016 wxWidgets - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 3.1.0 - CFBundleSignature - ???? - CFBundleVersion - 3.1.0 - NSHumanReadableCopyright - Copyright 2005-2016 wxWidgets - - diff --git a/samples/minimal/minimal_carbon.xcodeproj/project.pbxproj b/samples/minimal/minimal_carbon.xcodeproj/project.pbxproj deleted file mode 100644 index 5d55b1c455..0000000000 --- a/samples/minimal/minimal_carbon.xcodeproj/project.pbxproj +++ /dev/null @@ -1,339 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 405B1A9910EF228C00676938 /* minimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 405B1A9810EF228C00676938 /* minimal.cpp */; }; - 405B1AC310EF253300676938 /* minimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 405B1A9810EF228C00676938 /* minimal.cpp */; }; - 40E3518B10EF314A0029DC34 /* libwx_osx_carbon_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E3518410EF30F90029DC34 /* libwx_osx_carbon_static.a */; }; - 40E3518C10EF31550029DC34 /* libwx_osx_carbon.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E3518210EF30F90029DC34 /* libwx_osx_carbon.dylib */; }; - 40E3519010EF320E0029DC34 /* libwx_osx_carbon.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 40E3518210EF30F90029DC34 /* libwx_osx_carbon.dylib */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 40E3518110EF30F90029DC34 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D2AAC0C705546C1D00DB518D; - remoteInfo = dynamic; - }; - 40E3518310EF30F90029DC34 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 404BEE6110EC83280080E2B8; - remoteInfo = static; - }; - 40E3518710EF31300029DC34 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 363401F972C53D8EBD3D4BD9; - remoteInfo = dynamic; - }; - 40E3518910EF313A0029DC34 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = BAB02EC06578349A9171CCAC; - remoteInfo = static; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 405B1A9410EF209B00676938 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 40E3519010EF320E0029DC34 /* libwx_osx_carbon.dylib in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 405B1A9810EF228C00676938 /* minimal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minimal.cpp; sourceTree = ""; }; - 405B1ACB10EF253300676938 /* minimal_carbon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = minimal_carbon.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 4073593F1370888D0077DE1B /* Info_carbon.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info_carbon.plist; sourceTree = ""; }; - 40A9683713B281D700B0D0DD /* wxdebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = wxdebug.xcconfig; path = ../../build/osx/wxdebug.xcconfig; sourceTree = SOURCE_ROOT; }; - 40A9683813B281D700B0D0DD /* wxrelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = wxrelease.xcconfig; path = ../../build/osx/wxrelease.xcconfig; sourceTree = SOURCE_ROOT; }; - 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = wxcarbon.xcodeproj; path = ../../build/osx/wxcarbon.xcodeproj; sourceTree = SOURCE_ROOT; }; - 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = wxcarbon.xcconfig; path = ../../build/osx/wxcarbon.xcconfig; sourceTree = SOURCE_ROOT; }; - 8D1107320486CEB800E47090 /* minimal_carbon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = minimal_carbon.app; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 405B1AC410EF253300676938 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E3518B10EF314A0029DC34 /* libwx_osx_carbon_static.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D11072E0486CEB800E47090 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E3518C10EF31550029DC34 /* libwx_osx_carbon.dylib in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* minimal_carbon.app */, - 405B1ACB10EF253300676938 /* minimal_carbon.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* minimal_cocoa */ = { - isa = PBXGroup; - children = ( - 4073593F1370888D0077DE1B /* Info_carbon.plist */, - 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */, - 40A9683713B281D700B0D0DD /* wxdebug.xcconfig */, - 40A9683813B281D700B0D0DD /* wxrelease.xcconfig */, - 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */, - 405B1A9710EF227D00676938 /* src */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = minimal_cocoa; - sourceTree = ""; - }; - 405B1A9710EF227D00676938 /* src */ = { - isa = PBXGroup; - children = ( - 405B1A9810EF228C00676938 /* minimal.cpp */, - ); - name = src; - sourceTree = ""; - }; - 40E3517D10EF30F90029DC34 /* Products */ = { - isa = PBXGroup; - children = ( - 40E3518210EF30F90029DC34 /* libwx_osx_carbon.dylib */, - 40E3518410EF30F90029DC34 /* libwx_osx_carbon_static.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 405B1ABF10EF253300676938 /* static */ = { - isa = PBXNativeTarget; - buildConfigurationList = 405B1AC810EF253300676938 /* Build configuration list for PBXNativeTarget "static" */; - buildPhases = ( - 405B1AC210EF253300676938 /* Sources */, - 405B1AC410EF253300676938 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 40E3518A10EF313A0029DC34 /* PBXTargetDependency */, - ); - name = static; - productInstallPath = "$(HOME)/Applications"; - productName = minimal_cocoa; - productReference = 405B1ACB10EF253300676938 /* minimal_carbon.app */; - productType = "com.apple.product-type.application"; - }; - 8D1107260486CEB800E47090 /* dynamic */ = { - isa = PBXNativeTarget; - buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "dynamic" */; - buildPhases = ( - 8D11072C0486CEB800E47090 /* Sources */, - 8D11072E0486CEB800E47090 /* Frameworks */, - 405B1A9410EF209B00676938 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - 40E3518810EF31300029DC34 /* PBXTargetDependency */, - ); - name = dynamic; - productInstallPath = "$(HOME)/Applications"; - productName = minimal_cocoa; - productReference = 8D1107320486CEB800E47090 /* minimal_carbon.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "minimal_carbon" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* minimal_cocoa */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 40E3517D10EF30F90029DC34 /* Products */; - ProjectRef = 40E3517C10EF30F90029DC34 /* wxcarbon.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 8D1107260486CEB800E47090 /* dynamic */, - 405B1ABF10EF253300676938 /* static */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 40E3518210EF30F90029DC34 /* libwx_osx_carbon.dylib */ = { - isa = PBXReferenceProxy; - fileType = "compiled.mach-o.dylib"; - path = libwx_osx_carbon.dylib; - remoteRef = 40E3518110EF30F90029DC34 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 40E3518410EF30F90029DC34 /* libwx_osx_carbon_static.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libwx_osx_carbon_static.a; - remoteRef = 40E3518310EF30F90029DC34 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXSourcesBuildPhase section */ - 405B1AC210EF253300676938 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 405B1AC310EF253300676938 /* minimal.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D11072C0486CEB800E47090 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 405B1A9910EF228C00676938 /* minimal.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 40E3518810EF31300029DC34 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = dynamic; - targetProxy = 40E3518710EF31300029DC34 /* PBXContainerItemProxy */; - }; - 40E3518A10EF313A0029DC34 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = static; - targetProxy = 40E3518910EF313A0029DC34 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 405B1AC910EF253300676938 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - PRODUCT_NAME = minimal_carbon; - }; - name = Debug; - }; - 405B1ACA10EF253300676938 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - OTHER_LDFLAGS = "$(OTHER_LDFLAGS)"; - PRODUCT_NAME = minimal_carbon; - }; - name = Release; - }; - C01FCF4B08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - PRODUCT_NAME = minimal_carbon; - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Debug; - }; - C01FCF4C08A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40E3518610EF31130029DC34 /* wxcarbon.xcconfig */; - buildSettings = { - PRODUCT_NAME = minimal_carbon; - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 40A9683713B281D700B0D0DD /* wxdebug.xcconfig */; - buildSettings = { - INFOPLIST_FILE = Info_carbon.plist; - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Info_carbon.plist; - WXROOT = "$(PROJECT_DIR)/../.."; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 405B1AC810EF253300676938 /* Build configuration list for PBXNativeTarget "static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 405B1AC910EF253300676938 /* Debug */, - 405B1ACA10EF253300676938 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "dynamic" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4B08A954540054247B /* Debug */, - C01FCF4C08A954540054247B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "minimal_carbon" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index d9e3d93a69..e94da72067 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -1647,7 +1647,7 @@ bool wxDataViewSpinRenderer::GetValue( wxVariant &value ) const // wxDataViewChoiceRenderer // ------------------------------------- -#if defined(wxHAS_GENERIC_DATAVIEWCTRL) || defined(__WXOSX_CARBON__) +#if defined(wxHAS_GENERIC_DATAVIEWCTRL) wxDataViewChoiceRenderer::wxDataViewChoiceRenderer( const wxArrayString& choices, wxDataViewCellMode mode, int alignment ) : wxDataViewCustomRenderer(wxT("string"), mode, alignment ) diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 94bec51439..bf5002e68f 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -407,10 +407,6 @@ bool wxDocument::OnSaveDocument(const wxString& file) Modify(false); SetFilename(file); SetDocumentSaved(true); -#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON - wxFileName fn(file) ; - fn.MacSetDefaultTypeAndCreator() ; -#endif return true; } diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp index 0b782d707f..ed884fd5c0 100644 --- a/src/common/fileconf.cpp +++ b/src/common/fileconf.cpp @@ -1033,10 +1033,6 @@ bool wxFileConfig::Flush(bool /* bCurrentOnly */) ResetDirty(); -#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON - m_fnLocalFile.MacSetTypeAndCreator('TEXT', 'ttxt'); -#endif // __WXMAC__ - return true; } diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 58a8a8153a..a8f80c880d 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -1435,8 +1435,6 @@ wxString wxGetOSDirectory() } return wxString(buf); -#elif defined(__WXMAC__) && wxOSX_USE_CARBON - return wxMacFindFolderNoSeparator(kOnSystemDisk, 'macs', false); #else return wxEmptyString; #endif diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 1be39db2d3..18b9c3dafb 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -1227,8 +1227,6 @@ wxString wxFileName::GetTempDir() { wxLogLastError(wxT("GetTempPath")); } -#elif defined(__WXMAC__) && wxOSX_USE_CARBON - dir = wxMacFindFolderNoSeparator(short(kOnSystemDisk), kTemporaryFolderType, kCreateFolder); #endif // systems with native way } @@ -2777,142 +2775,3 @@ wxString wxFileName::GetHumanReadableSize(const wxString& failmsg, #endif // wxUSE_LONGLONG -// ---------------------------------------------------------------------------- -// Mac-specific functions -// ---------------------------------------------------------------------------- - -#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON - -namespace -{ - -class MacDefaultExtensionRecord -{ -public: - MacDefaultExtensionRecord() - { - m_type = - m_creator = 0 ; - } - - // default copy ctor, assignment operator and dtor are ok - - MacDefaultExtensionRecord(const wxString& ext, OSType type, OSType creator) - : m_ext(ext) - { - m_type = type; - m_creator = creator; - } - - wxString m_ext; - OSType m_type; - OSType m_creator; -}; - -WX_DECLARE_OBJARRAY(MacDefaultExtensionRecord, MacDefaultExtensionArray); - -bool gMacDefaultExtensionsInited = false; - -#include "wx/arrimpl.cpp" - -WX_DEFINE_EXPORTED_OBJARRAY(MacDefaultExtensionArray); - -MacDefaultExtensionArray gMacDefaultExtensions; - -// load the default extensions -const MacDefaultExtensionRecord gDefaults[] = -{ - MacDefaultExtensionRecord( "txt", 'TEXT', 'ttxt' ), - MacDefaultExtensionRecord( "tif", 'TIFF', '****' ), - MacDefaultExtensionRecord( "jpg", 'JPEG', '****' ), -}; - -void MacEnsureDefaultExtensionsLoaded() -{ - if ( !gMacDefaultExtensionsInited ) - { - // we could load the pc exchange prefs here too - for ( size_t i = 0 ; i < WXSIZEOF( gDefaults ) ; ++i ) - { - gMacDefaultExtensions.Add( gDefaults[i] ) ; - } - gMacDefaultExtensionsInited = true; - } -} - -} // anonymous namespace - -bool wxFileName::MacSetTypeAndCreator( wxUint32 type , wxUint32 creator ) -{ - FSRef fsRef ; - FSCatalogInfo catInfo; - FileInfo *finfo ; - - if ( wxMacPathToFSRef( GetFullPath() , &fsRef ) == noErr ) - { - if ( FSGetCatalogInfo (&fsRef, kFSCatInfoFinderInfo, &catInfo, NULL, NULL, NULL) == noErr ) - { - finfo = (FileInfo*)&catInfo.finderInfo; - finfo->fileType = type ; - finfo->fileCreator = creator ; - FSSetCatalogInfo( &fsRef, kFSCatInfoFinderInfo, &catInfo ) ; - return true ; - } - } - return false ; -} - -bool wxFileName::MacGetTypeAndCreator( wxUint32 *type , wxUint32 *creator ) const -{ - FSRef fsRef ; - FSCatalogInfo catInfo; - FileInfo *finfo ; - - if ( wxMacPathToFSRef( GetFullPath() , &fsRef ) == noErr ) - { - if ( FSGetCatalogInfo (&fsRef, kFSCatInfoFinderInfo, &catInfo, NULL, NULL, NULL) == noErr ) - { - finfo = (FileInfo*)&catInfo.finderInfo; - *type = finfo->fileType ; - *creator = finfo->fileCreator ; - return true ; - } - } - return false ; -} - -bool wxFileName::MacSetDefaultTypeAndCreator() -{ - wxUint32 type , creator ; - if ( wxFileName::MacFindDefaultTypeAndCreator(GetExt() , &type , - &creator ) ) - { - return MacSetTypeAndCreator( type , creator ) ; - } - return false; -} - -bool wxFileName::MacFindDefaultTypeAndCreator( const wxString& ext , wxUint32 *type , wxUint32 *creator ) -{ - MacEnsureDefaultExtensionsLoaded() ; - wxString extl = ext.Lower() ; - for( int i = gMacDefaultExtensions.Count() - 1 ; i >= 0 ; --i ) - { - if ( gMacDefaultExtensions.Item(i).m_ext == extl ) - { - *type = gMacDefaultExtensions.Item(i).m_type ; - *creator = gMacDefaultExtensions.Item(i).m_creator ; - return true ; - } - } - return false ; -} - -void wxFileName::MacRegisterDefaultTypeAndCreator( const wxString& ext , wxUint32 type , wxUint32 creator ) -{ - MacEnsureDefaultExtensionsLoaded(); - MacDefaultExtensionRecord rec(ext.Lower(), type, creator); - gMacDefaultExtensions.Add( rec ); -} - -#endif // defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON diff --git a/src/common/iconbndl.cpp b/src/common/iconbndl.cpp index 4bd39fa665..c4563120fb 100644 --- a/src/common/iconbndl.cpp +++ b/src/common/iconbndl.cpp @@ -273,14 +273,7 @@ wxIcon wxIconBundle::GetIcon(const wxSize& size, int flags) const } } -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - if (!iconBest.IsOk()) - return wxNullIcon; - - return wxIcon(iconBest.GetHICON(), size); -#else return iconBest; -#endif } wxIcon wxIconBundle::GetIconOfExactSize(const wxSize& size) const diff --git a/src/common/mediactrlcmn.cpp b/src/common/mediactrlcmn.cpp index 27299d41a2..32b488f69a 100644 --- a/src/common/mediactrlcmn.cpp +++ b/src/common/mediactrlcmn.cpp @@ -462,19 +462,6 @@ void wxMediaCtrl::DoMoveWindow(int x, int y, int w, int h) m_imp->Move(x, y, w, h); } -//--------------------------------------------------------------------------- -// wxMediaCtrl::MacVisibilityChanged -//--------------------------------------------------------------------------- -#ifdef __WXOSX_CARBON__ -void wxMediaCtrl::MacVisibilityChanged() -{ - wxControl::MacVisibilityChanged(); - - if(m_imp) - m_imp->MacVisibilityChanged(); -} -#endif - //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // wxMediaBackendCommonBase diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index f537f4eafa..5551dc0627 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -678,11 +678,7 @@ void wxListLineData::ApplyAttributes(wxDC *dc, wxWindow * const listctrl = m_owner->GetParent(); - const bool hasFocus = listctrl->HasFocus() -#if defined(__WXMAC__) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON - && IsControlActive( (ControlRef)listctrl->GetHandle() ) -#endif - ; + const bool hasFocus = listctrl->HasFocus(); // fg colour diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index 399290ea80..b76c96b9bf 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -770,7 +770,7 @@ wxSize wxRendererGeneric::GetCollapseButtonSize(wxWindow *WXUNUSED(win), wxDC& W } void -wxRendererGeneric::DrawItemSelectionRect(wxWindow * win, +wxRendererGeneric::DrawItemSelectionRect(wxWindow * WXUNUSED(win), wxDC& dc, const wxRect& rect, int flags) @@ -793,11 +793,7 @@ wxRendererGeneric::DrawItemSelectionRect(wxWindow * win, } dc.SetBrush(brush); - bool drawFocusRect = (flags & wxCONTROL_CURRENT) && (flags & wxCONTROL_FOCUSED) -#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON - && IsControlActive( (ControlRef)win->GetHandle() ) -#endif - ; + bool drawFocusRect = (flags & wxCONTROL_CURRENT) && (flags & wxCONTROL_FOCUSED); if ( drawFocusRect && !(flags & wxCONTROL_CELL) ) dc.SetPen( *wxBLACK_PEN ); @@ -813,9 +809,6 @@ wxRendererGeneric::DrawItemSelectionRect(wxWindow * win, DrawSelectedCellFocusRect(dc, focusRect); } - - // it's unused everywhere except in wxOSX/Carbon - wxUnusedVar(win); } void diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 4d6a91451c..aa8a7dc0da 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -440,14 +440,6 @@ wxTreeTextCtrl::wxTreeTextCtrl(wxGenericTreeCtrl *owner, rect.y -= 2; rect.width += 8; rect.height += 4; -#elif defined(wxOSX_USE_CARBON) && wxOSX_USE_CARBON - int bestHeight = GetBestSize().y - 8; - if ( rect.height > bestHeight ) - { - int diff = rect.height - bestHeight; - rect.height -= diff; - rect.y += diff / 2; - } #endif // platforms (void)Create(m_owner, wxID_ANY, m_startValue, @@ -2591,11 +2583,7 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc) else { int flags = wxCONTROL_SELECTED; - if (m_hasFocus -#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON // TODO CS - && IsControlActive( (ControlRef)GetHandle() ) -#endif - ) + if (m_hasFocus) flags |= wxCONTROL_FOCUSED; if ((item == m_current) && (m_hasFocus)) flags |= wxCONTROL_CURRENT; @@ -2788,15 +2776,7 @@ wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxTRANSPARENT_PEN; wxColour colText; - if ( item->IsSelected() -#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON // TODO CS - // On wxMac, if the tree doesn't have the focus we draw an empty - // rectangle, so we want to make sure that the text is visible - // against the normal background, not the highlightbackground, so - // don't use the highlight text colour unless we have the focus. - && m_hasFocus && IsControlActive( (ControlRef)GetHandle() ) -#endif - ) + if ( item->IsSelected() ) { #ifdef __WXMAC__ colText = *wxWHITE; diff --git a/src/html/htmlctrl/webkit/webkit.mm b/src/html/htmlctrl/webkit/webkit.mm index 763c7e7f3b..138d753cc1 100644 --- a/src/html/htmlctrl/webkit/webkit.mm +++ b/src/html/htmlctrl/webkit/webkit.mm @@ -37,245 +37,8 @@ extern WXDLLEXPORT_DATA(const char) wxWebKitCtrlNameStr[] = "webkitctrl"; wxIMPLEMENT_DYNAMIC_CLASS(wxWebKitCtrl, wxControl); wxBEGIN_EVENT_TABLE(wxWebKitCtrl, wxControl) -#if defined(__WXMAC__) && wxOSX_USE_CARBON - EVT_SIZE(wxWebKitCtrl::OnSize) -#endif wxEND_EVENT_TABLE() -#if defined(__WXOSX__) && wxOSX_USE_CARBON - -// ---------------------------------------------------------------------------- -// Carbon Events handlers -// ---------------------------------------------------------------------------- - -// prototype for function in src/osx/carbon/nonownedwnd.cpp -void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent ); - -static const EventTypeSpec eventList[] = -{ - //{ kEventClassControl, kEventControlTrack } , - { kEventClassMouse, kEventMouseUp }, - { kEventClassMouse, kEventMouseDown }, - { kEventClassMouse, kEventMouseMoved }, - { kEventClassMouse, kEventMouseDragged }, - - { kEventClassKeyboard, kEventRawKeyDown } , - { kEventClassKeyboard, kEventRawKeyRepeat } , - { kEventClassKeyboard, kEventRawKeyUp } , - { kEventClassKeyboard, kEventRawKeyModifiersChanged } , - - { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } , - { kEventClassTextInput, kEventTextInputUpdateActiveInputArea } , - -#if DEBUG_WEBKIT_SIZING == 1 - { kEventClassControl, kEventControlBoundsChanged } , -#endif -}; - -// mix this in from window.cpp -pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) ; - -// NOTE: This is mostly taken from KeyboardEventHandler in toplevel.cpp, but -// that expects the data pointer is a top-level window, so I needed to change -// that in this case. However, once 2.8 is out, we should factor out the common logic -// among the two functions and merge them. -static pascal OSStatus wxWebKitKeyEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - wxMacCarbonEvent cEvent( event ) ; - - wxWebKitCtrl* thisWindow = (wxWebKitCtrl*) data ; - wxWindow* focus = thisWindow ; - - unsigned char charCode ; - wxChar uniChar[2] ; - uniChar[0] = 0; - uniChar[1] = 0; - - UInt32 keyCode ; - UInt32 modifiers ; - UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ; - -#if wxUSE_UNICODE - ByteCount dataSize = 0 ; - if ( GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, 0 , &dataSize, NULL ) == noErr ) - { - UniChar buf[2] ; - int numChars = dataSize / sizeof( UniChar) + 1; - - UniChar* charBuf = buf ; - - if ( numChars * 2 > 4 ) - charBuf = new UniChar[ numChars ] ; - GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, dataSize , NULL , charBuf ) ; - charBuf[ numChars - 1 ] = 0; - -#if SIZEOF_WCHAR_T == 2 - uniChar = charBuf[0] ; -#else - wxMBConvUTF16 converter ; - converter.MB2WC( uniChar , (const char*)charBuf , 2 ) ; -#endif - - if ( numChars * 2 > 4 ) - delete[] charBuf ; - } -#endif - - GetEventParameter( event, kEventParamKeyMacCharCodes, typeChar, NULL, 1, NULL, &charCode ); - GetEventParameter( event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode ); - GetEventParameter( event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers ); - - UInt32 message = (keyCode << 8) + charCode; - switch ( GetEventKind( event ) ) - { - case kEventRawKeyRepeat : - case kEventRawKeyDown : - { - WXEVENTREF formerEvent = wxTheApp->MacGetCurrentEvent() ; - WXEVENTHANDLERCALLREF formerHandler = wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - if ( /* focus && */ wxTheApp->MacSendKeyDownEvent( - focus , message , modifiers , when , uniChar[0] ) ) - { - result = noErr ; - } - wxTheApp->MacSetCurrentEvent( formerEvent , formerHandler ) ; - } - break ; - - case kEventRawKeyUp : - if ( /* focus && */ wxTheApp->MacSendKeyUpEvent( - focus , message , modifiers , when , uniChar[0] ) ) - { - result = noErr ; - } - break ; - - case kEventRawKeyModifiersChanged : - { - wxKeyEvent event(wxEVT_KEY_DOWN); - - event.m_shiftDown = modifiers & shiftKey; - event.m_rawControlDown = modifiers & controlKey; - event.m_altDown = modifiers & optionKey; - event.m_controlDown = modifiers & cmdKey; - -#if wxUSE_UNICODE - event.m_uniChar = uniChar[0] ; -#endif - - event.SetTimestamp(when); - event.SetEventObject(focus); - - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & controlKey ) - { - event.m_keyCode = WXK_RAW_CONTROL ; - event.SetEventType( ( modifiers & controlKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & shiftKey ) - { - event.m_keyCode = WXK_SHIFT ; - event.SetEventType( ( modifiers & shiftKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & optionKey ) - { - event.m_keyCode = WXK_ALT ; - event.SetEventType( ( modifiers & optionKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & cmdKey ) - { - event.m_keyCode = WXK_CONTROL ; - event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - - wxApp::s_lastModifiers = modifiers ; - } - break ; - - default: - break; - } - - return result ; -} - -static pascal OSStatus wxWebKitCtrlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - wxWebKitCtrl* thisWindow = (wxWebKitCtrl*) data ; - wxNonOwnedWindow* tlw = NULL; - if (thisWindow) - tlw = thisWindow->MacGetTopLevelWindow(); - - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - wxWindow* currentMouseWindow = thisWindow ; - - if ( wxApp::s_captureWindow ) - currentMouseWindow = wxApp::s_captureWindow; - - switch ( GetEventClass( event ) ) - { - case kEventClassKeyboard: - { - result = wxWebKitKeyEventHandler(handler, event, data); - break; - } - - case kEventClassTextInput: - { - result = wxMacUnicodeTextEventHandler(handler, event, data); - break; - } - - case kEventClassMouse: - { - switch ( GetEventKind( event ) ) - { - case kEventMouseDragged : - case kEventMouseMoved : - case kEventMouseDown : - case kEventMouseUp : - { - wxMouseEvent wxevent(wxEVT_LEFT_DOWN); - SetupMouseEvent( wxevent , cEvent ) ; - - currentMouseWindow->ScreenToClient( &wxevent.m_x , &wxevent.m_y ) ; - wxevent.SetEventObject( currentMouseWindow ) ; - wxevent.SetId( currentMouseWindow->GetId() ) ; - - if ( currentMouseWindow->GetEventHandler()->ProcessEvent(wxevent) ) - { - result = noErr; - } - - break; // this should enable WebKit to fire mouse dragged and mouse up events... - } - default : - break ; - } - } - default: - break; - } - - result = CallNextEventHandler(handler, event); - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxWebKitCtrlEventHandler ) - -#endif - // ---------------------------------------------------------------------------- // wxWebKit Events // ---------------------------------------------------------------------------- @@ -428,29 +191,11 @@ bool wxWebKitCtrl::Create(wxWindow *parent, // now create and attach WebKit view... DontCreatePeer(); wxControl::Create(parent, winID, pos, size, style , validator , name); -#if wxOSX_USE_CARBON - wxMacControl* peer = new wxMacControl(this); - WebInitForCarbon(); - HIWebViewCreate( peer->GetControlRefAddr() ); - - m_webView = (WebView*) HIWebViewGetWebView( peer->GetControlRef() ); - - HIViewChangeFeatures( peer->GetControlRef() , kHIViewIsOpaque , 0 ) ; - InstallControlEventHandler( peer->GetControlRef() , GetwxWebKitCtrlEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, this, - (EventHandlerRef *)&m_webKitCtrlEventHandler); - - SetPeer(peer); -#else NSRect r = wxOSXGetFrameForControl( this, pos , size ) ; m_webView = [[WebView alloc] initWithFrame:r frameName:@"webkitFrame" groupName:@"webkitGroup"]; SetPeer(new wxWidgetCocoaImpl( this, m_webView )); -#endif MacPostControlCreate(pos, size); -#if wxOSX_USE_CARBON - HIViewSetVisible( GetPeer()->GetControlRef(), true ); -#endif [m_webView setHidden:false]; @@ -690,85 +435,10 @@ wxString wxWebKitCtrl::RunScript(const wxString& javascript){ } void wxWebKitCtrl::OnSize(wxSizeEvent &event){ -#if defined(__WXMAC__) && wxOSX_USE_CARBON - // This is a nasty hack because WebKit seems to lose its position when it is embedded - // in a control that is not itself the content view for a TLW. - // I put it in OnSize because these calcs are not perfect, and in fact are basically - // guesses based on reverse engineering, so it's best to give people the option of - // overriding OnSize with their own calcs if need be. - // I also left some test debugging print statements as a convenience if a(nother) - // problem crops up. - - wxWindow* tlw = MacGetTopLevelWindow(); - - NSRect frame = [(WebView*)m_webView frame]; - NSRect bounds = [(WebView*)m_webView bounds]; - -#if DEBUG_WEBKIT_SIZING - fprintf(stderr,"Carbon window x=%d, y=%d, width=%d, height=%d\n", GetPosition().x, GetPosition().y, GetSize().x, GetSize().y); - fprintf(stderr, "Cocoa window frame x=%G, y=%G, width=%G, height=%G\n", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); - fprintf(stderr, "Cocoa window bounds x=%G, y=%G, width=%G, height=%G\n", bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height); -#endif - - // This must be the case that Apple tested with, because well, in this one case - // we don't need to do anything! It just works. ;) - if (GetParent() == tlw){ - return; - } - - // since we no longer use parent coordinates, we always want 0,0. - int x = 0; - int y = 0; - - HIRect rect; - rect.origin.x = x; - rect.origin.y = y; - -#if DEBUG_WEBKIT_SIZING - printf("Before conversion, origin is: x = %d, y = %d\n", x, y); -#endif - - // NB: In most cases, when calling HIViewConvertRect, what people want is to use GetRootControl(), - // and this tripped me up at first. But in fact, what we want is the root view, because we need to - // make the y origin relative to the very top of the window, not its contents, since we later flip - // the y coordinate for Cocoa. - HIViewConvertRect (&rect, GetPeer()->GetControlRef(), - HIViewGetRoot( (WindowRef) MacGetTopLevelWindowRef() ) ); - - x = (int)rect.origin.x; - y = (int)rect.origin.y; - -#if DEBUG_WEBKIT_SIZING - printf("Moving Cocoa frame origin to: x = %d, y = %d\n", x, y); -#endif - - if (tlw){ - //flip the y coordinate to convert to Cocoa coordinates - y = tlw->GetSize().y - ((GetSize().y) + y); - } - -#if DEBUG_WEBKIT_SIZING - printf("y = %d after flipping value\n", y); -#endif - - frame.origin.x = x; - frame.origin.y = y; - [(WebView*)m_webView setFrame:frame]; - - if (IsShown()) - [(WebView*)m_webView display]; -#endif event.Skip(); } void wxWebKitCtrl::MacVisibilityChanged(){ -#if defined(__WXMAC__) && wxOSX_USE_CARBON - bool isHidden = !IsControlVisible( GetPeer()->GetControlRef()); - if (!isHidden) - [(WebView*)m_webView display]; - - [m_webView setHidden:isHidden]; -#endif } //------------------------------------------------------------ diff --git a/src/osx/carbon/aboutdlg.cpp b/src/osx/carbon/aboutdlg.cpp deleted file mode 100644 index 37ad8f4d7d..0000000000 --- a/src/osx/carbon/aboutdlg.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/aboutdlg.cpp -// Purpose: native wxAboutBox() implementation for wxMac -// Author: Vadim Zeitlin -// Created: 2006-10-08 -// Copyright: (c) 2006 Vadim Zeitlin -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// for compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#if wxUSE_ABOUTDLG - -#ifndef WX_PRECOMP -#endif //WX_PRECOMP - -#include "wx/aboutdlg.h" -#include "wx/generic/aboutdlgg.h" - -#include "wx/osx/private.h" - -// helper class for HIAboutBox options -class AboutBoxOptions : public wxCFRef -{ -public: - AboutBoxOptions() : wxCFRef - ( - CFDictionaryCreateMutable - ( - kCFAllocatorDefault, - 4, // there are at most 4 values - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks - ) - ) - { - } - - void Set(CFStringRef key, const wxString& value) - { - CFDictionarySetValue(*this, key, wxCFStringRef(value)); - } -}; - -// ============================================================================ -// implementation -// ============================================================================ - -void wxAboutBox(const wxAboutDialogInfo& info, wxWindow *parent) -{ - // Mac native about box currently can show only name, version, copyright - // and description fields and we also shoehorn the credits text into the - // description but if we have anything else we must use the generic version - - if ( info.IsSimple() ) - { - AboutBoxOptions opts; - - opts.Set(kHIAboutBoxNameKey, info.GetName()); - - if ( info.HasVersion() ) - opts.Set(kHIAboutBoxVersionKey,info.GetLongVersion()); - - if ( info.HasCopyright() ) - opts.Set(kHIAboutBoxCopyrightKey, info.GetCopyrightToDisplay()); - - opts.Set(kHIAboutBoxDescriptionKey, info.GetDescriptionAndCredits()); - - HIAboutBox(opts); - } - else // simple "native" version is not enough - { - // we need to use the full-blown generic version - wxGenericAboutBox(info, parent); - } -} - -#endif // wxUSE_ABOUTDLG diff --git a/src/osx/carbon/anybutton.cpp b/src/osx/carbon/anybutton.cpp deleted file mode 100644 index 0788b23c84..0000000000 --- a/src/osx/carbon/anybutton.cpp +++ /dev/null @@ -1,122 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/anybutton.cpp -// Purpose: wxAnyButton -// Author: Stefan Csomor -// Created: 1998-01-01 (extracted from button.cpp) -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/anybutton.h" - -#ifndef WX_PRECOMP - #include "wx/panel.h" - #include "wx/toplevel.h" - #include "wx/dcclient.h" -#endif - -#include "wx/stockitem.h" - -#include "wx/osx/private.h" - -wxSize wxAnyButton::DoGetBestSize() const -{ - if ( GetId() == wxID_HELP ) - return wxSize( 20 , 20 ) ; - - wxSize sz = GetDefaultSize() ; - - switch (GetWindowVariant()) - { - case wxWINDOW_VARIANT_NORMAL: - case wxWINDOW_VARIANT_LARGE: - sz.y = 20 ; - break; - - case wxWINDOW_VARIANT_SMALL: - sz.y = 17 ; - break; - - case wxWINDOW_VARIANT_MINI: - sz.y = 15 ; - break; - - default: - break; - } - -#if wxOSX_USE_CARBON - Rect bestsize = { 0 , 0 , 0 , 0 } ; - GetPeer()->GetBestRect( &bestsize ) ; - - int wBtn; - if ( GetBitmapLabel().IsOk() ) - { - sz.x = bestsize.right - bestsize.left ; - sz.y = bestsize.bottom - bestsize.top ; - sz.x = sz.x + MacGetLeftBorderSize() + - MacGetRightBorderSize(); - sz.y = sz.y + MacGetTopBorderSize() + - MacGetBottomBorderSize(); - wBtn = sz.x; - } - else if ( EmptyRect( &bestsize ) || ( GetWindowStyle() & wxBU_EXACTFIT) ) - { - Point bounds; - - ControlFontStyleRec controlFont; - OSStatus err = GetPeer()->GetData( kControlEntireControl, kControlFontStyleTag, &controlFont ); - verify_noerr( err ); - - // GetThemeTextDimensions will cache strings and the documentation - // says not to use the NoCopy string creation calls. - // This also means that we can't use CFSTR without - // -fno-constant-cfstrings if the library might be unloaded, - // as GetThemeTextDimensions may cache a pointer to our - // unloaded segment. - wxCFStringRef str( !m_label.empty() ? m_label : wxString(" "), - GetFont().GetEncoding() ); - -#if wxOSX_USE_ATSU_TEXT - SInt16 baseline; - if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont ) - { - err = GetThemeTextDimensions( - (CFStringRef)str, - m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline ); - verify_noerr( err ); - } - else -#endif - { - wxClientDC dc(const_cast(this)); - wxCoord width, height ; - dc.GetTextExtent( m_label , &width, &height); - bounds.h = width; - bounds.v = height; - } - - wBtn = bounds.h + sz.y; - } - else - { - wBtn = bestsize.right - bestsize.left ; - // non 'normal' window variants don't return the correct height - // sz.y = bestsize.bottom - bestsize.top ; - } - if ((wBtn > sz.x) || ( GetWindowStyle() & wxBU_EXACTFIT)) - sz.x = wBtn; -#endif - - return sz ; -} - -wxSize wxAnyButton::GetDefaultSize() -{ - int wBtn = 70 ; - int hBtn = 20 ; - - return wxSize(wBtn, hBtn); -} diff --git a/src/osx/carbon/app.cpp b/src/osx/carbon/app.cpp index a932b36602..fec23b9533 100644 --- a/src/osx/carbon/app.cpp +++ b/src/osx/carbon/app.cpp @@ -44,11 +44,7 @@ #include // mac -#if wxOSX_USE_CARBON -#include "wx/osx/uma.h" -#else #include "wx/osx/private.h" -#endif #if defined(WXMAKINGDLL_CORE) # include @@ -75,214 +71,6 @@ wxString wxApp::s_macHelpMenuTitleName = wxT("&Help") ; bool wxApp::sm_isEmbedded = false; // Normally we're not a plugin -#if wxOSX_USE_CARBON - -//---------------------------------------------------------------------- -// Core Apple Event Support -//---------------------------------------------------------------------- - -AEEventHandlerUPP sODocHandler = NULL ; -AEEventHandlerUPP sGURLHandler = NULL ; -AEEventHandlerUPP sOAppHandler = NULL ; -AEEventHandlerUPP sPDocHandler = NULL ; -AEEventHandlerUPP sRAppHandler = NULL ; -AEEventHandlerUPP sQuitHandler = NULL ; - -pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; -pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; -pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; -pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; -pascal OSErr AEHandleRApp( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; -pascal OSErr AEHandleGURL( const AppleEvent *event , AppleEvent *reply , SRefCon refcon ) ; - -pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAEODoc( (AppleEvent*) event , reply) ; -} - -pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAEOApp( (AppleEvent*) event , reply ) ; -} - -pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAEPDoc( (AppleEvent*) event , reply ) ; -} - -pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ; -} - -pascal OSErr AEHandleRApp( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAERApp( (AppleEvent*) event , reply) ; -} - -pascal OSErr AEHandleGURL( const AppleEvent *event , AppleEvent *reply , SRefCon WXUNUSED(refcon) ) -{ - return wxTheApp->MacHandleAEGURL((WXEVENTREF *)event , reply) ; -} - - -// AEODoc Calls MacOpenFiles with all of the files passed - -short wxApp::MacHandleAEODoc(const WXEVENTREF event, WXEVENTREF WXUNUSED(reply)) -{ - AEDescList docList; - AEKeyword keywd; - DescType returnedType; - Size actualSize; - long itemsInList; - OSErr err; - short i; - - err = AEGetParamDesc((AppleEvent *)event, keyDirectObject, typeAEList,&docList); - if (err != noErr) - return err; - - err = AECountItems(&docList, &itemsInList); - if (err != noErr) - return err; - - ProcessSerialNumber PSN ; - PSN.highLongOfPSN = 0 ; - PSN.lowLongOfPSN = kCurrentProcess ; - SetFrontProcess( &PSN ) ; - - wxString fName ; - FSRef theRef ; - - wxArrayString fileNames; - for (i = 1; i <= itemsInList; i++) - { - err = AEGetNthPtr( - &docList, i, typeFSRef, &keywd, &returnedType, - (Ptr)&theRef, sizeof(theRef), &actualSize); - - if ( err != noErr) - return err; - - fName = wxMacFSRefToPath( &theRef ) ; - - fileNames.Add(fName); - } - - MacOpenFiles(fileNames); - - return noErr; -} - -// AEODoc Calls MacOpenURL on the url passed - -short wxApp::MacHandleAEGURL(const WXEVENTREF event, WXEVENTREF WXUNUSED(reply)) -{ - DescType returnedType; - Size actualSize; - char url[255]; - OSErr err = AEGetParamPtr((AppleEvent *)event, keyDirectObject, typeChar, - &returnedType, url, sizeof(url)-1, - &actualSize); - if (err != noErr) - return err; - - url[actualSize] = '\0'; // Terminate the C string - - ProcessSerialNumber PSN ; - PSN.highLongOfPSN = 0 ; - PSN.lowLongOfPSN = kCurrentProcess ; - SetFrontProcess( &PSN ) ; - - MacOpenURL(wxString(url, wxConvUTF8)); - - return noErr; -} - -// AEPDoc Calls MacPrintFile on each of the files passed - -short wxApp::MacHandleAEPDoc(const WXEVENTREF event , WXEVENTREF WXUNUSED(reply)) -{ - AEDescList docList; - AEKeyword keywd; - DescType returnedType; - Size actualSize; - long itemsInList; - OSErr err; - short i; - - err = AEGetParamDesc((AppleEvent *)event, keyDirectObject, typeAEList,&docList); - if (err != noErr) - return err; - - err = AECountItems(&docList, &itemsInList); - if (err != noErr) - return err; - - ProcessSerialNumber PSN ; - PSN.highLongOfPSN = 0 ; - PSN.lowLongOfPSN = kCurrentProcess ; - SetFrontProcess( &PSN ) ; - - wxString fName ; - FSRef theRef ; - - wxArrayString fileNames; - - for (i = 1; i <= itemsInList; i++) - { - err = AEGetNthPtr( - &docList, i, typeFSRef, &keywd, &returnedType, - (Ptr)&theRef, sizeof(theRef), &actualSize); - - if ( err != noErr) - return err; - - fName = wxMacFSRefToPath( &theRef ) ; - fileNames.Add( fName ); - } - - MacPrintFiles(fileNames); - - return noErr; -} - -// AEOApp calls MacNewFile - -short wxApp::MacHandleAEOApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) -{ - MacNewFile() ; - return noErr ; -} - -// AEQuit attempts to quit the application - -short wxApp::MacHandleAEQuit(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) -{ - wxCloseEvent event(wxEVT_QUERY_END_SESSION, wxID_ANY); - event.SetEventObject(this); - event.SetCanVeto(true); - ProcessEvent(event); - if ( !event.GetVeto() ) - { - wxCloseEvent event(wxEVT_END_SESSION, wxID_ANY); - event.SetEventObject(this); - event.SetCanVeto(false); - ProcessEvent(event); - } - return noErr ; -} - -// AEROApp calls MacReopenApp - -short wxApp::MacHandleAERApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) -{ - MacReopenApp() ; - - return noErr ; -} - -#endif //---------------------------------------------------------------------- // Support Routines linking the Mac...File Calls to the Document Manager @@ -445,347 +233,6 @@ bool wxApp::OSXOnShouldTerminate() } #endif -//---------------------------------------------------------------------- -// Macintosh CommandID support - converting between native and wx IDs -//---------------------------------------------------------------------- - -// if no native match they just return the passed-in id - -#if wxOSX_USE_CARBON - -// platform specific static variables -static const short kwxMacAppleMenuId = 1 ; - -struct IdPair -{ - UInt32 macId ; - int wxId ; -} ; - -IdPair gCommandIds [] = -{ - { kHICommandCut , wxID_CUT } , - { kHICommandCopy , wxID_COPY } , - { kHICommandPaste , wxID_PASTE } , - { kHICommandSelectAll , wxID_SELECTALL } , - { kHICommandClear , wxID_CLEAR } , - { kHICommandUndo , wxID_UNDO } , - { kHICommandRedo , wxID_REDO } , -} ; - -int wxMacCommandToId( UInt32 macCommandId ) -{ - int wxid = 0 ; - - switch ( macCommandId ) - { - case kHICommandPreferences : - wxid = wxApp::s_macPreferencesMenuItemId ; - break ; - - case kHICommandQuit : - wxid = wxApp::s_macExitMenuItemId ; - break ; - - case kHICommandAbout : - wxid = wxApp::s_macAboutMenuItemId ; - break ; - - default : - { - for ( size_t i = 0 ; i < WXSIZEOF(gCommandIds) ; ++i ) - { - if ( gCommandIds[i].macId == macCommandId ) - { - wxid = gCommandIds[i].wxId ; - break ; - } - } - } - break ; - } - - if ( wxid == 0 ) - wxid = (int) macCommandId ; - - return wxid ; -} - -UInt32 wxIdToMacCommand( int wxId ) -{ - UInt32 macId = 0 ; - - if ( wxId == wxApp::s_macPreferencesMenuItemId ) - macId = kHICommandPreferences ; - else if (wxId == wxApp::s_macExitMenuItemId) - macId = kHICommandQuit ; - else if (wxId == wxApp::s_macAboutMenuItemId) - macId = kHICommandAbout ; - else - { - for ( size_t i = 0 ; i < WXSIZEOF(gCommandIds) ; ++i ) - { - if ( gCommandIds[i].wxId == wxId ) - { - macId = gCommandIds[i].macId ; - break ; - } - } - } - - if ( macId == 0 ) - macId = (int) wxId ; - - return macId ; -} - -wxMenu* wxFindMenuFromMacCommand( const HICommand &command , wxMenuItem* &item ) -{ - wxMenu* itemMenu = NULL ; -#ifndef __WXUNIVERSAL__ - int id = 0 ; - - // for 'standard' commands which don't have a wx-menu - if ( command.commandID == kHICommandPreferences || command.commandID == kHICommandQuit || command.commandID == kHICommandAbout ) - { - id = wxMacCommandToId( command.commandID ) ; - - wxMenuBar* mbar = wxMenuBar::MacGetInstalledMenuBar() ; - if ( mbar ) - item = mbar->FindItem( id , &itemMenu ) ; - } - else if ( command.commandID != 0 && command.menu.menuRef != 0 && command.menu.menuItemIndex != 0 ) - { - id = wxMacCommandToId( command.commandID ) ; - // make sure it is one of our own menus, or of the 'synthetic' apple and help menus , otherwise don't touch - MenuItemIndex firstUserHelpMenuItem ; - static MenuHandle helpMenuHandle = NULL ; - if ( helpMenuHandle == NULL ) - { - if ( UMAGetHelpMenuDontCreate( &helpMenuHandle , &firstUserHelpMenuItem) != noErr ) - helpMenuHandle = NULL ; - } - - // is it part of the application or the Help menu, then look for the id directly - if ( ( GetMenuHandle( kwxMacAppleMenuId ) != NULL && command.menu.menuRef == GetMenuHandle( kwxMacAppleMenuId ) ) || - ( helpMenuHandle != NULL && command.menu.menuRef == helpMenuHandle ) || - wxMenuBar::MacGetWindowMenuHMenu() != NULL && command.menu.menuRef == wxMenuBar::MacGetWindowMenuHMenu() ) - { - wxMenuBar* mbar = wxMenuBar::MacGetInstalledMenuBar() ; - if ( mbar ) - item = mbar->FindItem( id , &itemMenu ) ; - } - else - { - URefCon refCon = 0 ; - - GetMenuItemRefCon( command.menu.menuRef , command.menu.menuItemIndex , &refCon ) ; - itemMenu = wxFindMenuFromMacMenu( command.menu.menuRef ) ; - if ( itemMenu != NULL && refCon != 0) - item = (wxMenuItem*) refCon; - } - } -#endif - return itemMenu ; -} - -#endif - -//---------------------------------------------------------------------- -// Carbon Event Handler -//---------------------------------------------------------------------- - -#if wxOSX_USE_CARBON - -static const EventTypeSpec eventList[] = -{ - { kEventClassCommand, kEventProcessCommand } , - { kEventClassCommand, kEventCommandUpdateStatus } , - - { kEventClassMenu, kEventMenuOpening }, - { kEventClassMenu, kEventMenuClosed }, - { kEventClassMenu, kEventMenuTargetItem }, - - { kEventClassApplication , kEventAppActivated } , - { kEventClassApplication , kEventAppDeactivated } , - // handling the quit event is not recommended by apple - // rather using the quit apple event - which we do - - { kEventClassAppleEvent , kEventAppleEvent } , - - { kEventClassMouse , kEventMouseDown } , - { kEventClassMouse , kEventMouseMoved } , - { kEventClassMouse , kEventMouseUp } , - { kEventClassMouse , kEventMouseDragged } , - { 'WXMC' , 'WXMC' } -} ; - -static pascal OSStatus -wxMacAppMenuEventHandler( EventHandlerCallRef WXUNUSED(handler), - EventRef event, - void *WXUNUSED(data) ) -{ - wxMacCarbonEvent cEvent( event ) ; - MenuRef menuRef = cEvent.GetParameter(kEventParamDirectObject) ; -#ifndef __WXUNIVERSAL__ - wxMenu* menu = wxFindMenuFromMacMenu( menuRef ) ; - - if ( menu ) - { - switch (GetEventKind(event)) - { - case kEventMenuOpening: - menu->HandleMenuOpened(); - break; - - case kEventMenuClosed: - menu->HandleMenuClosed(); - break; - - case kEventMenuTargetItem: - { - HICommand command ; - - command.menu.menuRef = menuRef; - command.menu.menuItemIndex = cEvent.GetParameter(kEventParamMenuItemIndex,typeMenuItemIndex) ; - command.commandID = cEvent.GetParameter(kEventParamMenuCommand,typeMenuCommand) ; - if (command.commandID != 0) - { - wxMenuItem* item = NULL ; - wxMenu* itemMenu = wxFindMenuFromMacCommand( command , item ) ; - if ( itemMenu && item ) - itemMenu->HandleMenuItemHighlighted( item ); - } - } - break; - - default: - wxFAIL_MSG(wxT("Unexpected menu event kind")); - break; - } - - } -#endif - return eventNotHandledErr; -} - -static pascal OSStatus -wxMacAppCommandEventHandler( EventHandlerCallRef WXUNUSED(handler) , - EventRef event , - void *WXUNUSED(data) ) -{ - OSStatus result = eventNotHandledErr ; - - HICommand command ; - - wxMacCarbonEvent cEvent( event ) ; - cEvent.GetParameter(kEventParamDirectObject,typeHICommand,&command) ; - - wxMenuItem* item = NULL ; - wxMenu* itemMenu = wxFindMenuFromMacCommand( command , item ) ; - - if ( item ) - { - wxASSERT( itemMenu != NULL ) ; - - switch ( cEvent.GetKind() ) - { - case kEventProcessCommand : - if ( itemMenu->HandleCommandProcess( item ) ) - result = noErr; - break ; - - case kEventCommandUpdateStatus: - if ( itemMenu->HandleCommandUpdateStatus( item ) ) - result = noErr; - break ; - - default : - break ; - } - } - return result ; -} - -static pascal OSStatus -wxMacAppApplicationEventHandler( EventHandlerCallRef WXUNUSED(handler) , - EventRef event , - void *WXUNUSED(data) ) -{ - OSStatus result = eventNotHandledErr ; - switch ( GetEventKind( event ) ) - { - case kEventAppActivated : - if ( wxTheApp ) - wxTheApp->SetActive( true , NULL ) ; - result = noErr ; - break ; - - case kEventAppDeactivated : - if ( wxTheApp ) - wxTheApp->SetActive( false , NULL ) ; - result = noErr ; - break ; - - default : - break ; - } - - return result ; -} - -pascal OSStatus wxMacAppEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - EventRef formerEvent = (EventRef) wxTheApp->MacGetCurrentEvent() ; - EventHandlerCallRef formerEventHandlerCallRef = (EventHandlerCallRef) wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - - OSStatus result = eventNotHandledErr ; - switch ( GetEventClass( event ) ) - { -#ifndef __LP64__ - case kEventClassCommand : - result = wxMacAppCommandEventHandler( handler , event , data ) ; - break ; -#endif - case kEventClassApplication : - result = wxMacAppApplicationEventHandler( handler , event , data ) ; - break ; -#ifndef __LP64__ - case kEventClassMenu : - result = wxMacAppMenuEventHandler( handler , event , data ) ; - break ; - - case kEventClassMouse : - { - wxMacCarbonEvent cEvent( event ) ; - - WindowRef window ; - Point screenMouseLocation = cEvent.GetParameter(kEventParamMouseLocation) ; - ::FindWindow(screenMouseLocation, &window); - // only send this event in case it had not already been sent to a tlw, as we get - // double events otherwise (in case event.skip) was called - if ( window == NULL ) - result = wxMacTopLevelMouseEventHandler( handler , event , NULL ) ; - } - break ; -#endif - case kEventClassAppleEvent : - result = AEProcessEvent(event); - break ; - - default : - break ; - } - - wxTheApp->MacSetCurrentEvent( formerEvent, formerEventHandlerCallRef ) ; - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacAppEventHandler ) -#endif - #if wxDEBUG_LEVEL && wxOSX_USE_COCOA_OR_CARBON pascal static void @@ -895,14 +342,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv) return true; } -#if wxOSX_USE_CARBON -bool wxApp::CallOnInit() -{ - wxMacAutoreleasePool autoreleasepool; - return OnInit(); -} -#endif - bool wxApp::OnInitGui() { if ( !wxAppBase::OnInitGui() ) @@ -926,77 +365,6 @@ int wxApp::OnRun() return wxAppBase::OnRun(); } -#if wxOSX_USE_CARBON -bool wxApp::DoInitGui() -{ - InstallStandardEventHandler( GetApplicationEventTarget() ) ; - if (!sm_isEmbedded) - { - InstallApplicationEventHandler( - GetwxMacAppEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, wxTheApp, (EventHandlerRef *)&(wxTheApp->m_macEventHandler)); - } - - if (!sm_isEmbedded) - { - sODocHandler = NewAEEventHandlerUPP(AEHandleODoc) ; - sGURLHandler = NewAEEventHandlerUPP(AEHandleGURL) ; - sOAppHandler = NewAEEventHandlerUPP(AEHandleOApp) ; - sPDocHandler = NewAEEventHandlerUPP(AEHandlePDoc) ; - sRAppHandler = NewAEEventHandlerUPP(AEHandleRApp) ; - sQuitHandler = NewAEEventHandlerUPP(AEHandleQuit) ; - - AEInstallEventHandler( kCoreEventClass , kAEOpenDocuments , - sODocHandler , 0 , FALSE ) ; - AEInstallEventHandler( kInternetEventClass, kAEGetURL, - sGURLHandler , 0 , FALSE ) ; - AEInstallEventHandler( kCoreEventClass , kAEOpenApplication , - sOAppHandler , 0 , FALSE ) ; - AEInstallEventHandler( kCoreEventClass , kAEPrintDocuments , - sPDocHandler , 0 , FALSE ) ; - AEInstallEventHandler( kCoreEventClass , kAEReopenApplication , - sRAppHandler , 0 , FALSE ) ; - AEInstallEventHandler( kCoreEventClass , kAEQuitApplication , - sQuitHandler , 0 , FALSE ) ; - } - - if ( !wxMacInitCocoa() ) - return false; - - return true; -} - -void wxApp::DoCleanUp() -{ - if (!sm_isEmbedded) - RemoveEventHandler( (EventHandlerRef)(wxTheApp->m_macEventHandler) ); - - if (!sm_isEmbedded) - { - AERemoveEventHandler( kCoreEventClass , kAEOpenDocuments , - sODocHandler , FALSE ) ; - AERemoveEventHandler( kInternetEventClass, kAEGetURL, - sGURLHandler , FALSE ) ; - AERemoveEventHandler( kCoreEventClass , kAEOpenApplication , - sOAppHandler , FALSE ) ; - AERemoveEventHandler( kCoreEventClass , kAEPrintDocuments , - sPDocHandler , FALSE ) ; - AERemoveEventHandler( kCoreEventClass , kAEReopenApplication , - sRAppHandler , FALSE ) ; - AERemoveEventHandler( kCoreEventClass , kAEQuitApplication , - sQuitHandler , FALSE ) ; - - DisposeAEEventHandlerUPP( sODocHandler ) ; - DisposeAEEventHandlerUPP( sGURLHandler ) ; - DisposeAEEventHandlerUPP( sOAppHandler ) ; - DisposeAEEventHandlerUPP( sPDocHandler ) ; - DisposeAEEventHandlerUPP( sRAppHandler ) ; - DisposeAEEventHandlerUPP( sQuitHandler ) ; - } -} - -#endif - void wxApp::CleanUp() { wxMacAutoreleasePool autoreleasepool; @@ -1410,30 +778,6 @@ int wxMacKeyCodeToModifier(wxKeyCode key) // defined in utils.mm -#elif wxOSX_USE_CARBON - -wxMouseState wxGetMouseState() -{ - wxMouseState ms; - - wxPoint pt = wxGetMousePosition(); - ms.SetX(pt.x); - ms.SetY(pt.y); - - UInt32 buttons = GetCurrentButtonState(); - ms.SetLeftDown( (buttons & 0x01) != 0 ); - ms.SetMiddleDown( (buttons & 0x04) != 0 ); - ms.SetRightDown( (buttons & 0x02) != 0 ); - - UInt32 modifiers = GetCurrentKeyModifiers(); - ms.SetRawControlDown(modifiers & controlKey); - ms.SetShiftDown(modifiers & shiftKey); - ms.SetAltDown(modifiers & optionKey); - ms.SetControlDown(modifiers & cmdKey); - - return ms; -} - #endif // TODO : once the new key/char handling is tested, move all the code to wxWindow @@ -1469,79 +813,6 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers bool handled = false ; -#if wxOSX_USE_CARBON - long keyval = event.m_keyCode ; - - { - wxKeyEvent eventCharHook(wxEVT_CHAR_HOOK, event); - handled = focus->HandleWindowEvent( eventCharHook ); - if ( handled && eventCharHook.IsNextEventAllowed() ) - handled = false ; - } - - if ( !handled ) - { - handled = focus->HandleWindowEvent( event ) ; - } - - if ( !handled && (keyval == WXK_TAB) ) - { - wxWindow* iter = focus->GetParent() ; - while ( iter && !handled ) - { - if ( iter->HasFlag( wxTAB_TRAVERSAL ) ) - { - wxNavigationKeyEvent new_event; - new_event.SetEventObject( focus ); - new_event.SetDirection( !event.ShiftDown() ); - /* CTRL-TAB changes the (parent) window, i.e. switch notebook page */ - new_event.SetWindowChange( event.ControlDown() ); - new_event.SetCurrentFocus( focus ); - handled = focus->GetParent()->HandleWindowEvent( new_event ); - if ( handled && new_event.GetSkipped() ) - handled = false ; - } - - iter = iter->GetParent() ; - } - } - - // backdoor handler for default return and command escape - if ( !handled && (!focus->IsKindOf(CLASSINFO(wxControl) ) || !focus->AcceptsFocus() ) ) - { - // if window is not having a focus still testing for default enter or cancel - // TODO: add the UMA version for ActiveNonFloatingWindow -#ifndef __LP64__ - wxWindow* focus = wxNonOwnedWindow::GetFromWXWindow( (WXWindow) FrontWindow() ) ; - if ( focus ) - { - if ( keyval == WXK_RETURN || keyval == WXK_NUMPAD_ENTER ) - { - wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(focus), wxTopLevelWindow); - if ( tlw && tlw->GetDefaultItem() ) - { - wxButton *def = wxDynamicCast(tlw->GetDefaultItem(), wxButton); - if ( def && def->IsEnabled() ) - { - wxCommandEvent event(wxEVT_BUTTON, def->GetId() ); - event.SetEventObject(def); - def->Command(event); - - return true ; - } - } - } - else if (keyval == WXK_ESCAPE || (keyval == '.' && modifiers & cmdKey ) ) - { - // generate wxID_CANCEL if command-. or has been pressed (typically in dialogs) - wxCommandEvent new_event(wxEVT_BUTTON,wxID_CANCEL); - new_event.SetEventObject( focus ); - handled = focus->HandleWindowEvent( new_event ); - } - } -#endif - } -#endif return handled ; } @@ -1643,12 +914,4 @@ void wxApp::MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymess void wxApp::MacHideApp() { -#if wxOSX_USE_CARBON - wxMacCarbonEvent event( kEventClassCommand , kEventCommandProcess ); - HICommand command; - memset( &command, 0 , sizeof(command) ); - command.commandID = kHICommandHide ; - event.SetParameter(kEventParamDirectObject, command ); - SendEventToApplication( event ); -#endif } diff --git a/src/osx/carbon/bmpbuttn.cpp b/src/osx/carbon/bmpbuttn.cpp deleted file mode 100644 index 9f0adc85a9..0000000000 --- a/src/osx/carbon/bmpbuttn.cpp +++ /dev/null @@ -1,150 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/bmpbuttn.cpp -// Purpose: wxBitmapButton -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_BMPBUTTON - -#include "wx/bmpbuttn.h" -#include "wx/image.h" - -#ifndef WX_PRECOMP - #include "wx/dcmemory.h" -#endif - -#include "wx/osx/private.h" - -namespace -{ - -// define a derived class to override SetBitmap() and also to provide -// InitButtonContentInfo() helper used by CreateBitmapButton() -class wxMacBitmapButton : public wxMacControl, public wxButtonImpl -{ -public: - wxMacBitmapButton(wxWindowMac* peer, const wxBitmap& bitmap, int style) - : wxMacControl(peer) - { - // decide what kind of contents the button will have: we want to use an - // icon for buttons with wxBORDER_NONE style as bevel buttons always do - // have a border but icons are limited to a few standard sizes only and - // are resized by the system with extremely ugly results if they don't - // fit (in the past we also tried being smart and pasting a bitmap - // instead of a larger square icon to avoid resizing but this resulted - // in buttons having different size than specified by wx API and - // breaking the layouts and still didn't look good so we don't even try - // to do this any more) - m_isIcon = (style & wxBORDER_NONE) && - bitmap.IsOk() && IsOfStandardSize(bitmap); - } - - virtual void SetBitmap(const wxBitmap& bitmap) - { - // unfortunately we can't avoid the ugly resizing problem mentioned - // above if a bitmap of supported size was used initially but was - // replaced with another one later as the control was already created - // as an icon control (although maybe we ought to recreate it?) - ControlButtonContentInfo info; - InitButtonContentInfo(info, bitmap); - - if ( info.contentType == kControlContentIconRef ) - SetData(kControlIconPart, kControlIconContentTag, info); - else if ( info.contentType != kControlNoContent ) - SetData(kControlButtonPart, kControlBevelButtonContentTag, info); - - wxMacReleaseBitmapButton(&info); - } - - void InitButtonContentInfo(ControlButtonContentInfo& info, - const wxBitmap& bitmap) - { - wxMacCreateBitmapButton(&info, bitmap, - m_isIcon ? kControlContentIconRef : 0); - } - - void SetPressedBitmap( const wxBitmap& WXUNUSED(bitmap) ) - { - // not implemented under Carbon - } - -private: - // helper function: returns true if the given bitmap is of one of standard - // sizes supported by OS X icons - static bool IsOfStandardSize(const wxBitmap& bmp) - { - const int w = bmp.GetWidth(); - - return bmp.GetHeight() == w && - (w == 128 || w == 48 || w == 32 || w == 16); - } - - - // true if this is an icon control, false if it's a bevel button - bool m_isIcon; - - wxDECLARE_NO_COPY_CLASS(wxMacBitmapButton); -}; - -} // anonymous namespace - -wxWidgetImplType* wxWidgetImpl::CreateBitmapButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxBitmap& bitmap, - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - wxMacBitmapButton* peer = new wxMacBitmapButton(wxpeer, bitmap, style); - - OSStatus err; - WXWindow macParent = MAC_WXHWND(parent->MacGetTopLevelWindowRef()); - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - - ControlButtonContentInfo info; - peer->InitButtonContentInfo(info, bitmap); - - if ( info.contentType == kControlContentIconRef ) - { - err = CreateIconControl - ( - macParent, - &bounds, - &info, - false, - peer->GetControlRefAddr() - ); - } - else // normal bevel button - { - err = CreateBevelButtonControl - ( - macParent, - &bounds, - CFSTR(""), - style & wxBU_AUTODRAW ? kControlBevelButtonSmallBevel - : kControlBevelButtonNormalBevel, - kControlBehaviorOffsetContents, - &info, - 0, // menu id (no associated menu) - 0, // menu behaviour (unused) - 0, // menu placement (unused too) - peer->GetControlRefAddr() - ); - } - - verify_noerr( err ); - - wxMacReleaseBitmapButton( &info ); - return peer; -} - -#endif // wxUSE_BMPBUTTON diff --git a/src/osx/carbon/button.cpp b/src/osx/carbon/button.cpp deleted file mode 100644 index 6c6844de45..0000000000 --- a/src/osx/carbon/button.cpp +++ /dev/null @@ -1,120 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/button.cpp -// Purpose: wxButton -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/button.h" - -#ifndef WX_PRECOMP - #include "wx/panel.h" - #include "wx/toplevel.h" - #include "wx/dcclient.h" -#endif - -#include "wx/stockitem.h" - -#include "wx/osx/private.h" - -// -// -// - -wxWidgetImplType* wxWidgetImpl::CreateButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID id, - const wxString& label, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - OSStatus err; - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - if ( id == wxID_HELP ) - { - ControlButtonContentInfo info ; - info.contentType = kControlContentIconRef ; - GetIconRef(kOnSystemDisk, kSystemIconsCreator, kHelpIcon, &info.u.iconRef); - err = CreateRoundButtonControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), - &bounds, kControlRoundButtonNormalSize, - &info, peer->GetControlRefAddr() ); - } - else if ( label.Find('\n' ) == wxNOT_FOUND && label.Find('\r' ) == wxNOT_FOUND) - { - // Button height is static in Mac, can't be changed, so we need to force it here - int maxHeight; - switch (wxpeer->GetWindowVariant() ) - { - default: - wxFAIL_MSG( "unknown window variant" ); - // fall through - - case wxWINDOW_VARIANT_NORMAL: - case wxWINDOW_VARIANT_LARGE: - maxHeight = 20 ; - break; - case wxWINDOW_VARIANT_SMALL: - maxHeight = 17; - break; - case wxWINDOW_VARIANT_MINI: - maxHeight = 15; - } - bounds.bottom = bounds.top + maxHeight ; - wxpeer->SetMaxSize( wxSize( wxpeer->GetMaxWidth() , maxHeight )); - err = CreatePushButtonControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), - &bounds, CFSTR(""), peer->GetControlRefAddr() ); - } - else - { - ControlButtonContentInfo info ; - info.contentType = kControlNoContent ; - err = CreateBevelButtonControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds, CFSTR(""), - kControlBevelButtonLargeBevel, kControlBehaviorPushbutton, - &info, 0, 0, 0, peer->GetControlRefAddr() ); - } - verify_noerr( err ); - return peer; -} - -void wxMacControl::SetDefaultButton( bool isDefault ) -{ - SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) isDefault ) ; -} - -wxWidgetImplType* wxWidgetImpl::CreateDisclosureTriangle( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& label, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - - OSStatus err = CreateDisclosureTriangleControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds, - kControlDisclosureTrianglePointDefault, - wxCFStringRef( label ), - 0, // closed - TRUE, // draw title - TRUE, // auto toggle back and forth - peer->GetControlRefAddr() ); - - verify_noerr( err ); - return peer; -} - - diff --git a/src/osx/carbon/checkbox.cpp b/src/osx/carbon/checkbox.cpp deleted file mode 100644 index 44e9dcd033..0000000000 --- a/src/osx/carbon/checkbox.cpp +++ /dev/null @@ -1,41 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/checkbox.cpp -// Purpose: wxCheckBox -// Author: Stefan Csomor -// Modified by: -// Created: 04/01/98 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_CHECKBOX - -#include "wx/checkbox.h" -#include "wx/osx/uma.h" - -wxWidgetImplType* wxWidgetImpl::CreateCheckBox( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - - verify_noerr( CreateCheckBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds , - CFSTR("") , 0 , false , peer->GetControlRefAddr() ) ); - SInt32 maxValue = 1 /* kControlCheckboxCheckedValue */; - if (style & wxCHK_3STATE) - maxValue = 2 /* kControlCheckboxMixedValue */; - - peer->SetMaximum( maxValue ) ; - - return peer; -} - -#endif diff --git a/src/osx/carbon/choice.cpp b/src/osx/carbon/choice.cpp deleted file mode 100644 index dc7d1b91fd..0000000000 --- a/src/osx/carbon/choice.cpp +++ /dev/null @@ -1,65 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/choice.cpp -// Purpose: wxChoice -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_CHOICE - -#include "wx/choice.h" - -#ifndef WX_PRECOMP - #include "wx/menu.h" - #include "wx/dcclient.h" -#endif - -#include "wx/osx/private.h" - -// adapt the number offset (mac menu are 1 based) - -class wxMacChoiceCarbonControl : public wxMacControl -{ -public : - wxMacChoiceCarbonControl( wxWindowMac* peer ) : wxMacControl( peer ) - { - } - - void SetValue(wxInt32 v) - { - wxMacControl::SetValue( v + 1 ); - } - - wxInt32 GetValue() const - { - return wxMacControl::GetValue() - 1; - } - }; - -wxWidgetImplType* wxWidgetImpl::CreateChoice( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - wxMenu* menu, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ); - - wxMacControl* peer = new wxMacChoiceCarbonControl( wxpeer ) ; - OSStatus err = CreatePopupButtonControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , - -12345 , false /* no variable width */ , 0 , 0 , 0 , peer->GetControlRefAddr() ); - verify_noerr( err ); - - peer->SetData( kControlNoPart , kControlPopupButtonMenuHandleTag , (MenuHandle) menu->GetHMenu() ) ; - return peer; -} - -#endif // wxUSE_CHOICE diff --git a/src/osx/carbon/control.cpp b/src/osx/carbon/control.cpp index 217865ec60..9886b996fe 100644 --- a/src/osx/carbon/control.cpp +++ b/src/osx/carbon/control.cpp @@ -75,16 +75,5 @@ void wxControl::OnKeyDown( wxKeyEvent &WXUNUSED(event) ) if ( GetPeer() == NULL || !GetPeer()->IsOk() ) return; -#if wxOSX_USE_CARBON - UInt32 keyCode, modifiers; - char charCode; - - GetEventParameter( (EventRef)wxTheApp->MacGetCurrentEvent(), kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode ); - GetEventParameter( (EventRef)wxTheApp->MacGetCurrentEvent(), kEventParamKeyMacCharCodes, typeChar, NULL, 1, NULL, &charCode ); - GetEventParameter( (EventRef)wxTheApp->MacGetCurrentEvent(), kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers ); - - GetPeer()->HandleKey( keyCode, charCode, modifiers ); -#else // TODO -#endif } diff --git a/src/osx/carbon/cursor.cpp b/src/osx/carbon/cursor.cpp index fa5e59ed33..9f6e7f69bf 100644 --- a/src/osx/carbon/cursor.cpp +++ b/src/osx/carbon/cursor.cpp @@ -38,10 +38,6 @@ public: #if wxOSX_USE_COCOA_OR_CARBON if ( m_hCursor != NULL ) return true; -#if wxOSX_USE_CARBON - if ( m_themeCursor != -1 ) - return true; -#endif return false; #else @@ -53,12 +49,6 @@ public: protected: #if wxOSX_USE_COCOA WX_NSCursor m_hCursor; -#elif wxOSX_USE_CARBON - WXHCURSOR m_hCursor; - bool m_disposeHandle; - bool m_releaseHandle; - bool m_isColorCursor; - long m_themeCursor; #elif wxOSX_USE_IPHONE void* m_hCursor; #endif @@ -209,33 +199,9 @@ ClassicCursor gMacCursors[kwxCursorLast+1] = wxCursor gMacCurrentCursor ; -#if wxOSX_USE_CARBON -CursHandle wxGetStockCursor( int number ) -{ - wxASSERT_MSG( number >= 0 && number <=kwxCursorLast , wxT("invalid stock cursor id") ) ; - CursHandle c = (CursHandle) NewHandle( sizeof(Cursor) ) ; - memcpy( *c, &gMacCursors[number], sizeof(Cursor) ) ; - -#ifndef WORDS_BIGENDIAN - short *sptr = (short*) *c ; - for ( int i = 0 ; i < 2 * 16 /* image and mask */ ; ++i, ++sptr ) - { - *sptr = CFSwapInt16( *sptr ) ; - } -#endif - return c ; -} -#endif - wxCursorRefData::wxCursorRefData() { m_hCursor = NULL; -#if wxOSX_USE_CARBON - m_disposeHandle = false; - m_releaseHandle = false; - m_isColorCursor = false; - m_themeCursor = -1; -#endif } wxCursorRefData::wxCursorRefData(const wxCursorRefData& cursor) : wxGDIRefData() @@ -244,12 +210,6 @@ wxCursorRefData::wxCursorRefData(const wxCursorRefData& cursor) : wxGDIRefData() #if wxOSX_USE_COCOA m_hCursor = (WX_NSCursor) wxMacCocoaRetain(cursor.m_hCursor); -#elif wxOSX_USE_CARBON - // FIXME: need to copy the cursor - m_disposeHandle = false; - m_releaseHandle = false; - m_isColorCursor = cursor.m_isColorCursor; - m_themeCursor = cursor.m_themeCursor; #endif } @@ -258,22 +218,6 @@ wxCursorRefData::~wxCursorRefData() #if wxOSX_USE_COCOA if ( m_hCursor ) wxMacCocoaRelease(m_hCursor); -#elif wxOSX_USE_CARBON - if ( m_isColorCursor ) - { -#ifndef __LP64__ - ::DisposeCCursor( (CCrsrHandle) m_hCursor ) ; -#endif - } - else if ( m_disposeHandle ) - { - ::DisposeHandle( (Handle ) m_hCursor ) ; - } - else if ( m_releaseHandle ) - { - // we don't release the resource since it may already - // be in use again - } #endif } @@ -303,29 +247,6 @@ WXHCURSOR wxCursor::GetHCURSOR() const return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0); } -#if wxOSX_USE_CARBON -short GetCTabIndex( CTabHandle colors , RGBColor *col ) -{ - short retval = 0 ; - unsigned long bestdiff = 0xFFFF ; - - for ( int i = 0 ; i < (**colors).ctSize ; ++i ) - { - unsigned long diff = abs(col->red - (**colors).ctTable[i].rgb.red ) + - abs(col->green - (**colors).ctTable[i].rgb.green ) + - abs(col->blue - (**colors).ctTable[i].rgb.blue ) ; - - if ( diff < bestdiff ) - { - bestdiff = diff ; - retval = (**colors).ctTable[i].value ; - } - } - - return retval ; -} -#endif - #if wxUSE_IMAGE void wxCursor::CreateFromImage(const wxImage & image) @@ -341,137 +262,6 @@ void wxCursor::CreateFromImage(const wxImage & image) M_CURSORDATA->m_hCursor = wxMacCocoaCreateCursorFromCGImage( cgimage, hotSpotX, hotSpotY ); CFRelease( cgimage ); } -#elif wxOSX_USE_CARBON -#ifndef __LP64__ - int w = 16; - int h = 16; - - int image_w = image.GetWidth(); - int image_h = image.GetHeight(); - - wxASSERT_MSG( hotSpotX >= 0 && hotSpotX < image_w && - hotSpotY >= 0 && hotSpotY < image_h, - wxT("invalid cursor hot spot coordinates") ); - - wxImage image16(image); // final image of correct size - - // if image is too small then place it in the center, resize it if too big - if ((w > image_w) && (h > image_h)) - { - wxPoint offset((w - image_w) / 2, (h - image_h) / 2); - hotSpotX = hotSpotX + offset.x; - hotSpotY = hotSpotY + offset.y; - - image16 = image.Size(wxSize(w, h), offset); - } - else if ((w != image_w) || (h != image_h)) - { - hotSpotX = int(hotSpotX * double(w) / double(image_w)); - hotSpotY = int(hotSpotY * double(h) / double(image_h)); - - image16 = image.Scale(w, h); - } - - unsigned char * rgbBits = image16.GetData(); - bool bHasMask = image16.HasMask() ; - - PixMapHandle pm = (PixMapHandle) NewHandleClear( sizeof(PixMap) ) ; - short extent = 16 ; - short bytesPerPixel = 1 ; - short depth = 8 ; - Rect bounds = { 0 , 0 , extent , extent } ; - CCrsrHandle ch = (CCrsrHandle) NewHandleClear( sizeof(CCrsr) ) ; - CTabHandle newColors = GetCTable( 8 ) ; - HandToHand( (Handle *) &newColors ); - - // set the values to the indices - for ( int i = 0 ; i < (**newColors).ctSize ; ++i ) - { - (**newColors).ctTable[i].value = i ; - } - - HLock( (Handle)ch ); - (**ch).crsrType = 0x8001; // color cursors - (**ch).crsrMap = pm; - short bytesPerRow = bytesPerPixel * extent; - - (**pm).baseAddr = 0; - (**pm).rowBytes = bytesPerRow | 0x8000; - (**pm).bounds = bounds; - (**pm).pmVersion = 0; - (**pm).packType = 0; - (**pm).packSize = 0; - (**pm).hRes = 0x00480000; // 72 DPI default res - (**pm).vRes = 0x00480000; // 72 DPI default res - (**pm).pixelSize = depth; - (**pm).pixelType = 0; - (**pm).cmpCount = 1; - (**pm).cmpSize = depth; - (**pm).pmTable = newColors; - - (**ch).crsrData = NewHandleClear( extent * bytesPerRow ) ; - (**ch).crsrXData = NULL ; - (**ch).crsrXValid = 0; - (**ch).crsrXHandle = NULL; - - (**ch).crsrHotSpot.h = hotSpotX ; - (**ch).crsrHotSpot.v = hotSpotY ; - (**ch).crsrXTable = 0 ; - (**ch).crsrID = GetCTSeed() ; - - memset( (**ch).crsr1Data , 0 , sizeof( Bits16 ) ) ; - memset( (**ch).crsrMask , 0 , sizeof( Bits16 ) ) ; - - unsigned char mr = image16.GetMaskRed() ; - unsigned char mg = image16.GetMaskGreen() ; - unsigned char mb = image16.GetMaskBlue() ; - - for ( int y = 0 ; y < h ; ++y ) - { - short rowbits = 0, maskbits = 0 ; - - for ( int x = 0 ; x < w ; ++x ) - { - long pos = (y * w + x) * 3; - - unsigned char r = rgbBits[pos] ; - unsigned char g = rgbBits[pos + 1] ; - unsigned char b = rgbBits[pos + 2] ; - RGBColor col = { 0xFFFF, 0xFFFF, 0xFFFF } ; - - if ( bHasMask && r == mr && g == mg && b == mb ) - { - // masked area, does not appear anywhere - } - else - { - if ( (int)r + (int)g + (int)b < 0x0200 ) - rowbits |= ( 1 << (15 - x) ) ; - - maskbits |= ( 1 << (15 - x) ) ; - - wxColor( r , g , b ).GetRGBColor( &col ); - } - - *((*(**ch).crsrData) + y * bytesPerRow + x) = - GetCTabIndex( newColors , &col) ; - } -#ifdef WORDS_BIGENDIAN - (**ch).crsr1Data[y] = rowbits ; - (**ch).crsrMask[y] = maskbits ; -#else - (**ch).crsr1Data[y] = CFSwapInt16(rowbits) ; - (**ch).crsrMask[y] = CFSwapInt16(maskbits) ; -#endif - } - - if ( !bHasMask ) - memcpy( (**ch).crsrMask , (**ch).crsr1Data , sizeof( Bits16) ) ; - - HUnlock( (Handle)ch ) ; - M_CURSORDATA->m_hCursor = ch ; - M_CURSORDATA->m_isColorCursor = true ; -#endif #endif } @@ -484,41 +274,6 @@ wxCursor::wxCursor(const wxString& cursor_file, wxBitmapType flags, int hotSpotX { #if wxOSX_USE_COCOA wxFAIL_MSG( wxT("Not implemented") ); -#elif wxOSX_USE_CARBON -#ifndef __LP64__ - Str255 theName ; - wxMacStringToPascal( cursor_file , theName ) ; - - Handle resHandle = ::GetNamedResource( 'crsr' , theName ) ; - if ( resHandle ) - { - short theId = -1 ; - OSType theType ; - - GetResInfo( resHandle , &theId , &theType , theName ) ; - ReleaseResource( resHandle ) ; - - M_CURSORDATA->m_hCursor = GetCCursor( theId ) ; - if ( M_CURSORDATA->m_hCursor ) - M_CURSORDATA->m_isColorCursor = true ; - } - else - { - Handle resHandle = ::GetNamedResource( 'CURS' , theName ) ; - if ( resHandle ) - { - short theId = -1 ; - OSType theType ; - - GetResInfo( resHandle , &theId , &theType , theName ) ; - ReleaseResource( resHandle ) ; - - M_CURSORDATA->m_hCursor = GetCursor( theId ) ; - if ( M_CURSORDATA->m_hCursor ) - M_CURSORDATA->m_releaseHandle = true ; - } - } -#endif #endif } else @@ -544,117 +299,6 @@ void wxCursor::InitFromStock(wxStockCursor cursor_type) m_refData = new wxCursorRefData; #if wxOSX_USE_COCOA M_CURSORDATA->m_hCursor = wxMacCocoaCreateStockCursor( cursor_type ); -#elif wxOSX_USE_CARBON - switch (cursor_type) - { - case wxCURSOR_COPY_ARROW: - M_CURSORDATA->m_themeCursor = kThemeCopyArrowCursor; - break; - - case wxCURSOR_WAIT: - M_CURSORDATA->m_themeCursor = kThemeWatchCursor; - break; - - case wxCURSOR_IBEAM: - M_CURSORDATA->m_themeCursor = kThemeIBeamCursor; - break; - - case wxCURSOR_CROSS: - M_CURSORDATA->m_themeCursor = kThemeCrossCursor; - break; - - case wxCURSOR_SIZENWSE: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorSizeNWSE); - break; - - case wxCURSOR_SIZENESW: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorSizeNESW); - break; - - case wxCURSOR_SIZEWE: - M_CURSORDATA->m_themeCursor = kThemeResizeLeftRightCursor; - break; - - case wxCURSOR_SIZENS: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorSizeNS); - break; - - case wxCURSOR_SIZING: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorSize); - break; - - case wxCURSOR_HAND: - M_CURSORDATA->m_themeCursor = kThemePointingHandCursor; - break; - - case wxCURSOR_BULLSEYE: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorBullseye); - break; - - case wxCURSOR_PENCIL: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorPencil); - break; - - case wxCURSOR_MAGNIFIER: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorMagnifier); - break; - - case wxCURSOR_NO_ENTRY: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorNoEntry); - break; - - case wxCURSOR_WATCH: - M_CURSORDATA->m_themeCursor = kThemeWatchCursor; - break; - - case wxCURSOR_PAINT_BRUSH: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorPaintBrush); - break; - - case wxCURSOR_POINT_LEFT: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorPointLeft); - break; - - case wxCURSOR_POINT_RIGHT: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorPointRight); - break; - - case wxCURSOR_QUESTION_ARROW: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorQuestionArrow); - break; - - case wxCURSOR_BLANK: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorBlank); - break; - - case wxCURSOR_RIGHT_ARROW: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorRightArrow); - break; - - case wxCURSOR_SPRAYCAN: - M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorRoller); - break; - - case wxCURSOR_OPEN_HAND: - M_CURSORDATA->m_themeCursor = kThemeOpenHandCursor; - break; - - case wxCURSOR_CLOSED_HAND: - M_CURSORDATA->m_themeCursor = kThemeClosedHandCursor; - break; - - case wxCURSOR_CHAR: - case wxCURSOR_ARROW: - case wxCURSOR_LEFT_BUTTON: - case wxCURSOR_RIGHT_BUTTON: - case wxCURSOR_MIDDLE_BUTTON: - default: - M_CURSORDATA->m_themeCursor = kThemeArrowCursor; - break; - } - - if ( M_CURSORDATA->m_themeCursor == -1 ) - M_CURSORDATA->m_releaseHandle = true; #endif } @@ -664,24 +308,6 @@ void wxCursor::MacInstall() const #if wxOSX_USE_COCOA if ( IsOk() ) wxMacCocoaSetCursor( M_CURSORDATA->m_hCursor ); -#elif wxOSX_USE_CARBON - if ( m_refData && M_CURSORDATA->m_themeCursor != -1 ) - { - SetThemeCursor( M_CURSORDATA->m_themeCursor ) ; - } - else if ( m_refData && M_CURSORDATA->m_hCursor ) - { -#ifndef __LP64__ - if ( M_CURSORDATA->m_isColorCursor ) - ::SetCCursor( (CCrsrHandle) M_CURSORDATA->m_hCursor ) ; - else - ::SetCursor( * (CursHandle) M_CURSORDATA->m_hCursor ) ; -#endif - } - else - { - SetThemeCursor( kThemeArrowCursor ) ; - } #endif } diff --git a/src/osx/carbon/dataview.cpp b/src/osx/carbon/dataview.cpp deleted file mode 100644 index 77b30b0dff..0000000000 --- a/src/osx/carbon/dataview.cpp +++ /dev/null @@ -1,2820 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/dataview.cpp -// Purpose: wxDataViewCtrl native carbon implementation -// Author: -// Copyright: (c) 2009 -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#if (wxUSE_DATAVIEWCTRL == 1) && !defined(wxUSE_GENERICDATAVIEWCTRL) - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/toplevel.h" - #include "wx/font.h" - #include "wx/settings.h" - #include "wx/utils.h" -#endif - -#include "wx/osx/carbon/dataview.h" -#include "wx/osx/private.h" -#include "wx/osx/uma.h" -#include "wx/renderer.h" - -#include - -// ============================================================================ -// Variables used locally in dataview.cpp -// ============================================================================ -static DataBrowserGetContextualMenuUPP gDataBrowserTableViewGetContextualMenuUPP = NULL; -static DataBrowserItemCompareUPP gDataBrowserTableViewItemCompareUPP = NULL; -static DataBrowserItemDataUPP gDataBrowserTableViewItemDataUPP = NULL; -static DataBrowserItemNotificationUPP gDataBrowserTableViewItemNotificationUPP = NULL; - -static DataBrowserAcceptDragUPP gDataBrowserTableViewAcceptDragUPP = NULL; -static DataBrowserAddDragItemUPP gDataBrowserTableViewAddDragItemUPP = NULL; -static DataBrowserReceiveDragUPP gDataBrowserTableViewReceiveDragUPP = NULL; - -static DataBrowserDrawItemUPP gDataBrowserTableViewDrawItemUPP = NULL; -static DataBrowserEditItemUPP gDataBrowserTableViewEditItemUPP = NULL; -static DataBrowserHitTestUPP gDataBrowserTableViewHitTestUPP = NULL; -static DataBrowserTrackingUPP gDataBrowserTableViewTrackingUPP = NULL; - -// ============================================================================ -// Functions used locally in dataview.cpp -// ============================================================================ -static DataBrowserItemID* CreateDataBrowserItemIDArray(size_t& noOfEntries, wxDataViewItemArray const& items) // returns a newly allocated pointer to valid data browser item IDs -{ - size_t const noOfItems = items.GetCount(); - - DataBrowserItemID* itemIDs(new DataBrowserItemID[noOfItems]); - - - // convert all valid data view items to data browser items - noOfEntries = 0; - for (size_t i=0; i(items[i].GetID()); - ++noOfEntries; - } - // done: - return itemIDs; -} - -static const EventTypeSpec eventList[] = -{ - { kEventClassControl, kEventControlHit }, - { kEventClassControl, kEventControlDraw } -}; - -static pascal OSStatus DataBrowserCtrlEventHandler(EventHandlerCallRef handler, EventRef EventReference, void* Data) -{ - wxDataViewCtrl* DataViewCtrlPtr((wxDataViewCtrl*) Data); // the 'Data' variable always contains a pointer to the data view control that installed the handler - - wxMacCarbonEvent CarbonEvent(EventReference) ; - - - switch (GetEventKind(EventReference)) - { - case kEventControlDraw: - { - OSStatus status; - - DataViewCtrlPtr->MacSetDrawingContext(CarbonEvent.GetParameter(kEventParamCGContextRef,typeCGContextRef)); - status = ::CallNextEventHandler(handler,EventReference); - DataViewCtrlPtr->MacSetDrawingContext(NULL); - return status; - } - case kEventControlHit : - if (CarbonEvent.GetParameter(kEventParamControlPart,typeControlPartCode) == kControlButtonPart) // we only care about the header - { - ControlRef controlReference; - DataBrowserPropertyID columnPropertyID; - DataBrowserSortOrder order; - unsigned long columnIndex; - wxDataViewColumn* column; - OSStatus status; - wxDataViewEvent DataViewEvent(wxEVT_DATAVIEW_COLUMN_HEADER_CLICK,DataViewCtrlPtr->GetId()); - - CarbonEvent.GetParameter(kEventParamDirectObject,&controlReference); - // determine the column that triggered the event (this is the column that is responsible for sorting the data view): - status = ::GetDataBrowserSortProperty(controlReference,&columnPropertyID); - wxCHECK(status == noErr,status); - status = ::GetDataBrowserTableViewColumnPosition(controlReference,columnPropertyID,&columnIndex); - if (status == errDataBrowserPropertyNotFound) // user clicked into part of the header that does not have a property - return ::CallNextEventHandler(handler,EventReference); - wxCHECK(status == noErr,status); - column = DataViewCtrlPtr->GetColumn(columnIndex); - // set the column sort order: - status = ::GetDataBrowserSortOrder(controlReference,&order); - wxCHECK(status == noErr,status); - column->SetSortOrderVariable(order == kDataBrowserOrderIncreasing); - // initialize wxWidget event handler: - DataViewEvent.SetEventObject(DataViewCtrlPtr); - DataViewEvent.SetColumn(columnIndex); - DataViewEvent.SetDataViewColumn(column); - // finally sent the equivalent wxWidget event: - DataViewCtrlPtr->HandleWindowEvent(DataViewEvent); - return ::CallNextEventHandler(handler,EventReference); - } - else - return eventNotHandledErr; - } - return eventNotHandledErr; -} - -static bool InitializeColumnDescription(DataBrowserListViewColumnDesc& columnDescription, wxDataViewColumn const* columnPtr, wxCFStringRef const& title) -{ - // set properties for the column: - columnDescription.propertyDesc.propertyID = columnPtr->GetNativeData()->GetPropertyID(); - columnDescription.propertyDesc.propertyType = columnPtr->GetRenderer()->GetNativeData()->GetPropertyType(); - columnDescription.propertyDesc.propertyFlags = kDataBrowserListViewSelectionColumn; // make the column selectable - if (columnPtr->IsReorderable()) - columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewMovableColumn; - if (columnPtr->IsResizeable()) - { - columnDescription.headerBtnDesc.minimumWidth = 0; - columnDescription.headerBtnDesc.maximumWidth = 30000; // 32767 is the theoretical maximum though but 30000 looks nicer - } - else - { - columnDescription.headerBtnDesc.minimumWidth = columnPtr->GetWidth(); - columnDescription.headerBtnDesc.maximumWidth = columnPtr->GetWidth(); - } - if (columnPtr->IsSortable()) - columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewSortableColumn; - if ((columnPtr->GetRenderer()->GetMode() == wxDATAVIEW_CELL_EDITABLE) || - (columnPtr->GetRenderer()->GetMode() == wxDATAVIEW_CELL_ACTIVATABLE)) - columnDescription.propertyDesc.propertyFlags |= kDataBrowserPropertyIsEditable; - if ((columnDescription.propertyDesc.propertyType == kDataBrowserCustomType) || - (columnDescription.propertyDesc.propertyType == kDataBrowserDateTimeType) || - (columnDescription.propertyDesc.propertyType == kDataBrowserIconAndTextType) || - (columnDescription.propertyDesc.propertyType == kDataBrowserTextType)) - columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewTypeSelectColumn; // enables generally the possibility to have user input for the mentioned types - columnDescription.propertyDesc.propertyFlags |= kDataBrowserListViewNoGapForIconInHeaderButton; - // set header's properties: - columnDescription.headerBtnDesc.version = kDataBrowserListViewLatestHeaderDesc; - columnDescription.headerBtnDesc.titleOffset = 0; - columnDescription.headerBtnDesc.titleString = ::CFStringCreateCopy(kCFAllocatorDefault,title); - columnDescription.headerBtnDesc.initialOrder = kDataBrowserOrderIncreasing; // choose one of the orders as "undefined" is not supported anyway (s. ControlDefs.h in the HIToolbox framework) - columnDescription.headerBtnDesc.btnFontStyle.flags = kControlUseFontMask | kControlUseJustMask; - switch (columnPtr->GetAlignment()) - { - case wxALIGN_CENTER: - case wxALIGN_CENTER_HORIZONTAL: - columnDescription.headerBtnDesc.btnFontStyle.just = teCenter; - break; - case wxALIGN_LEFT: - columnDescription.headerBtnDesc.btnFontStyle.just = teFlushLeft; - break; - case wxALIGN_RIGHT: - columnDescription.headerBtnDesc.btnFontStyle.just = teFlushRight; - break; - default: - columnDescription.headerBtnDesc.btnFontStyle.just = teFlushDefault; - } - columnDescription.headerBtnDesc.btnFontStyle.font = kControlFontViewSystemFont; - columnDescription.headerBtnDesc.btnFontStyle.style = normal; - if (columnPtr->GetBitmap().IsOk()) - { - columnDescription.headerBtnDesc.btnContentInfo.contentType = kControlContentIconRef; - columnDescription.headerBtnDesc.btnContentInfo.u.iconRef = columnPtr->GetBitmap().GetIconRef(); - } - else - { - // not text only as we otherwise could not add a bitmap later - // columnDescription.headerBtnDesc.btnContentInfo.contentType = kControlContentTextOnly; - columnDescription.headerBtnDesc.btnContentInfo.contentType = kControlContentIconRef; - columnDescription.headerBtnDesc.btnContentInfo.u.iconRef = NULL; - } - - // done: - return true; -} - -// ============================================================================ -// Type definitions of locally used function pointers -// ============================================================================ -DEFINE_ONE_SHOT_HANDLER_GETTER(DataBrowserCtrlEventHandler) - -// ============================================================================ -// Helper functions for dataview implementation on OSX -// ============================================================================ -wxWidgetImplType* CreateDataView(wxWindowMac* wxpeer, wxWindowMac* WXUNUSED(parent), wxWindowID WXUNUSED(id), wxPoint const& pos, wxSize const& size, - long style, long WXUNUSED(extraStyle)) -{ - return new wxMacDataViewDataBrowserListViewControl(wxpeer,pos,size,style); -} - -// ============================================================================ -// wxMacDataBrowserTableViewControl -// ============================================================================ -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserCompareProc(ControlRef browser, DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - return ControlPtr->DataBrowserCompareProc(itemOneID,itemTwoID,sortProperty); - else - return FALSE; -} - -pascal void wxMacDataBrowserTableViewControl::DataBrowserGetContextualMenuProc(ControlRef browser, MenuRef* menu, UInt32* helpType, CFStringRef* helpItemString, AEDesc* selection) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - ControlPtr->DataBrowserGetContextualMenuProc(menu,helpType,helpItemString,selection); -} - -pascal OSStatus wxMacDataBrowserTableViewControl::DataBrowserGetSetItemDataProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemDataRef itemData, Boolean getValue) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - return ControlPtr->DataBrowserGetSetItemDataProc(itemID,propertyID,itemData,getValue); - else - return errDataBrowserPropertyNotSupported; -} - -pascal void wxMacDataBrowserTableViewControl::DataBrowserItemNotificationProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - ControlPtr->DataBrowserItemNotificationProc(itemID,message,itemData); -} - -pascal void wxMacDataBrowserTableViewControl::DataBrowserDrawItemProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemState state, Rect const* rectangle, SInt16 bitDepth, Boolean colorDevice) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - ControlPtr->DataBrowserDrawItemProc(itemID,propertyID,state,rectangle,bitDepth,colorDevice); -} - -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserEditItemProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, CFStringRef theString, Rect* maxEditTextRect, Boolean* shrinkToFit) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - return ((ControlPtr != NULL) && ControlPtr->DataBrowserEditItemProc(itemID,propertyID,theString,maxEditTextRect,shrinkToFit)); -} - -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserHitTestProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Rect const* mouseRect) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - return ((ControlPtr != NULL) && ControlPtr->DataBrowserHitTestProc(itemID,propertyID,theRect,mouseRect)); -} - -pascal DataBrowserTrackingResult wxMacDataBrowserTableViewControl::DataBrowserTrackingProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Point startPt, EventModifiers modifiers) -{ - wxMacDataBrowserTableViewControl* ControlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - if (ControlPtr != NULL) - return ControlPtr->DataBrowserTrackingProc(itemID,propertyID,theRect,startPt,modifiers); - else - return kDataBrowserNothingHit; -} - -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserAcceptDragProc(ControlRef browser, DragReference dragRef, DataBrowserItemID itemID) -{ - wxMacDataBrowserTableViewControl* controlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - return ((controlPtr != NULL) && controlPtr->DataBrowserAcceptDragProc(dragRef,itemID)); -} - -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserAddDragItemProc(ControlRef browser, DragReference dragRef, DataBrowserItemID itemID, ItemReference* itemRef) -{ - wxMacDataBrowserTableViewControl* controlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - return ((controlPtr != NULL) && controlPtr->DataBrowserAddDragItemProc(dragRef,itemID,itemRef)); -} - -pascal Boolean wxMacDataBrowserTableViewControl::DataBrowserReceiveDragProc(ControlRef browser, DragReference dragRef, DataBrowserItemID itemID) -{ - wxMacDataBrowserTableViewControl* controlPtr(dynamic_cast(wxMacControl::GetReferenceFromNativeControl(browser))); - - - return ((controlPtr != NULL) && controlPtr->DataBrowserReceiveDragProc(dragRef,itemID)); -} - -wxMacDataBrowserTableViewControl::wxMacDataBrowserTableViewControl(wxWindow* peer, wxPoint const& pos, wxSize const& size, long style) - :wxMacControl(peer) -{ - Rect bounds = wxMacGetBoundsForControl(peer,pos,size); - OSStatus err = ::CreateDataBrowserControl(MAC_WXHWND(peer->MacGetTopLevelWindowRef()),&bounds,kDataBrowserListView,&(m_controlRef)); - - - SetReferenceInNativeControl(); - verify_noerr(err); - - ::InstallControlEventHandler(m_controlRef, GetDataBrowserCtrlEventHandlerUPP(), GetEventTypeCount(eventList), eventList, peer, (EventHandlerRef *)&m_macDataViewCtrlEventHandler); - - // setup standard callbacks: - if (gDataBrowserTableViewGetContextualMenuUPP == NULL) gDataBrowserTableViewGetContextualMenuUPP = NewDataBrowserGetContextualMenuUPP(wxMacDataBrowserTableViewControl::DataBrowserGetContextualMenuProc); - if (gDataBrowserTableViewItemCompareUPP == NULL) gDataBrowserTableViewItemCompareUPP = NewDataBrowserItemCompareUPP (wxMacDataBrowserTableViewControl::DataBrowserCompareProc); - if (gDataBrowserTableViewItemDataUPP == NULL) gDataBrowserTableViewItemDataUPP = NewDataBrowserItemDataUPP (wxMacDataBrowserTableViewControl::DataBrowserGetSetItemDataProc); - if (gDataBrowserTableViewItemNotificationUPP == NULL) - { - gDataBrowserTableViewItemNotificationUPP = -#if TARGET_API_MAC_OSX - (DataBrowserItemNotificationUPP) NewDataBrowserItemNotificationWithItemUPP(wxMacDataBrowserTableViewControl::DataBrowserItemNotificationProc); -#else - NewDataBrowserItemNotificationUPP(wxMacDataBrowserTableViewControl::DataBrowserItemNotificationProc); -#endif - } - // setup drag and drop callbacks: - if (gDataBrowserTableViewAcceptDragUPP == NULL) gDataBrowserTableViewAcceptDragUPP = NewDataBrowserAcceptDragUPP (wxMacDataBrowserTableViewControl::DataBrowserAcceptDragProc); - if (gDataBrowserTableViewAddDragItemUPP == NULL) gDataBrowserTableViewAddDragItemUPP = NewDataBrowserAddDragItemUPP(wxMacDataBrowserTableViewControl::DataBrowserAddDragItemProc); - if (gDataBrowserTableViewReceiveDragUPP == NULL) gDataBrowserTableViewReceiveDragUPP = NewDataBrowserReceiveDragUPP(wxMacDataBrowserTableViewControl::DataBrowserReceiveDragProc); - - DataBrowserCallbacks callbacks; // variable definition - - InitializeDataBrowserCallbacks(&callbacks,kDataBrowserLatestCallbacks); - callbacks.u.v1.getContextualMenuCallback = gDataBrowserTableViewGetContextualMenuUPP; - callbacks.u.v1.itemDataCallback = gDataBrowserTableViewItemDataUPP; - callbacks.u.v1.itemCompareCallback = gDataBrowserTableViewItemCompareUPP; - callbacks.u.v1.itemNotificationCallback = gDataBrowserTableViewItemNotificationUPP; - callbacks.u.v1.acceptDragCallback = gDataBrowserTableViewAcceptDragUPP; - callbacks.u.v1.addDragItemCallback = gDataBrowserTableViewAddDragItemUPP; - callbacks.u.v1.receiveDragCallback = gDataBrowserTableViewReceiveDragUPP; - SetCallbacks(&callbacks); - - // setup callbacks for customized items: - if (gDataBrowserTableViewDrawItemUPP == NULL) gDataBrowserTableViewDrawItemUPP = NewDataBrowserDrawItemUPP(wxMacDataBrowserTableViewControl::DataBrowserDrawItemProc); - if (gDataBrowserTableViewEditItemUPP == NULL) gDataBrowserTableViewEditItemUPP = NewDataBrowserEditItemUPP(wxMacDataBrowserTableViewControl::DataBrowserEditItemProc); - if (gDataBrowserTableViewHitTestUPP == NULL) gDataBrowserTableViewHitTestUPP = NewDataBrowserHitTestUPP (wxMacDataBrowserTableViewControl::DataBrowserHitTestProc); - if (gDataBrowserTableViewTrackingUPP == NULL) gDataBrowserTableViewTrackingUPP = NewDataBrowserTrackingUPP(wxMacDataBrowserTableViewControl::DataBrowserTrackingProc); - - DataBrowserCustomCallbacks customCallbacks; // variable definition - - InitializeDataBrowserCustomCallbacks(&customCallbacks,kDataBrowserLatestCallbacks); - customCallbacks.u.v1.drawItemCallback = gDataBrowserTableViewDrawItemUPP; - customCallbacks.u.v1.editTextCallback = gDataBrowserTableViewEditItemUPP; - customCallbacks.u.v1.hitTestCallback = gDataBrowserTableViewHitTestUPP; - customCallbacks.u.v1.trackingCallback = gDataBrowserTableViewTrackingUPP; - SetCustomCallbacks(&customCallbacks); - - // style setting: - EnableCellSizeModification( ((style & wxDV_VARIABLE_LINE_HEIGHT) != 0), true ); - - DataBrowserSelectionFlags flags; // variable definition - - if (GetSelectionFlags(&flags) == noErr) // get default settings - { - if ((style & wxDV_MULTIPLE) != 0) - flags &= ~kDataBrowserSelectOnlyOne; - else - flags |= kDataBrowserSelectOnlyOne; - (void) SetSelectionFlags(flags); - } - - OptionBits attributes; // variable definition - - if (GetAttributes(&attributes) == noErr) // get default settings - { - if ((style & wxDV_VERT_RULES) != 0) - attributes |= kDataBrowserAttributeListViewDrawColumnDividers; - else - attributes &= ~kDataBrowserAttributeListViewDrawColumnDividers; - if ((style & wxDV_ROW_LINES) != 0) - attributes |= kDataBrowserAttributeListViewAlternatingRowColors; - else - attributes &= ~kDataBrowserAttributeListViewAlternatingRowColors; - (void) SetAttributes(attributes); - } - - if ((style & wxDV_NO_HEADER) != 0) - SetHeaderButtonHeight(0); -} - -wxMacDataBrowserTableViewControl::~wxMacDataBrowserTableViewControl() -{ - ::RemoveEventHandler((EventHandlerRef) m_macDataViewCtrlEventHandler); -} - -// -// callback handling -// -OSStatus wxMacDataBrowserTableViewControl::SetCallbacks(DataBrowserCallbacks const* callbacks) -{ - return ::SetDataBrowserCallbacks(m_controlRef,callbacks); -} - -OSStatus wxMacDataBrowserTableViewControl::SetCustomCallbacks(DataBrowserCustomCallbacks const* customCallbacks) -{ - return ::SetDataBrowserCustomCallbacks(m_controlRef,customCallbacks); -} - -// -// DnD handling -// -OSStatus wxMacDataBrowserTableViewControl::EnableAutomaticDragTracking(bool enable) -{ - return ::SetAutomaticControlDragTrackingEnabledForWindow(::GetControlOwner(m_controlRef),enable); -} - -// -// header handling -// -OSStatus wxMacDataBrowserTableViewControl::GetHeaderDesc(DataBrowserPropertyID propertyID, DataBrowserListViewHeaderDesc* desc) const -{ - desc->version = kDataBrowserListViewLatestHeaderDesc; // if this statement is missing the next call will fail (NOT DOCUMENTED!!) - return ::GetDataBrowserListViewHeaderDesc(m_controlRef,propertyID,desc); -} - -OSStatus wxMacDataBrowserTableViewControl::SetHeaderDesc(DataBrowserPropertyID propertyID, DataBrowserListViewHeaderDesc* desc) -{ - return ::SetDataBrowserListViewHeaderDesc(m_controlRef,propertyID,desc); -} - -// -// layout handling -// -OSStatus wxMacDataBrowserTableViewControl::AutoSizeColumns() -{ - return AutoSizeDataBrowserListViewColumns(m_controlRef); -} - -OSStatus wxMacDataBrowserTableViewControl::EnableCellSizeModification(bool enableHeight, bool enableWidth) -{ - return ::SetDataBrowserTableViewGeometry(GetControlRef(),enableWidth,enableHeight); -} - -OSStatus wxMacDataBrowserTableViewControl::GetAttributes(OptionBits* attributes) -{ - return ::DataBrowserGetAttributes(GetControlRef(),attributes); -} - -OSStatus wxMacDataBrowserTableViewControl::GetColumnWidth(DataBrowserPropertyID propertyID, UInt16* width) const -{ - return ::GetDataBrowserTableViewNamedColumnWidth(m_controlRef,propertyID,width); -} - -OSStatus wxMacDataBrowserTableViewControl::GetDefaultColumnWidth( UInt16 *width ) const -{ - return GetDataBrowserTableViewColumnWidth(m_controlRef, width ); -} - -OSStatus wxMacDataBrowserTableViewControl::GetDefaultRowHeight(UInt16* height) const -{ - return ::GetDataBrowserTableViewRowHeight(m_controlRef,height); -} - -OSStatus wxMacDataBrowserTableViewControl::GetHeaderButtonHeight(UInt16 *height) -{ - return ::GetDataBrowserListViewHeaderBtnHeight(m_controlRef,height); -} - -OSStatus wxMacDataBrowserTableViewControl::GetPartBounds(DataBrowserItemID item, DataBrowserPropertyID propertyID, DataBrowserPropertyPart part, Rect* bounds) -{ - return ::GetDataBrowserItemPartBounds(m_controlRef,item,propertyID,part,bounds); -} - -OSStatus wxMacDataBrowserTableViewControl::GetRowHeight(DataBrowserItemID item, UInt16* height) const -{ - return ::GetDataBrowserTableViewItemRowHeight(m_controlRef,item,height); -} - -OSStatus wxMacDataBrowserTableViewControl::GetScrollPosition( UInt32 *top , UInt32 *left ) const -{ - return GetDataBrowserScrollPosition(m_controlRef, top , left ); -} - -OSStatus wxMacDataBrowserTableViewControl::SetAttributes(OptionBits attributes) -{ - return ::DataBrowserChangeAttributes(GetControlRef(),attributes,~attributes); -} - -OSStatus wxMacDataBrowserTableViewControl::SetColumnWidth(DataBrowserPropertyID propertyID, UInt16 width) -{ - return ::SetDataBrowserTableViewNamedColumnWidth(m_controlRef,propertyID,width); -} - -OSStatus wxMacDataBrowserTableViewControl::SetDefaultColumnWidth(UInt16 width) -{ - return ::SetDataBrowserTableViewColumnWidth(m_controlRef,width); -} - -OSStatus wxMacDataBrowserTableViewControl::SetDefaultRowHeight(UInt16 height) -{ - return ::SetDataBrowserTableViewRowHeight(m_controlRef,height); -} - -OSStatus wxMacDataBrowserTableViewControl::SetHasScrollBars(bool horiz, bool vert) -{ - return ::SetDataBrowserHasScrollBars(m_controlRef,horiz,vert); -} - -OSStatus wxMacDataBrowserTableViewControl::SetHeaderButtonHeight(UInt16 height) -{ - return ::SetDataBrowserListViewHeaderBtnHeight(m_controlRef,height); -} - -OSStatus wxMacDataBrowserTableViewControl::SetHiliteStyle(DataBrowserTableViewHiliteStyle hiliteStyle) -{ - return ::SetDataBrowserTableViewHiliteStyle(m_controlRef,hiliteStyle); -} - -OSStatus wxMacDataBrowserTableViewControl::SetIndent(float Indent) -{ - return ::DataBrowserSetMetric(m_controlRef,kDataBrowserMetricDisclosureColumnPerDepthGap,true,Indent); -} - -OSStatus wxMacDataBrowserTableViewControl::SetItemRowHeight(DataBrowserItemID item, UInt16 height) -{ - return ::SetDataBrowserTableViewItemRowHeight(m_controlRef,item,height); -} - -OSStatus wxMacDataBrowserTableViewControl::SetScrollPosition(UInt32 top, UInt32 left) -{ - return ::SetDataBrowserScrollPosition(m_controlRef,top,left); -} - -// -// column handling -// -OSStatus wxMacDataBrowserTableViewControl::GetColumnCount(UInt32* numColumns) const -{ - return ::GetDataBrowserTableViewColumnCount(m_controlRef,numColumns); -} - -OSStatus wxMacDataBrowserTableViewControl::GetColumnIndex(DataBrowserPropertyID propertyID, DataBrowserTableViewColumnIndex* index) const -{ - return ::GetDataBrowserTableViewColumnPosition(m_controlRef,propertyID,index); -} - -OSStatus wxMacDataBrowserTableViewControl::GetFreePropertyID(DataBrowserPropertyID* propertyID) const -{ - for (*propertyID=kMinPropertyID; *propertyID::max(); ++(*propertyID)) - if (IsUsedPropertyID(*propertyID) == errDataBrowserPropertyNotFound) - return noErr; - return errDataBrowserPropertyNotSupported; -} - -OSStatus wxMacDataBrowserTableViewControl::GetPropertyFlags(DataBrowserPropertyID propertyID, DataBrowserPropertyFlags *flags) const -{ - return ::GetDataBrowserPropertyFlags(m_controlRef,propertyID,flags); -} - -OSStatus wxMacDataBrowserTableViewControl::GetPropertyID(DataBrowserItemDataRef itemData, DataBrowserPropertyID* propertyID) const -{ - return ::GetDataBrowserItemDataProperty(itemData,propertyID); -} - -OSStatus wxMacDataBrowserTableViewControl::GetPropertyID(DataBrowserTableViewColumnIndex index, DataBrowserTableViewColumnID* propertyID) const -{ - return ::GetDataBrowserTableViewColumnProperty(m_controlRef,index,propertyID); -} - -OSStatus wxMacDataBrowserTableViewControl::IsUsedPropertyID(DataBrowserPropertyID propertyID) const -{ - // as the Mac interface does not provide a function that checks if the property id is in use or not a function is chosen that should not - // lead to a large overhead for the call but returns an error code if the property id does not exist, here we use the function that returns - // the column position for the property id: - DataBrowserTableViewColumnIndex index; - - return ::GetDataBrowserTableViewColumnPosition(m_controlRef,propertyID,&index); -} - -OSStatus wxMacDataBrowserTableViewControl::RemoveColumnByProperty(DataBrowserTableViewColumnID propertyID) -{ - return ::RemoveDataBrowserTableViewColumn(m_controlRef,propertyID); -} - -OSStatus wxMacDataBrowserTableViewControl::RemoveColumnByIndex(DataBrowserTableViewColumnIndex index) -{ - DataBrowserTableViewColumnID propertyID; - - - GetPropertyID(index,&propertyID); - return ::RemoveDataBrowserTableViewColumn(m_controlRef,propertyID); -} - -OSStatus wxMacDataBrowserTableViewControl::SetColumnIndex(DataBrowserPropertyID propertyID, DataBrowserTableViewColumnIndex index) -{ - return ::SetDataBrowserTableViewColumnPosition(m_controlRef,propertyID,index); -} - -OSStatus wxMacDataBrowserTableViewControl::SetDisclosureColumn(DataBrowserPropertyID propertyID, Boolean expandableRows) -{ - return ::SetDataBrowserListViewDisclosureColumn(m_controlRef,propertyID,expandableRows); -} - -OSStatus wxMacDataBrowserTableViewControl::SetPropertyFlags(DataBrowserPropertyID propertyID, DataBrowserPropertyFlags flags) -{ - return ::SetDataBrowserPropertyFlags(m_controlRef,propertyID,flags); -} - -// -// item handling -// -OSStatus wxMacDataBrowserTableViewControl::AddItems(DataBrowserItemID container, UInt32 numItems, DataBrowserItemID const* items, DataBrowserPropertyID preSortProperty) -{ - return ::AddDataBrowserItems(m_controlRef,container,numItems,items,preSortProperty); -} - -OSStatus wxMacDataBrowserTableViewControl::GetFreeItemID(DataBrowserItemID* id) const -{ - ItemCount noOfItems; - - OSStatus status; - - - status = GetItemCount(&noOfItems); - wxCHECK_MSG(status == noErr,status,_("Could not retrieve number of items")); - if (noOfItems == 0) - { - *id = 1; - return noErr; - } - else - { - // as there might be a lot of items in the data browser and mostly the data is added item by item the largest used ID number is roughly in the order of magnitude - // as the number of items; therefore, start from the number of items to look for a new ID: - for (*id=noOfItems; *id::max(); ++(*id)) - if (IsUsedItemID(*id) == errDataBrowserItemNotFound) - return noErr; - // as the first approach was not successful, try from the beginning: - for (*id=0; *id(::GetHandleSize(handle)/sizeof(DataBrowserItemID)); - itemIDs.Empty(); - itemIDs.Alloc(noOfItems); - HLock(handle); - itemIDPtr = (DataBrowserItemID*) (*handle); - for (size_t i=0; iGetNativeData()->GetPropertyID()) == noErr); -} - -void wxMacDataViewDataBrowserListViewControl::DoSetExpanderColumn(wxDataViewColumn const* columnPtr) -{ - SetDisclosureColumn(columnPtr->GetNativeData()->GetPropertyID(),false); // second parameter explicitly passed to ensure that arrow is centered -} - -wxDataViewColumn* wxMacDataViewDataBrowserListViewControl::GetColumn(unsigned int pos) const -{ - DataBrowserPropertyID propertyID; - - - if (GetPropertyID(pos,&propertyID) == noErr) - return GetColumnPtr(propertyID); - else - return NULL; -} - -int wxMacDataViewDataBrowserListViewControl::GetColumnPosition(wxDataViewColumn const* columnPtr) const -{ - if (columnPtr != NULL) - { - DataBrowserTableViewColumnIndex Position; - - wxCHECK_MSG(GetColumnIndex(columnPtr->GetNativeData()->GetPropertyID(),&Position) == noErr,wxNOT_FOUND,_("Could not determine column's position")); - return static_cast(Position); - } - else - return wxNOT_FOUND; -} - -bool wxMacDataViewDataBrowserListViewControl::InsertColumn(unsigned int pos, wxDataViewColumn* columnPtr) -{ - DataBrowserListViewColumnDesc columnDescription; - - DataBrowserPropertyID newPropertyID; - - UInt32 noOfColumns; - - wxCFStringRef title(columnPtr->GetTitle(),m_font.IsOk() ? dynamic_cast(GetWXPeer())->GetFont().GetEncoding() : wxLocale::GetSystemEncoding()); - - - // try to get new ID for the column: - wxCHECK_MSG(GetFreePropertyID(&newPropertyID) == noErr,false,_("Cannot create new column's ID. Probably max. number of columns reached.")); - // set native data: - columnPtr->GetNativeData()->SetPropertyID(newPropertyID); - // create a column description, add column to the native control and do some final layout adjustments: - wxCHECK_MSG(::InitializeColumnDescription(columnDescription,columnPtr,title), false,_("Column description could not be initialized.")); - wxCHECK_MSG(AddColumn(&columnDescription,pos) == noErr, false,_("Column could not be added.")); - wxCHECK_MSG(SetColumnWidth(newPropertyID,columnPtr->GetWidth()) == noErr,false,_("Column width could not be set.")); - wxCHECK_MSG(GetColumnCount(&noOfColumns) == noErr, false,_("Number of columns could not be determined.")); - if (noOfColumns == 1) - { - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - wxCHECK_MSG(dataViewCtrlPtr != NULL,false,_("wxWidget's control not initialized.")); - dataViewCtrlPtr->AddChildren(wxDataViewItem()); - return true; - } - else - return Update(columnPtr); -} - -// -// item related methods (inherited from wxDataViewWidgetImpl) -// -bool wxMacDataViewDataBrowserListViewControl::Add(wxDataViewItem const& parent, wxDataViewItem const& item) -{ - DataBrowserItemID itemID(reinterpret_cast(item.GetID())); - - - return (( parent.IsOk() && AddItem(reinterpret_cast(parent.GetID()),&itemID) == noErr) || - (!(parent.IsOk()) && AddItem(kDataBrowserNoItem,&itemID) == noErr)); -} - -bool wxMacDataViewDataBrowserListViewControl::Add(wxDataViewItem const& parent, wxDataViewItemArray const& items) -{ - bool noFailureFlag; - - DataBrowserItemID* itemIDs; - - size_t noOfEntries; - - - // convert all valid data view items to data browser items: - itemIDs = ::CreateDataBrowserItemIDArray(noOfEntries,items); - // insert all valid items into control: - noFailureFlag = ((noOfEntries == 0) || - !(parent.IsOk()) && (AddItems(kDataBrowserNoItem,noOfEntries,itemIDs,kDataBrowserItemNoProperty) == noErr) || - parent.IsOk() && (AddItems(reinterpret_cast(parent.GetID()),noOfEntries,itemIDs,kDataBrowserItemNoProperty) == noErr)); - // give allocated array space free again: - delete[] itemIDs; - // done: - return noFailureFlag; -} - -void wxMacDataViewDataBrowserListViewControl::Collapse(wxDataViewItem const& item) -{ - CloseContainer(reinterpret_cast(item.GetID())); -} - -void wxMacDataViewDataBrowserListViewControl::EnsureVisible(wxDataViewItem const& item, const wxDataViewColumn* columnPtr) -{ - DataBrowserPropertyID propertyID; - - - if (columnPtr != NULL) - propertyID = columnPtr->GetNativeData()->GetPropertyID(); - else - propertyID = kDataBrowserNoItem; - RevealItem(reinterpret_cast(item.GetID()),propertyID,kDataBrowserRevealOnly); -} - -void wxMacDataViewDataBrowserListViewControl::Expand(wxDataViewItem const& item) -{ - OpenContainer(reinterpret_cast(item.GetID())); -} - -unsigned int wxMacDataViewDataBrowserListViewControl::GetCount() const -{ - ItemCount noOfItems; - - - wxCHECK_MSG(GetItemCount(&noOfItems) == noErr,0,_("Could not determine number of items")); - return noOfItems; -} - -wxRect wxMacDataViewDataBrowserListViewControl::GetRectangle(wxDataViewItem const& item, wxDataViewColumn const* columnPtr) -{ - Rect MacRectangle; - - - if (GetPartBounds(reinterpret_cast(item.GetID()),columnPtr->GetNativeData()->GetPropertyID(),kDataBrowserPropertyContentPart,&MacRectangle) == noErr) - { - wxRect rectangle; - - ::wxMacNativeToRect(&MacRectangle,&rectangle); - return rectangle; - } - else - return wxRect(); -} - -bool wxMacDataViewDataBrowserListViewControl::IsExpanded(wxDataViewItem const& item) const -{ - DataBrowserItemState state = 0; - - if (GetItemState(reinterpret_cast(item.GetID()),&state) != noErr) - return false; - - return ((state & kDataBrowserContainerIsOpen) != 0); -} - -bool wxMacDataViewDataBrowserListViewControl::Reload() -{ - bool noFailureFlag; - - wxDataViewItemArray dataViewChildren; - - - noFailureFlag = (RemoveItems() == noErr); - SetScrollPosition(0,0); // even after having removed all items the scrollbars may remain at their old position -> reset them - GetDataViewCtrl()->GetModel()->GetChildren(wxDataViewItem(),dataViewChildren); - GetDataViewCtrl()->GetModel()->ItemsAdded(wxDataViewItem(),dataViewChildren); - - return noFailureFlag; -} - -bool wxMacDataViewDataBrowserListViewControl::Remove(wxDataViewItem const& parent, wxDataViewItem const& item) -{ - DataBrowserItemID itemID(reinterpret_cast(item.GetID())); - - - return (RemoveItem(reinterpret_cast(parent.GetID()),&itemID) == noErr); -} - -bool wxMacDataViewDataBrowserListViewControl::Remove(wxDataViewItem const& parent, wxDataViewItemArray const& items) -{ - bool noFailureFlag; - - DataBrowserItemID* itemIDs; - - size_t noOfEntries; - - - // convert all valid data view items to data browser items: - itemIDs = ::CreateDataBrowserItemIDArray(noOfEntries,items); - // insert all valid items into control: - noFailureFlag = ((noOfEntries == 0) || - !(parent.IsOk()) && (RemoveItems(kDataBrowserNoItem,noOfEntries,itemIDs,kDataBrowserItemNoProperty) == noErr) || - parent.IsOk() && (RemoveItems(reinterpret_cast(parent.GetID()),noOfEntries,itemIDs,kDataBrowserItemNoProperty) == noErr)); - // give allocated array space free again: - delete[] itemIDs; - // done: - return noFailureFlag; -} - -bool wxMacDataViewDataBrowserListViewControl::Update(wxDataViewColumn const* columnPtr) -{ - return (UpdateItems(kDataBrowserNoItem,0,NULL,kDataBrowserItemNoProperty,columnPtr->GetNativeData()->GetPropertyID()) == noErr); -} - -bool wxMacDataViewDataBrowserListViewControl::Update(wxDataViewItem const& parent, wxDataViewItem const& item) -{ - DataBrowserItemID itemID(reinterpret_cast(item.GetID())); - - - if (parent.IsOk()) - return (UpdateItem(reinterpret_cast(parent.GetID()),&itemID) == noErr); - else - return (UpdateItem(kDataBrowserNoItem,&itemID) == noErr); -} - -bool wxMacDataViewDataBrowserListViewControl::Update(wxDataViewItem const& parent, wxDataViewItemArray const& items) -{ - bool noFailureFlag; - - DataBrowserItemID* itemIDs; - - size_t noOfEntries; - - - // convert all valid data view items to data browser items: - itemIDs = ::CreateDataBrowserItemIDArray(noOfEntries,items); - if (parent.IsOk()) - noFailureFlag = (UpdateItems(reinterpret_cast(parent.GetID()),noOfEntries,itemIDs,kDataBrowserItemNoProperty,kDataBrowserItemNoProperty) == noErr); - else - noFailureFlag = (UpdateItems(kDataBrowserNoItem,noOfEntries,itemIDs,kDataBrowserItemNoProperty,kDataBrowserItemNoProperty) == noErr); - // release allocated array space: - delete[] itemIDs; - // done: - return noFailureFlag; -} - -// -// model related methods -// -bool wxMacDataViewDataBrowserListViewControl::AssociateModel(wxDataViewModel* WXUNUSED(model)) -{ - return true; -} - -// -// selection related methods (inherited from wxDataViewWidgetImpl) -// -wxDataViewItem wxMacDataViewDataBrowserListViewControl::GetCurrentItem() const -{ - wxFAIL_MSG( "unimplemented for Carbon" ); - - return wxDataViewItem(); -} - -wxDataViewColumn *wxMacDataViewDataBrowserListViewControl::GetCurrentColumn() const -{ - wxFAIL_MSG( "unimplemented for Carbon" ); - return NULL; -} - -void wxMacDataViewDataBrowserListViewControl::SetCurrentItem(const wxDataViewItem& WXUNUSED(item)) -{ - wxFAIL_MSG( "unimplemented for Carbon" ); -} - -int wxMacDataViewDataBrowserListViewControl::GetSelectedItemsCount() const -{ - Handle handle(::NewHandle(0)); - - if ( GetItems(kDataBrowserNoItem,true,kDataBrowserItemIsSelected,handle) != noErr ) - { - wxFAIL_MSG( "failed to get selected items" ); - return 0; - } - - size_t noOfItems = static_cast(::GetHandleSize(handle)/sizeof(DataBrowserItemID)); - HUnlock(handle); - DisposeHandle(handle); - - return noOfItems; -} - -int wxMacDataViewDataBrowserListViewControl::GetSelections(wxDataViewItemArray& sel) const -{ - size_t noOfSelectedItems; - - wxArrayDataBrowserItemID itemIDs; - - - noOfSelectedItems = GetSelectedItemIDs(itemIDs); - sel.Empty(); - sel.SetCount(noOfSelectedItems); - for (size_t i=0; i(itemIDs[i])); - return static_cast(noOfSelectedItems); -} - -bool wxMacDataViewDataBrowserListViewControl::IsSelected(wxDataViewItem const& item) const -{ - return IsItemSelected(reinterpret_cast(item.GetID())); -} - -void wxMacDataViewDataBrowserListViewControl::Select(wxDataViewItem const& item) -{ - DataBrowserItemID itemID(reinterpret_cast(item.GetID())); - - - SetSelectedItems(1,&itemID,kDataBrowserItemsAdd); -} - -void wxMacDataViewDataBrowserListViewControl::SelectAll() -{ - DataBrowserItemID* itemIDPtr; - - Handle handle(::NewHandle(0)); - - size_t noOfItems; - - - wxCHECK_RET(GetItems(kDataBrowserNoItem,true,kDataBrowserItemAnyState,handle) == noErr,_("Could not get items.")); - noOfItems = static_cast(::GetHandleSize(handle)/sizeof(DataBrowserItemID)); - ::HLock(handle); - itemIDPtr = (DataBrowserItemID*) (*handle); - SetSelectedItems(noOfItems,itemIDPtr,kDataBrowserItemsAssign); - ::HUnlock(handle); - ::DisposeHandle(handle); -} - -void wxMacDataViewDataBrowserListViewControl::Unselect(wxDataViewItem const& item) -{ - DataBrowserItemID itemID(reinterpret_cast(item.GetID())); - - - SetSelectedItems(1,&itemID,kDataBrowserItemsRemove); -} - -void wxMacDataViewDataBrowserListViewControl::UnselectAll() -{ - DataBrowserItemID* itemIDPtr; - - Handle handle(::NewHandle(0)); - - size_t noOfItems; - - - wxCHECK_RET(GetItems(kDataBrowserNoItem,true,kDataBrowserItemAnyState,handle) == noErr,_("Could not get items.")); - noOfItems = static_cast(::GetHandleSize(handle)/sizeof(DataBrowserItemID)); - ::HLock(handle); - itemIDPtr = (DataBrowserItemID*) (*handle); - SetSelectedItems(noOfItems,itemIDPtr,kDataBrowserItemsRemove); - ::HUnlock(handle); - ::DisposeHandle(handle); -} - -// -// sorting related methods -// -wxDataViewColumn* wxMacDataViewDataBrowserListViewControl::GetSortingColumn() const -{ - DataBrowserPropertyID propertyID; - - - if (GetSortProperty(&propertyID) == noErr) - return GetColumnPtr(propertyID); - else - return NULL; -} - -void wxMacDataViewDataBrowserListViewControl::Resort() -{ - (void) wxMacDataBrowserListViewControl::Resort(); -} - -// -// other methods (inherited from wxDataViewWidgetImpl) -// -void -wxMacDataViewDataBrowserListViewControl::HitTest(const wxPoint& WXUNUSED(point), - wxDataViewItem& item, - wxDataViewColumn*& columnPtr) const -{ - // not yet implemented: - item = wxDataViewItem(); - columnPtr = NULL; -} - -void wxMacDataViewDataBrowserListViewControl::DoSetIndent(int indent) -{ - SetIndent(static_cast(indent)); -} - -void wxMacDataViewDataBrowserListViewControl::SetRowHeight(wxDataViewItem const& item, unsigned int height) -{ - SetItemRowHeight(reinterpret_cast(item.GetID()),static_cast(height)); -} - -void wxMacDataViewDataBrowserListViewControl::OnSize() -{ - UInt32 noOfColumns; - - - GetColumnCount(&noOfColumns); - if (noOfColumns <= 1) // no horizontal scroll bar and the only column expands to the width of the whole control - { - SetHasScrollBars(false,true); - AutoSizeColumns(); - } - else // otherwise keep the current column size and have scrollbars in both directions - SetHasScrollBars(true,true); -} - -void wxMacDataViewDataBrowserListViewControl::StartEditor( const wxDataViewItem & WXUNUSED(item), unsigned int WXUNUSED(column) ) -{ - // implement me -} - -// -// callback functions (inherited from wxMacDataBrowserTableViewControl) -// -Boolean wxMacDataViewDataBrowserListViewControl::DataBrowserCompareProc(DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty) -{ - DataBrowserSortOrder sortOrder; - - DataBrowserTableViewColumnIndex modelColumnIndex; - - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - - wxCHECK_MSG(dataViewCtrlPtr != NULL, false,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,false,_("Pointer to model not set correctly.")); - if (sortProperty >= kMinPropertyID) - { - // variable definition and initialization: - wxDataViewColumn* ColumnPtr(GetColumnPtr(sortProperty)); - - wxCHECK_MSG(ColumnPtr != NULL,false,_("Could not determine column index.")); - modelColumnIndex = ColumnPtr->GetModelColumn(); - } - else - modelColumnIndex = 0; - GetSortOrder(&sortOrder); - return static_cast(dataViewCtrlPtr->GetModel()->Compare(wxDataViewItem(reinterpret_cast(itemOneID)),wxDataViewItem(reinterpret_cast(itemTwoID)), - modelColumnIndex,sortOrder != kDataBrowserOrderDecreasing) < 0); -} - -void wxMacDataViewDataBrowserListViewControl::DataBrowserGetContextualMenuProc(MenuRef* menu, UInt32* helpType, CFStringRef* helpItemString, AEDesc* WXUNUSED(selection)) - // In this method we do not supply a contextual menu handler at all but only send a wxEVT_DATAVIEW_ITEM_CONTEXT_MENU. -{ - wxArrayDataBrowserItemID itemIDs; - - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - - wxCHECK_RET(dataViewCtrlPtr != NULL,_("wxWidget control pointer is not a data view pointer")); - // initialize parameters so that no context menu will be displayed automatically by the native data browser: - *menu = NULL; - *helpType = kCMHelpItemNoHelp; - *helpItemString = NULL; - // create information for a context menu event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_CONTEXT_MENU,dataViewCtrlPtr->GetId()); - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetModel(dataViewCtrlPtr->GetModel()); - // get the item information; - // theoretically more than one ID can be returned but the event can only handle one item, therefore all item related data is using the data of the first item in the array: - if (GetSelectedItemIDs(itemIDs) > 0) - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemIDs[0]))); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); -} - -OSStatus wxMacDataViewDataBrowserListViewControl::DataBrowserGetSetItemDataProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemDataRef itemData, Boolean getValue) -{ - if (getValue) - { - // variable definitions: - wxDataViewCtrl* dataViewCtrlPtr; - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL,errDataBrowserNotConfigured,_("Pointer to data view control not set correctly.")); - if (dataViewCtrlPtr->IsDeleting()) - return noErr; // if a delete process is running the data of editable fields cannot be saved because the associated model variable may already have been deleted - else - { - // variable definitions: - OSStatus errorStatus; - wxDataViewColumn* dataViewColumnPtr; - - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,errDataBrowserNotConfigured,_("Pointer to model not set correctly.")); - dataViewColumnPtr = GetColumnPtr(propertyID); - wxCHECK_MSG((dataViewColumnPtr != NULL) && (dataViewColumnPtr->GetRenderer() != NULL),errDataBrowserNotConfigured,_("There is no column or renderer for the specified column index.")); - - wxDataViewItem dvItem(reinterpret_cast(itemID)); - unsigned int col = dataViewColumnPtr->GetModelColumn(); - - switch (dataViewColumnPtr->GetRenderer()->GetNativeData()->GetPropertyType()) - { - case kDataBrowserCheckboxType: - { - // variable definition: - ThemeButtonValue buttonValue; - - errorStatus = ::GetDataBrowserItemDataButtonValue(itemData,&buttonValue); - if (errorStatus == noErr) - { - if (buttonValue == kThemeButtonOn) - { - // variable definition and initialization: - wxVariant modifiedData(true); - - if (dataViewCtrlPtr->GetModel()->ChangeValue(modifiedData, dvItem, col)) - return noErr; - else - return errDataBrowserInvalidPropertyData; - } - else if (buttonValue == kThemeButtonOff) - { - // variable definition and initialization: - wxVariant modifiedData(false); - - if (dataViewCtrlPtr->GetModel()->ChangeValue(modifiedData, dvItem, col)) - return noErr; - else - return errDataBrowserInvalidPropertyData; - } - else - return errDataBrowserInvalidPropertyData; - } - else - return errorStatus; - } /* block */ - case kDataBrowserTextType: - { - // variable definitions: - CFStringRef stringReference; - - errorStatus = ::GetDataBrowserItemDataText(itemData,&stringReference); - if (errorStatus == noErr) - { - // variable definitions and initializations: -#if wxCHECK_VERSION(2,9,0) - wxCFStringRef modifiedString(stringReference); -#else - wxMacCFStringHolder modifiedString(stringReference); -#endif - wxVariant modifiedData(modifiedString.AsString()); - - if (dataViewCtrlPtr->GetModel()->ChangeValue(modifiedData, dvItem, col)) - return noErr; - else - return errDataBrowserInvalidPropertyData; - } - else - return errorStatus; - } /* block */ - default: - return errDataBrowserPropertyNotSupported; - } - } - } - else - { - if (propertyID >= kMinPropertyID) // in case data columns set the data - { - // variable definitions: - wxDataViewColumn* dataViewColumnPtr; - wxDataViewCtrl* dataViewCtrlPtr; - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL,errDataBrowserNotConfigured,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,errDataBrowserNotConfigured,_("Pointer to model not set correctly.")); - dataViewColumnPtr = GetColumnPtr(propertyID); - wxCHECK_MSG(dataViewColumnPtr != NULL,errDataBrowserNotConfigured,_("No column for the specified column position existing.")); - wxCHECK_MSG(dataViewColumnPtr->GetRenderer() != NULL,errDataBrowserNotConfigured,_("No renderer specified for column.")); - if (dataViewColumnPtr->GetRenderer()->PrepareForItem(dataViewCtrlPtr->GetModel(),wxDataViewItem(reinterpret_cast(itemID)),dataViewColumnPtr->GetModelColumn())) - { - dataViewColumnPtr->GetRenderer()->GetNativeData()->SetItemDataRef(itemData); - wxCHECK_MSG(dataViewColumnPtr->GetRenderer()->MacRender(),errDataBrowserNotConfigured,_("Rendering failed.")); - } - return noErr; - } - else // react on special system requests - { - switch (propertyID) - { - case kDataBrowserContainerIsClosableProperty: - { - // variable definitions: - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - wxCHECK_MSG(dataViewCtrlPtr != NULL,errDataBrowserNotConfigured,_("Pointer to data view control not set correctly.")); - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_COLLAPSING,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem (wxDataViewItem(reinterpret_cast(itemID))); - dataViewEvent.SetModel (dataViewCtrlPtr->GetModel()); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - // opening the container is allowed if not vetoed: - return ::SetDataBrowserItemDataBooleanValue(itemData,dataViewEvent.IsAllowed()); - } /* block */ - case kDataBrowserContainerIsOpenableProperty: - { - // variable definitions: - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - wxCHECK_MSG(dataViewCtrlPtr != NULL,errDataBrowserNotConfigured,_("Pointer to data view control not set correctly.")); - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_EXPANDING,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem (wxDataViewItem(reinterpret_cast(itemID))); - dataViewEvent.SetModel (dataViewCtrlPtr->GetModel()); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - // opening the container is allowed if not vetoed: - return ::SetDataBrowserItemDataBooleanValue(itemData,dataViewEvent.IsAllowed()); - } /* block */ - case kDataBrowserItemIsContainerProperty: - { - // variable definition: - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - wxCHECK_MSG(dataViewCtrlPtr != NULL,errDataBrowserNotConfigured,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,errDataBrowserNotConfigured,_("Pointer to model not set correctly.")); - return ::SetDataBrowserItemDataBooleanValue(itemData,dataViewCtrlPtr->GetModel()->IsContainer(wxDataViewItem(reinterpret_cast(itemID)))); - } /* block */ - case kDataBrowserItemIsEditableProperty: - return ::SetDataBrowserItemDataBooleanValue(itemData,true); - } - } - } - return errDataBrowserPropertyNotSupported; -} - -void wxMacDataViewDataBrowserListViewControl::DataBrowserItemNotificationProc(DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData) -{ - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - - // check if the data view control pointer still exists because this call back function can still be called when the control has already been deleted: - if (dataViewCtrlPtr != NULL) - switch (message) - { - case kDataBrowserContainerClosed: - dataViewCtrlPtr->FinishCustomItemEditing(); // stop editing of a custom item first (if necessary) - { - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_COLLAPSED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemID))); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } /* block */ - break; - case kDataBrowserContainerOpened: - dataViewCtrlPtr->FinishCustomItemEditing(); // stop editing of a custom item first (if necessary) - { - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_EXPANDED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemID))); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - // add children to the expanded container: - dataViewCtrlPtr->AddChildren(wxDataViewItem(reinterpret_cast(itemID))); - } /* block */ - break; - case kDataBrowserEditStarted: - dataViewCtrlPtr->FinishCustomItemEditing(); // stop editing of a custom item first (if necessary) - { - // initialize wxWidget event: - DataBrowserPropertyID propertyID; - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_EDITING_STARTED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemID))); - if (GetPropertyID(itemData,&propertyID) == noErr) - { - // variable definition and initialization: - DataBrowserTableViewColumnIndex columnIndex; - - wxCHECK_RET(GetColumnIndex(propertyID,&columnIndex),_("Column index not found.")); - dataViewEvent.SetColumn(columnIndex); - dataViewEvent.SetDataViewColumn(GetColumnPtr(propertyID)); - } - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } /* block */ - break; - case kDataBrowserEditStopped: - { - // initialize wxWidget event: - DataBrowserPropertyID propertyID; - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_EDITING_DONE,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemID))); - if (GetPropertyID(itemData,&propertyID) == noErr) - { - // variable definition and initialization: - DataBrowserTableViewColumnIndex columnIndex; - - wxCHECK_RET(GetColumnIndex(propertyID,&columnIndex),_("Column index not found.")); - dataViewEvent.SetColumn(columnIndex); - dataViewEvent.SetDataViewColumn(GetColumnPtr(propertyID)); - } - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } /* block */ - break; - case kDataBrowserItemAdded: - dataViewCtrlPtr->FinishCustomItemEditing(); - break; - case kDataBrowserItemDeselected: - dataViewCtrlPtr->FinishCustomItemEditing(); - break; - case kDataBrowserItemDoubleClicked: - { - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_ACTIVATED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(wxDataViewItem(reinterpret_cast(itemID))); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } /* block */ - break; - case kDataBrowserItemRemoved: - dataViewCtrlPtr->FinishCustomItemEditing(); // stop editing of a custom item first (if necessary) - break; - case kDataBrowserItemSelected: - break; // not implemented by wxWidgets; see kDataBrowserSelectionSetChanged - case kDataBrowserSelectionSetChanged: - { - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_SELECTION_CHANGED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetModel (dataViewCtrlPtr->GetModel()); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } /* block */ - break; - case kDataBrowserTargetChanged: // no idea if this notification is ever sent - break; - case kDataBrowserUserStateChanged: - { - // finish custom item editing if necessary: - dataViewCtrlPtr->FinishCustomItemEditing(); - // update column widths: - for (size_t i=0; iGetColumnCount(); ++i) - { - // constant definition for abbreviational purposes: - wxDataViewColumn* const columnPtr = dataViewCtrlPtr->GetColumnPtr(i); - // variable definition: - UInt16 columnWidth; - - wxCHECK_RET(GetColumnWidth(columnPtr->GetNativeData()->GetPropertyID(),&columnWidth) == noErr,_("Column width could not be determined")); - columnPtr->SetWidthVariable(columnWidth); - } - // update sorting orders: - DataBrowserPropertyID propertyID; // variable definition - - if ((GetSortProperty(&propertyID) == noErr) && (propertyID >= kMinPropertyID)) - { - DataBrowserSortOrder sortOrder; - DataBrowserTableViewColumnIndex columnIndex; - - if ((GetSortOrder(&sortOrder) == noErr) && (GetColumnIndex(propertyID,&columnIndex) == noErr)) - { - // variable definition and initialization: - wxDataViewColumn* columnPtr; - columnPtr = dataViewCtrlPtr->GetColumn(columnIndex); - // check if the sort order has changed: - if ( columnPtr->IsSortOrderAscending() && (sortOrder == kDataBrowserOrderDecreasing) || - !(columnPtr->IsSortOrderAscending()) && (sortOrder == kDataBrowserOrderIncreasing)) - { - columnPtr->SetSortOrder(!(columnPtr->IsSortOrderAscending())); - // initialize wxWidget event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_COLUMN_SORTED,dataViewCtrlPtr->GetId()); // variable definition - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetColumn(columnIndex); - dataViewEvent.SetDataViewColumn(columnPtr); - // finally send the equivalent wxWidget event: - dataViewCtrlPtr->GetEventHandler()->ProcessEvent(dataViewEvent); - } - } - } - } /* block */ - break; - } -} - -void -wxMacDataViewDataBrowserListViewControl::DataBrowserDrawItemProc(DataBrowserItemID itemID, - DataBrowserPropertyID propertyID, - DataBrowserItemState state, - Rect const* rectangle, - SInt16 WXUNUSED(bitDepth), - Boolean WXUNUSED(colorDevice)) -{ - DataBrowserTableViewColumnIndex columnIndex; - - wxDataViewColumn* dataViewColumnPtr; - - wxDataViewCtrl* dataViewCtrlPtr; - - wxDataViewCustomRenderer* dataViewCustomRendererPtr; - - wxVariant dataToRender; - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_RET(dataViewCtrlPtr != NULL, _("Pointer to data view control not set correctly.")); - wxCHECK_RET(dataViewCtrlPtr->GetModel() != NULL, _("Pointer to model not set correctly.")); - wxCHECK_RET(GetColumnIndex(propertyID,&columnIndex) == noErr,_("Could not determine column index.")); - dataViewColumnPtr = GetColumnPtr(propertyID); - wxCHECK_RET(dataViewColumnPtr != NULL,_("No column for the specified column existing.")); - dataViewCustomRendererPtr = dynamic_cast(dataViewColumnPtr->GetRenderer()); - wxCHECK_RET(dataViewCustomRendererPtr != NULL,_("No renderer or invalid renderer type specified for custom data column.")); - dataViewCtrlPtr->GetModel()->GetValue(dataToRender,wxDataViewItem(reinterpret_cast(itemID)),dataViewColumnPtr->GetModelColumn()); - dataViewCustomRendererPtr->SetValue(dataToRender); - - wxDataViewItem dataItem( reinterpret_cast(itemID) ); - dataViewCtrlPtr->GetModel()->GetValue(dataToRender,dataItem,dataViewColumnPtr->GetModelColumn()); - dataViewCustomRendererPtr->SetValue(dataToRender); - - // try to determine the content's size (drawable part): - Rect content; - RgnHandle rgn(NewRgn()); - UInt16 headerHeight; - - if (GetControlRegion(m_controlRef,kControlContentMetaPart,rgn) == noErr) - GetRegionBounds(rgn,&content); - else - GetControlBounds(m_controlRef, &content); - ::DisposeRgn(rgn); - // space for the header - GetHeaderButtonHeight(&headerHeight); - content.top += headerHeight; - // extra space for the frame (todo: do not how to determine the space automatically from the control) - content.top += 5; - content.left += 5; - content.right -= 3; - content.bottom -= 3; - // extra space for the scrollbars: - content.bottom -= wxSystemSettings::GetMetric(wxSYS_HSCROLL_Y); - content.right -= wxSystemSettings::GetMetric(wxSYS_VSCROLL_X); - - wxDC *dc = dataViewCustomRendererPtr->GetDC(); - - int active_border_fudge = 0; - if (dataViewCtrlPtr->HasFocus() && !dataViewCtrlPtr->HasFlag( wxBORDER_NONE )) - active_border_fudge = 1; - else - active_border_fudge = -2; - - wxRect cellrect( static_cast(rectangle->left + active_border_fudge), - static_cast(rectangle->top + active_border_fudge), - static_cast(1+rectangle->right-rectangle->left), - static_cast(rectangle->bottom-rectangle->top) ); - - bool is_active = IsControlActive( m_controlRef ); - if (state == kDataBrowserItemIsSelected) - { - wxColour col( wxMacCreateCGColorFromHITheme( (is_active) ? - kThemeBrushAlternatePrimaryHighlightColor - : kThemeBrushSecondaryHighlightColor ) ); - - wxRect rect = cellrect; - Rect itemrect; - GetDataBrowserItemPartBounds( m_controlRef, itemID, propertyID, - kDataBrowserPropertyEnclosingPart, &itemrect ); - rect.x = itemrect.left-2; - rect.width = itemrect.right-itemrect.left+3; - - wxDCPenChanger setPen(*dc, *wxTRANSPARENT_PEN); - wxDCBrushChanger setBrush(*dc, col); - dc->DrawRectangle(rect); - } - - wxDataViewModel *model = dataViewCtrlPtr->GetModel(); - if ((columnIndex == 0) || !model->IsContainer(dataItem) || model->HasContainerColumns(dataItem)) - { - // make sure that 'Render' can draw only in the allowed area: - dc->SetClippingRegion(content.left,content.top,content.right-content.left+1,content.bottom-content.top+1); - (void) (dataViewCustomRendererPtr->WXCallRender( cellrect, dc, - ((state == kDataBrowserItemIsSelected) ? wxDATAVIEW_CELL_SELECTED : 0))); - dc->DestroyClippingRegion(); // probably not necessary - } - - dataViewCustomRendererPtr->SetDC(NULL); -} - -Boolean -wxMacDataViewDataBrowserListViewControl::DataBrowserEditItemProc( - DataBrowserItemID WXUNUSED(itemID), - DataBrowserPropertyID WXUNUSED(propertyID), - CFStringRef WXUNUSED(theString), - Rect* WXUNUSED(maxEditTextRect), - Boolean* WXUNUSED(shrinkToFit)) -{ - return false; -} - -Boolean wxMacDataViewDataBrowserListViewControl::DataBrowserHitTestProc(DataBrowserItemID WXUNUSED(itemID), DataBrowserPropertyID WXUNUSED(property), Rect const* WXUNUSED(theRect), Rect const* WXUNUSED(mouseRect)) -{ - return true; -} - -DataBrowserTrackingResult wxMacDataViewDataBrowserListViewControl::DataBrowserTrackingProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Point WXUNUSED(startPt), EventModifiers WXUNUSED(modifiers)) -{ - wxDataViewColumn* dataViewColumnPtr; - - wxDataViewCtrl* dataViewCtrlPtr; - - wxDataViewCustomRenderer* dataViewCustomRendererPtr; - - wxDataViewItem dataViewCustomRendererItem; - - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL, false,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,false,_("Pointer to model not set correctly.")); - dataViewCustomRendererItem = wxDataViewItem(reinterpret_cast(itemID)); - wxCHECK_MSG(dataViewCustomRendererItem.IsOk(),kDataBrowserNothingHit,_("Invalid data view item")); - dataViewColumnPtr = GetColumnPtr(propertyID); - wxCHECK_MSG(dataViewColumnPtr != NULL,kDataBrowserNothingHit,_("No column existing.")); - dataViewCustomRendererPtr = dynamic_cast(dataViewColumnPtr->GetRenderer()); - wxCHECK_MSG(dataViewCustomRendererPtr != NULL,kDataBrowserNothingHit,_("No renderer or invalid renderer type specified for custom data column.")); - // if the currently edited item is identical to the to be edited nothing is done (this hit should only be handled in the control itself): - if (dataViewCtrlPtr->GetCustomRendererItem() == dataViewCustomRendererItem) - return kDataBrowserContentHit; - // an(other) item is going to be edited and therefore the current editing - if existing - has to be finished: - if (dataViewCtrlPtr->GetCustomRendererPtr() != NULL) - { - dataViewCtrlPtr->GetCustomRendererPtr()->FinishEditing(); - dataViewCtrlPtr->SetCustomRendererItem(wxDataViewItem()); - dataViewCtrlPtr->SetCustomRendererPtr (NULL); - } - // check if renderer has got a valid editor control for editing; if this is the case start editing of the new item: - if (dataViewCustomRendererPtr->HasEditorCtrl()) - { - // variable definition: - wxRect wxRectangle; - - ::wxMacNativeToRect(theRect,&wxRectangle); - dataViewCustomRendererPtr->StartEditing(dataViewCustomRendererItem,wxRectangle); - dataViewCtrlPtr->SetCustomRendererItem(dataViewCustomRendererItem); - dataViewCtrlPtr->SetCustomRendererPtr (dataViewCustomRendererPtr); - } - return kDataBrowserContentHit; -} - -Boolean wxMacDataViewDataBrowserListViewControl::DataBrowserAcceptDragProc(DragReference dragRef, DataBrowserItemID itemID) -{ - bool acceptDrag; - - UInt16 noOfDraggedItems; - - wxDataViewCtrl* dataViewCtrlPtr; - - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL, false,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,false,_("Pointer to model not set correctly.")); - - // send a drag possible event for each available and item und proceed with it unless the event is vetoed: - ::CountDragItems(dragRef,&noOfDraggedItems); - for (UInt16 indexDraggedItem=1; indexDraggedItem<=noOfDraggedItems; ++indexDraggedItem) - { - // collect native information: - ItemReference itemRef; - wxDataObjectComposite* dataObjects; - wxMemoryBuffer buffer; - - ::GetDragItemReferenceNumber(dragRef,indexDraggedItem,&itemRef); // the index begins with 1! - dataObjects = GetDnDDataObjects(dragRef,itemRef); - // create wxWidget's event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_DROP_POSSIBLE,dataViewCtrlPtr->GetId()); - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - - // this is the item that receives the event (can be an invalid item ID, this is - // especially useful if the dataview does not contain any items) - dataViewEvent.SetItem( wxDataViewItem(reinterpret_cast(itemID)) ); - - dataViewEvent.SetModel(dataViewCtrlPtr->GetModel()); - dataViewEvent.SetDataObject(dataObjects); - dataViewEvent.SetDataFormat(GetDnDDataFormat(dataObjects)); - if (dataViewEvent.GetDataFormat().GetType() != wxDF_INVALID) - { - dataViewEvent.SetDataSize(dataObjects->GetDataSize(dataViewEvent.GetDataFormat().GetType())); - dataObjects->GetDataHere(dataViewEvent.GetDataFormat().GetType(),buffer.GetWriteBuf(dataViewEvent.GetDataSize())); - buffer.UngetWriteBuf(dataViewEvent.GetDataSize()); - dataViewEvent.SetDataBuffer(buffer.GetData()); - } - - // send event: - acceptDrag = dataViewCtrlPtr->HandleWindowEvent(dataViewEvent) && dataViewEvent.IsAllowed(); - delete dataObjects; - if (!acceptDrag) - return false; - } - return true; -} - -Boolean wxMacDataViewDataBrowserListViewControl::DataBrowserAddDragItemProc(DragReference dragRef, DataBrowserItemID itemID, ItemReference* itemRef) -{ - Boolean addDragItem; - - wxDataViewCtrl* dataViewCtrlPtr; - - wxDataViewItem dataViewItem; - - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL, false,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,false,_("Pointer to model not set correctly.")); - dataViewItem = wxDataViewItem(reinterpret_cast(itemID)); - wxCHECK_MSG(dataViewItem.IsOk(),false,_("Invalid data view item")); - - // send a begin drag event and proceed with dragging unless the event is vetoed: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_BEGIN_DRAG,dataViewCtrlPtr->GetId()); - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - dataViewEvent.SetItem(dataViewItem); - dataViewEvent.SetModel(dataViewCtrlPtr->GetModel()); - // the dataview event object is also initialized with a default set of data; as it is a set of data and the user should be able to easily complete - // the object a wxDataObjectComposite object is used; - // currently, the composite object only contains a TAB concatenated string of all data: - wxDataObjectComposite* dataObject(new wxDataObjectComposite()); - - dataObject->Add(new wxTextDataObject(::ConcatenateDataViewItemValues(dataViewCtrlPtr,dataViewItem))); - dataViewEvent.SetDataObject(dataObject); - // check if event has not been vetoed: - addDragItem = dataViewCtrlPtr->HandleWindowEvent(dataViewEvent) && dataViewEvent.IsAllowed(); - if (addDragItem) - { - // for the internal drag & drop functions create two flavors: - // - the data browser's item id; - // - the data contained the dataview event object (if available). - // Definition: a flavor is the type dependent representation of identical data. - // Example: a number can be represented by its value and by its value converted to a string. In this case the flavor - // of the number's internal representation is typeSInt32 while its string representation has got the flavor 'TEXT'. - // Item id is one of the flavors: - wxCHECK_MSG(::AddDragItemFlavor(dragRef,*itemRef,typeUInt32,&itemID,sizeof(itemID),0) == noErr,false,_("Unable to handle native drag&drop data")); - // if the dataview event object contains data it is used for additional flavors; all natively known flavors are supported: - if (dataViewEvent.GetDataObject() != NULL) - { - // constant definition for abbreviational purposes: - size_t const noOfFormats = dataViewEvent.GetDataObject()->GetFormatCount(); - - if (noOfFormats > 0) - { - // variable definition: - wxDataFormat* dataFormats; - - dataFormats = new wxDataFormat[noOfFormats]; - dataViewEvent.GetDataObject()->GetAllFormats(dataFormats,wxDataObject::Get); - for (size_t i=0; iGetDataSize(wxDF_TEXT); - // variable definition and initialization: - wxMemoryBuffer dataObject(dataSize); - - dataViewEvent.GetDataObject()->GetDataHere(wxDF_TEXT,dataObject.GetWriteBuf(dataSize)); - dataObject.UngetWriteBuf(dataSize); - if (::AddDragItemFlavor(dragRef,*itemRef,'TEXT',dataObject.GetData(),dataSize,0) != noErr) - wxFAIL_MSG(_("Adding flavor TEXT failed")); - } /* block */ - break; - case wxDF_UNICODETEXT: - { - // constant definition for abbreviational purposes: - size_t const dataSize = dataViewEvent.GetDataObject()->GetDataSize(wxDF_TEXT); - // as there is no direct access to the data copy it to a memory buffer: - wxMemoryBuffer dataObject(dataSize); - - dataViewEvent.GetDataObject()->GetDataHere(wxDF_TEXT,dataObject.GetWriteBuf(dataSize)); - dataObject.UngetWriteBuf(dataSize); - // if the data is stored in unicode format the internal representation is utf-8 (not mentioned in the documentation but in the source code); - // DnD uses fixed utf-16 representation -> use the OSX functions for a conversion: - CFDataRef osxData (::CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,reinterpret_cast(dataObject.GetData()),dataSize,kCFAllocatorNull)); - CFStringRef osxString(::CFStringCreateFromExternalRepresentation(kCFAllocatorDefault,osxData,kCFStringEncodingUTF8)); - - // the osxString contains now the data and therefore the previously occupied memory can be released and re-used: - ::CFRelease(osxData); - osxData = ::CFStringCreateExternalRepresentation(kCFAllocatorDefault,osxString,kCFStringEncodingUTF16,32); - if (::AddDragItemFlavor(dragRef,*itemRef,'utxt',::CFDataGetBytePtr(osxData),::CFDataGetLength(osxData),0) != noErr) - wxFAIL_MSG(_("Adding flavor utxt failed")); - // clean up: - ::CFRelease(osxData); - ::CFRelease(osxString); - } /* block */ - break; - case wxDF_BITMAP: - case wxDF_METAFILE: - case wxDF_SYLK: - case wxDF_DIF: - case wxDF_TIFF: - case wxDF_OEMTEXT: - case wxDF_DIB: - case wxDF_PALETTE: - case wxDF_PENDATA: - case wxDF_RIFF: - case wxDF_WAVE: - case wxDF_ENHMETAFILE: - case wxDF_FILENAME: - case wxDF_LOCALE: - case wxDF_PRIVATE: - case wxDF_HTML: - break; // not (yet) supported data formats - default: - wxFAIL_MSG(_("Unknown data format")); - } - delete[] dataFormats; - } - } - } - // clean-up and return result: - delete dataObject; - return addDragItem; -} - -Boolean wxMacDataViewDataBrowserListViewControl::DataBrowserReceiveDragProc(DragReference dragRef, DataBrowserItemID itemID) -{ - UInt16 noOfDraggedItems; - - wxDataViewCtrl* dataViewCtrlPtr; - - - dataViewCtrlPtr = dynamic_cast(GetWXPeer()); - wxCHECK_MSG(dataViewCtrlPtr != NULL, false,_("Pointer to data view control not set correctly.")); - wxCHECK_MSG(dataViewCtrlPtr->GetModel() != NULL,false,_("Pointer to model not set correctly.")); - - // send a drag possible event for each available and item und proceed with it unless the event is vetoed: - ::CountDragItems(dragRef,&noOfDraggedItems); - for (UInt16 indexDraggedItem=1; indexDraggedItem<=noOfDraggedItems; ++indexDraggedItem) - { - bool receiveDrag; - ItemReference itemRef; - wxDataObjectComposite* dataObjects; - wxMemoryBuffer buffer; - - // collect native information: - ::GetDragItemReferenceNumber(dragRef,indexDraggedItem,&itemRef); // the index begins with 1! - dataObjects = GetDnDDataObjects(dragRef,itemRef); - // create wxWidget's event: - wxDataViewEvent dataViewEvent(wxEVT_DATAVIEW_ITEM_DROP,dataViewCtrlPtr->GetId()); - - dataViewEvent.SetEventObject(dataViewCtrlPtr); - - // this is the item that receives the event (can be an invalid item ID, this is - // especially useful if the dataview does not contain any items) - dataViewEvent.SetItem( wxDataViewItem(reinterpret_cast(itemID)) ); - - dataViewEvent.SetModel(dataViewCtrlPtr->GetModel()); - dataViewEvent.SetDataObject(dataObjects); - dataViewEvent.SetDataFormat(GetDnDDataFormat(dataObjects)); - if (dataViewEvent.GetDataFormat().GetType() != wxDF_INVALID) - { - dataViewEvent.SetDataSize(dataObjects->GetDataSize(dataViewEvent.GetDataFormat().GetType())); - dataObjects->GetDataHere(dataViewEvent.GetDataFormat().GetType(),buffer.GetWriteBuf(dataViewEvent.GetDataSize())); - buffer.UngetWriteBuf(dataViewEvent.GetDataSize()); - dataViewEvent.SetDataBuffer(buffer.GetData()); - } - - // send event: - receiveDrag = dataViewCtrlPtr->HandleWindowEvent(dataViewEvent) && dataViewEvent.IsAllowed(); - delete dataObjects; - if (!receiveDrag) - return false; - } - return true; -} - -// -// drag & drop helper methods -// -wxDataFormat wxMacDataViewDataBrowserListViewControl::GetDnDDataFormat(wxDataObjectComposite* dataObjects) -{ - wxDataFormat resultFormat; - - - if (dataObjects != NULL) - { - bool compatible(true); - - size_t const noOfFormats = dataObjects->GetFormatCount(); - size_t indexFormat; - - wxDataFormat* formats; - - // get all formats and check afterwards if the formats are compatible; if they are compatible the preferred format is returned otherwise - // wxDF_INVALID is returned; - // currently compatible types (ordered by priority are): - // - wxDF_UNICODETEXT - wxDF_TEXT - formats = new wxDataFormat[noOfFormats]; - dataObjects->GetAllFormats(formats); - indexFormat = 0; - while ((indexFormat < noOfFormats) && compatible) - { - switch (resultFormat.GetType()) - { - case wxDF_INVALID: - resultFormat.SetType(formats[indexFormat].GetType()); // first format (should only be reached if indexFormat == 0 - break; - case wxDF_TEXT: - if (formats[indexFormat].GetType() == wxDF_UNICODETEXT) - resultFormat.SetType(wxDF_UNICODETEXT); - else // incompatible - { - resultFormat.SetType(wxDF_INVALID); - compatible = false; - } - break; - case wxDF_UNICODETEXT: - if (formats[indexFormat].GetType() != wxDF_TEXT) - { - resultFormat.SetType(wxDF_INVALID); - compatible = false; - } - break; - default: - resultFormat.SetType(wxDF_INVALID); // not (yet) supported format - compatible = false; - } - ++indexFormat; - } /* while */ - // clean up: - delete[] formats; - } - else - resultFormat = wxDF_INVALID; - return resultFormat; -} - -wxDataObjectComposite* wxMacDataViewDataBrowserListViewControl::GetDnDDataObjects(DragReference dragRef, ItemReference itemRef) const -{ - UInt16 noOfFlavors; - - wxDataObjectComposite* dataObject; - - - ::CountDragItemFlavors(dragRef,itemRef,&noOfFlavors); - if (noOfFlavors > 0) - { - // as the native drag data can be separated into TEXT and UTXT a pointer to a wxTextDataObject is used to track the existence of 'TEXT' and 'utxt' flavors: - wxTextDataObject* textDataObject(NULL); - - dataObject = new wxDataObjectComposite(); - for (UInt16 indexFlavor=1; indexFlavor<=noOfFlavors; ++indexFlavor) - { - // variable definition: - FlavorType flavorDataObject; - - if (::GetFlavorType(dragRef,itemRef,indexFlavor,&flavorDataObject) == noErr) // GetFlavorType uses a 1 based index! - switch (flavorDataObject) - { - case 'TEXT': - if (textDataObject == NULL) // otherwise a 'utxt' flavor has already been found that gets priority compared to the 'TEXT' flavor - { - // variable definitions: - Size nativeDataSize; - wxMemoryBuffer nativeData; - - if ((::GetFlavorDataSize(dragRef,itemRef,'TEXT',&nativeDataSize) == noErr) && - (::GetFlavorData(dragRef,itemRef,'TEXT',nativeData.GetWriteBuf(nativeDataSize),&nativeDataSize,0) == noErr)) - { - nativeData.UngetWriteBuf(nativeDataSize); - textDataObject = new wxTextDataObject(); - if (textDataObject->SetData(nativeData.GetDataLen(),nativeData.GetData())) - dataObject->Add(textDataObject); - else - { - wxDELETE(textDataObject); - } - } - } /* block */ - break; - case 'utxt': - { - // variable definition: - Size nativeDataSize; - - if (::GetFlavorDataSize(dragRef,itemRef,'utxt',&nativeDataSize) == noErr) - { - CFMutableDataRef draggedData; - - draggedData = ::CFDataCreateMutable(kCFAllocatorDefault,nativeDataSize); - ::CFDataSetLength(draggedData,nativeDataSize); - if (::GetFlavorData(dragRef,itemRef,'utxt',::CFDataGetMutableBytePtr(draggedData),&nativeDataSize,0) == noErr) - { - // convert internally used UTF-16 representation to a UTF-8 representation: - CFDataRef osxData; - CFStringRef osxString; - - osxString = ::CFStringCreateFromExternalRepresentation(kCFAllocatorDefault,draggedData,kCFStringEncodingUTF16); // BOM character is handled by this function automatically - osxData = ::CFStringCreateExternalRepresentation(kCFAllocatorDefault,osxString,kCFStringEncodingUTF8,32); - if (textDataObject == NULL) - { - textDataObject = new wxTextDataObject(); - if (textDataObject->SetData(::CFDataGetLength(osxData),::CFDataGetBytePtr(osxData))) - dataObject->Add(textDataObject); - else - { - wxDELETE(textDataObject); - } - } - else // overwrite data because the 'utxt' flavor has priority over the 'TEXT' flavor - (void) textDataObject->SetData(::CFDataGetLength(osxData),::CFDataGetBytePtr(osxData)); - // clean up: - ::CFRelease(osxData); - ::CFRelease(osxString); - } - // clean up: - ::CFRelease(draggedData); - } - } /* block */ - break; - } - } - } - else - dataObject = NULL; - return dataObject; -} - -// -// other methods -// -wxDataViewColumn* wxMacDataViewDataBrowserListViewControl::GetColumnPtr(DataBrowserPropertyID propertyID) const -{ - wxDataViewCtrl* dataViewCtrlPtr(dynamic_cast(GetWXPeer())); - - if (dataViewCtrlPtr != NULL) - { - size_t const noOfColumns = dataViewCtrlPtr->GetColumnCount(); - - for (size_t i=0; iGetColumnPtr(i)->GetNativeData()->GetPropertyID() == propertyID) - return dataViewCtrlPtr->GetColumnPtr(i); - } - return NULL; -} - -// --------------------------------------------------------- -// wxDataViewRenderer -// --------------------------------------------------------- -wxDataViewRenderer::wxDataViewRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align) - :wxDataViewRendererBase(varianttype,mode,align), m_alignment(align), m_mode(mode), m_NativeDataPtr(NULL) -{ -} - -wxDataViewRenderer::~wxDataViewRenderer() -{ - delete m_NativeDataPtr; -} - -void wxDataViewRenderer::SetAlignment(int align) -{ - m_alignment = align; -} - -namespace -{ - -// get the browser control or NULL if anything went wrong (it's not supposed to -// so we assert if it did) -wxMacDataViewDataBrowserListViewControl * -GetBrowserFromCol(wxDataViewColumn *col) -{ - wxCHECK_MSG( col, NULL, "should have a valid column" ); - - wxDataViewCtrl * const dvc = col->GetOwner(); - wxCHECK_MSG( dvc, NULL, "column must be associated with the control" ); - - return static_cast(dvc->GetPeer()); -} - -} // anonymous namespace - -void wxDataViewRenderer::SetMode(wxDataViewCellMode mode) -{ - wxDataViewColumn * const col = GetOwner(); - wxMacDataViewDataBrowserListViewControl * const - browser = GetBrowserFromCol(col); - wxCHECK_RET( browser, "must be fully initialized" ); - - const DataBrowserPropertyID colID = col->GetNativeData()->GetPropertyID(); - - DataBrowserPropertyFlags flags; - verify_noerr( browser->GetPropertyFlags(colID, &flags) ); - - if ( (mode == wxDATAVIEW_CELL_EDITABLE) || - (mode == wxDATAVIEW_CELL_ACTIVATABLE) ) - flags |= kDataBrowserPropertyIsEditable; - else - flags &= ~kDataBrowserPropertyIsEditable; - - verify_noerr( browser->SetPropertyFlags(colID, flags) ); -} - -void wxDataViewRenderer::EnableEllipsize(wxEllipsizeMode mode) -{ - wxDataViewColumn * const col = GetOwner(); - - wxMacDataViewDataBrowserListViewControl * const - browser = GetBrowserFromCol(col); - wxCHECK_RET( browser, "must be fully initialized" ); - - const DataBrowserPropertyID colID = col->GetNativeData()->GetPropertyID(); - - DataBrowserPropertyFlags flags; - browser->GetPropertyFlags(colID, &flags); - - flags &= ~(kDataBrowserDoNotTruncateText | - kDataBrowserTruncateTextAtStart | - kDataBrowserTruncateTextMiddle | - kDataBrowserTruncateTextAtEnd); - - int flagToSet = 0; - switch ( mode ) - { - case wxELLIPSIZE_NONE: - flagToSet = kDataBrowserDoNotTruncateText; - break; - - case wxELLIPSIZE_START: - flagToSet = kDataBrowserTruncateTextAtStart; - break; - - case wxELLIPSIZE_MIDDLE: - flagToSet = kDataBrowserTruncateTextMiddle; - break; - - case wxELLIPSIZE_END: - flagToSet = kDataBrowserTruncateTextAtEnd; - break; - } - - wxCHECK_RET( flagToSet, "unknown wxEllipsizeMode value" ); - - flags |= flagToSet; - verify_noerr( browser->SetPropertyFlags(colID, flags) ); -} - -wxEllipsizeMode wxDataViewRenderer::GetEllipsizeMode() const -{ - wxDataViewColumn * const col = GetOwner(); - - wxMacDataViewDataBrowserListViewControl * const - browser = GetBrowserFromCol(col); - wxCHECK_MSG( browser, wxELLIPSIZE_NONE, "must be fully initialized" ); - - const DataBrowserPropertyID colID = col->GetNativeData()->GetPropertyID(); - - DataBrowserPropertyFlags flags; - browser->GetPropertyFlags(colID, &flags); - - if ( flags & kDataBrowserDoNotTruncateText ) - return wxELLIPSIZE_NONE; - if ( flags & kDataBrowserTruncateTextAtStart ) - return wxELLIPSIZE_START; - if ( flags & kDataBrowserTruncateTextAtEnd ) - return wxELLIPSIZE_END; - - // kDataBrowserTruncateTextMiddle == 0 so there is no need to test for it - return wxELLIPSIZE_MIDDLE; -} - -void wxDataViewRenderer::SetNativeData(wxDataViewRendererNativeData* newNativeDataPtr) -{ - delete m_NativeDataPtr; - m_NativeDataPtr = newNativeDataPtr; -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewRenderer, wxDataViewRendererBase); - -// --------------------------------------------------------- -// wxDataViewCustomRenderer -// --------------------------------------------------------- -wxDataViewCustomRenderer::wxDataViewCustomRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align) - :wxDataViewCustomRendererBase(varianttype,mode,align), - m_editorCtrlPtr(NULL), - m_DCPtr(NULL) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserCustomType)); -} - -bool wxDataViewCustomRenderer::MacRender() -{ - return true; -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewCustomRenderer, wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewTextRenderer -// --------------------------------------------------------- -wxDataViewTextRenderer::wxDataViewTextRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align) - :wxDataViewRenderer(varianttype,mode,align) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserTextType)); -} - -bool wxDataViewTextRenderer::MacRender() -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Text renderer cannot render value; value type: ")) << GetValue().GetType()); - - wxCFStringRef cfString(GetValue().GetString(),(GetView()->GetFont().IsOk() ? GetView()->GetFont().GetEncoding() : wxLocale::GetSystemEncoding())); - return (::SetDataBrowserItemDataText(GetNativeData()->GetItemDataRef(),cfString) == noErr); -} - -wxIMPLEMENT_CLASS(wxDataViewTextRenderer,wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewBitmapRenderer -// --------------------------------------------------------- -wxDataViewBitmapRenderer::wxDataViewBitmapRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align) - :wxDataViewRenderer(varianttype,mode,align) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserIconType)); -} - -bool wxDataViewBitmapRenderer::MacRender() - // This method returns 'true' if - // - the passed bitmap is valid and it could be assigned to the native data browser; - // - the passed bitmap is invalid (or is not initialized); this case simulates a non-existing bitmap. - // In all other cases the method returns 'false'. -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Bitmap renderer cannot render value; value type: ")) << GetValue().GetType()); - - wxBitmap bitmap; - - bitmap << GetValue(); - return (!(bitmap.IsOk()) || (::SetDataBrowserItemDataIcon(GetNativeData()->GetItemDataRef(),bitmap.GetIconRef()) == noErr)); -} - -wxIMPLEMENT_CLASS(wxDataViewBitmapRenderer,wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewIconTextRenderer -// --------------------------------------------------------- -wxDataViewIconTextRenderer::wxDataViewIconTextRenderer( - const wxString& varianttype, - wxDataViewCellMode mode, - int WXUNUSED(align)) - :wxDataViewRenderer(varianttype,mode) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserIconAndTextType)); -} - -bool wxDataViewIconTextRenderer::MacRender() -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Icon & text renderer cannot render value; value type: ")) << GetValue().GetType()); - - wxDataViewIconText iconText; - - iconText << GetValue(); - - wxCFStringRef cfString(iconText.GetText(),(GetView()->GetFont().IsOk() ? GetView()->GetFont().GetEncoding() : wxLocale::GetSystemEncoding())); - - if (iconText.GetIcon().IsOk()) - if (::SetDataBrowserItemDataIcon(GetNativeData()->GetItemDataRef(),MAC_WXHICON(iconText.GetIcon().GetHICON())) != noErr) - return false; - return (::SetDataBrowserItemDataText(GetNativeData()->GetItemDataRef(),cfString) == noErr); -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewIconTextRenderer, wxDataViewRenderer); - - -// --------------------------------------------------------- -// wxDataViewToggleRenderer -// --------------------------------------------------------- -wxDataViewToggleRenderer::wxDataViewToggleRenderer( - const wxString& varianttype, - wxDataViewCellMode mode, - int WXUNUSED(align)) - :wxDataViewRenderer(varianttype,mode) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserCheckboxType)); -} - -bool wxDataViewToggleRenderer::MacRender() -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Toggle renderer cannot render value; value type: ")) << GetValue().GetType()); - return (::SetDataBrowserItemDataButtonValue(GetNativeData()->GetItemDataRef(),GetValue().GetBool()) == noErr); -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewToggleRenderer, wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewProgressRenderer -// --------------------------------------------------------- -wxDataViewProgressRenderer::wxDataViewProgressRenderer( - const wxString& WXUNUSED(label), - wxString const& varianttype, - wxDataViewCellMode mode, - int align) - :wxDataViewRenderer(varianttype,mode,align) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserProgressBarType)); -} - -bool wxDataViewProgressRenderer::MacRender() -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Progress renderer cannot render value type; value type: ")) << GetValue().GetType()); - return ((::SetDataBrowserItemDataMinimum(GetNativeData()->GetItemDataRef(), 0) == noErr) && - (::SetDataBrowserItemDataMaximum(GetNativeData()->GetItemDataRef(),100) == noErr) && - (::SetDataBrowserItemDataValue (GetNativeData()->GetItemDataRef(),GetValue().GetLong()) == noErr)); -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewProgressRenderer, wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewDateRenderer -// --------------------------------------------------------- -wxDataViewDateRenderer::wxDataViewDateRenderer(wxString const& varianttype, wxDataViewCellMode mode, int align) - :wxDataViewRenderer(varianttype,mode,align) -{ - SetNativeData(new wxDataViewRendererNativeData(kDataBrowserDateTimeType)); -} - -bool wxDataViewDateRenderer::MacRender() -{ - wxCHECK_MSG(GetValue().GetType() == GetVariantType(),false,wxString(_("Date renderer cannot render value; value type: ")) << GetValue().GetType()); - return (::SetDataBrowserItemDataDateTime(GetNativeData()->GetItemDataRef(),GetValue().GetDateTime().Subtract(wxDateTime(1,wxDateTime::Jan,1904)).GetSeconds().GetLo()) == noErr); -} - -wxIMPLEMENT_ABSTRACT_CLASS(wxDataViewDateRenderer, wxDataViewRenderer); - -// --------------------------------------------------------- -// wxDataViewColumn -// --------------------------------------------------------- -wxDataViewColumn::wxDataViewColumn(const wxString& title, wxDataViewRenderer* renderer, unsigned int model_column, int width, wxAlignment align, int flags) - :wxDataViewColumnBase(renderer, model_column), m_NativeDataPtr(new wxDataViewColumnNativeData()), m_title(title) -{ - InitCommon(width, align, flags); - if ((renderer != NULL) && !renderer->IsCustomRenderer() && - (renderer->GetAlignment() == wxDVR_DEFAULT_ALIGNMENT)) - renderer->SetAlignment(align); -} - -wxDataViewColumn::wxDataViewColumn(const wxBitmap& bitmap, wxDataViewRenderer* renderer, unsigned int model_column, int width, wxAlignment align, int flags) - :wxDataViewColumnBase(bitmap, renderer, model_column), m_NativeDataPtr(new wxDataViewColumnNativeData()) -{ - InitCommon(width, align, flags); - if ((renderer != NULL) && !renderer->IsCustomRenderer() && - (renderer->GetAlignment() == wxDVR_DEFAULT_ALIGNMENT)) - renderer->SetAlignment(align); -} - -wxDataViewColumn::~wxDataViewColumn() -{ - delete m_NativeDataPtr; -} - -int wxDataViewColumn::GetWidth() const -{ - // FIXME: This returns the last programmatically set width and will not work if - // the user changes the column's width by dragging it with the mouse. - return m_width; -} - -bool wxDataViewColumn::IsSortKey() const -{ - wxDataViewCtrl * const dataViewCtrlPtr(GetOwner()); - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr( - dynamic_cast( - dataViewCtrlPtr->GetPeer())); - - DataBrowserPropertyID propertyID; - return (macDataViewListCtrlPtr->GetSortProperty(&propertyID) == noErr) && - (propertyID == GetNativeData()->GetPropertyID()); -} - -void wxDataViewColumn::SetAlignment(wxAlignment align) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - m_alignment = align; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - wxCHECK_RET(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not get header description.")); - switch (align) - { - case wxALIGN_CENTER: - case wxALIGN_CENTER_HORIZONTAL: - headerDescription.btnFontStyle.just = teCenter; - break; - case wxALIGN_LEFT: - headerDescription.btnFontStyle.just = teFlushLeft; - break; - case wxALIGN_RIGHT: - headerDescription.btnFontStyle.just = teFlushRight; - break; - default: - headerDescription.btnFontStyle.just = teFlushDefault; - } - wxCHECK_RET(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not set alignment.")); - } - } -} - -void wxDataViewColumn::SetBitmap(wxBitmap const& bitmap) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - wxDataViewColumnBase::SetBitmap(bitmap); - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - wxCHECK_RET(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not get header description.")); - if (GetBitmap().IsOk()) - headerDescription.btnContentInfo.u.iconRef = GetBitmap().GetIconRef(); - else - headerDescription.btnContentInfo.u.iconRef = NULL; - wxCHECK_RET(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not set icon.")); - } - } -} - -void wxDataViewColumn::SetMaxWidth(int maxWidth) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - m_maxWidth = maxWidth; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - wxCHECK_RET(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not get header description.")); - headerDescription.maximumWidth = static_cast(maxWidth); - wxCHECK_RET(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not set maximum width.")); - } - } -} - -void wxDataViewColumn::SetMinWidth(int minWidth) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - m_minWidth = minWidth; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - wxCHECK_RET(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not get header description.")); - headerDescription.minimumWidth = static_cast(minWidth); - wxCHECK_RET(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not set minimum width.")); - } - } -} - -void wxDataViewColumn::SetReorderable(bool reorderable) -{ - // first set the internal flag of the column: - if (reorderable) - m_flags |= wxDATAVIEW_COL_REORDERABLE; - else - m_flags &= ~wxDATAVIEW_COL_REORDERABLE; - // if the column is associated with a control change also immediately the flags of the control: - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - if (dataViewCtrlPtr != NULL) - { - DataBrowserPropertyFlags flags; - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - wxCHECK_RET(macDataViewListCtrlPtr != NULL, _("Valid pointer to native data view control does not exist")); - wxCHECK_RET(macDataViewListCtrlPtr->GetPropertyFlags(GetNativeData()->GetPropertyID(),&flags) == noErr,_("Could not get property flags.")); - if (reorderable) - flags |= kDataBrowserListViewMovableColumn; - else - flags &= ~kDataBrowserListViewMovableColumn; - wxCHECK_RET(macDataViewListCtrlPtr->SetPropertyFlags(GetNativeData()->GetPropertyID(),flags) == noErr,_("Could not set property flags.")); - } -} - -void wxDataViewColumn::SetResizeable(bool resizable) -{ - // first set the internal flag of the column: - if (resizable) - m_flags |= wxDATAVIEW_COL_RESIZABLE; - else - m_flags &= ~wxDATAVIEW_COL_RESIZABLE; - // if the column is associated with a control change also immediately the flags of the control: - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - verify_noerr(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription)); - if (resizable) - { - if (GetMinWidth() >= GetMaxWidth()) - { - m_minWidth = 0; - m_maxWidth = 30000; - } - headerDescription.minimumWidth = m_minWidth; - headerDescription.maximumWidth = m_maxWidth; - } - else - { - headerDescription.minimumWidth = m_width; - headerDescription.maximumWidth = m_width; - } - verify_noerr(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription)); - macDataViewListCtrlPtr->SetSortProperty(GetNativeData()->GetPropertyID()); - } - } -} - -void wxDataViewColumn::SetSortable(bool sortable) -{ - // first set the internal flag of the column: - if (sortable) - m_flags |= wxDATAVIEW_COL_SORTABLE; - else - m_flags &= ~wxDATAVIEW_COL_SORTABLE; - // if the column is associated with a control change also immediately the flags of the control: - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - if (dataViewCtrlPtr != NULL) - { - DataBrowserPropertyFlags flags; - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - wxCHECK_RET(macDataViewListCtrlPtr != NULL, _("Valid pointer to native data view control does not exist")); - wxCHECK_RET(macDataViewListCtrlPtr->GetPropertyFlags(GetNativeData()->GetPropertyID(),&flags) == noErr,_("Could not get property flags.")); - if (sortable) - flags |= kDataBrowserListViewSortableColumn; - else - flags &= ~kDataBrowserListViewSortableColumn; - wxCHECK_RET(macDataViewListCtrlPtr->SetPropertyFlags(GetNativeData()->GetPropertyID(),flags) == noErr,_("Could not set property flags.")); - } -} - -void wxDataViewColumn::SetSortOrder(bool ascending) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - m_ascending = ascending; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - - verify_noerr(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription)); - if (ascending) - headerDescription.initialOrder = kDataBrowserOrderIncreasing; - else - headerDescription.initialOrder = kDataBrowserOrderDecreasing; - verify_noerr(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription)); - macDataViewListCtrlPtr->SetSortProperty(GetNativeData()->GetPropertyID()); - } - } -} - -void wxDataViewColumn::SetTitle(wxString const& title) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - - m_title = title; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - { - DataBrowserListViewHeaderDesc headerDescription; - wxCFStringRef cfTitle(title,(dataViewCtrlPtr->GetFont().IsOk() ? dataViewCtrlPtr->GetFont().GetEncoding() : wxLocale::GetSystemEncoding())); - - wxCHECK_RET(macDataViewListCtrlPtr->GetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not get header description.")); - headerDescription.titleString = cfTitle; - wxCHECK_RET(macDataViewListCtrlPtr->SetHeaderDesc(GetNativeData()->GetPropertyID(),&headerDescription) == noErr,_("Could not set header description.")); - } - } -} - -void wxDataViewColumn::SetWidth(int width) -{ - wxDataViewCtrl* dataViewCtrlPtr(GetOwner()); - - switch ( width ) - { - case wxCOL_WIDTH_AUTOSIZE: - // not implemented, fall through - case wxCOL_WIDTH_DEFAULT: - width = wxDVC_DEFAULT_WIDTH; - break; - default: - break; - } - - if ((width >= m_minWidth) && (width <= m_maxWidth)) - { - m_width = width; - if (dataViewCtrlPtr != NULL) - { - wxMacDataViewDataBrowserListViewControlPointer macDataViewListCtrlPtr(dynamic_cast(dataViewCtrlPtr->GetPeer())); - - if (macDataViewListCtrlPtr != NULL) - wxCHECK_RET(macDataViewListCtrlPtr->SetColumnWidth(GetNativeData()->GetPropertyID(),static_cast(width)) == noErr,_("Could not set column width.")); - } - } -} - -void wxDataViewColumn::SetHidden(bool WXUNUSED(hidden)) -{ - // How to do that? -} - -bool wxDataViewColumn::IsHidden() const -{ - return true; -} - - -void wxDataViewColumn::SetNativeData(wxDataViewColumnNativeData* newNativeDataPtr) -{ - delete m_NativeDataPtr; - m_NativeDataPtr = newNativeDataPtr; -} - -#endif // wxUSE_DATAVIEWCTRL && !wxUSE_GENERICDATAVIEWCTRL diff --git a/src/osx/carbon/dcclient.cpp b/src/osx/carbon/dcclient.cpp index 7897dcf023..1ef4792d12 100644 --- a/src/osx/carbon/dcclient.cpp +++ b/src/osx/carbon/dcclient.cpp @@ -105,46 +105,6 @@ void wxWindowDCImpl::DoGetSize( int* width, int* height ) const *height = m_height; } -#if wxOSX_USE_CARBON -wxBitmap wxWindowDCImpl::DoGetAsBitmap(const wxRect *subrect) const -{ - // wxScreenDC is derived from wxWindowDC, so a screen dc will - // call this method when a Blit is performed with it as a source. - if (!m_window) - return wxNullBitmap; - - ControlRef handle = (ControlRef) m_window->GetHandle(); - if ( !handle ) - return wxNullBitmap; - - HIRect rect; - CGImageRef image; - CGContextRef context; - - HIViewCreateOffscreenImage( handle, 0, &rect, &image); - - - int width = subrect != NULL ? subrect->width : (int)rect.size.width; - int height = subrect != NULL ? subrect->height : (int)rect.size.height ; - - wxBitmap bmp = wxBitmap(width, height, 32); - - context = (CGContextRef)bmp.GetHBITMAP(); - - CGContextSaveGState(context); - - CGContextTranslateCTM( context, 0, height ); - CGContextScaleCTM( context, 1, -1 ); - - if ( subrect ) - rect = CGRectOffset( rect, -subrect->x, -subrect->y ) ; - CGContextDrawImage( context, rect, image ); - - CGContextRestoreGState(context); - return bmp; -} -#endif - /* * wxClientDCImpl */ diff --git a/src/osx/carbon/dialog.cpp b/src/osx/carbon/dialog.cpp deleted file mode 100644 index 14f3968e60..0000000000 --- a/src/osx/carbon/dialog.cpp +++ /dev/null @@ -1,40 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/dialog.cpp -// Purpose: wxDialog class -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/dialog.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/frame.h" - #include "wx/settings.h" -#endif // WX_PRECOMP - -#include "wx/osx/private.h" -#include "wx/evtloop.h" - -void wxDialog::EndWindowModal() -{ - // Nothing to do for now. -} - -void wxDialog::DoShowWindowModal() -{ - // If someone wants to add support for this to wxOSX Carbon, here would - // be the place to start: http://trac.wxwidgets.org/ticket/9459 - // Unfortunately, supporting sheets in Carbon isn't as straightforward - // as with Cocoa, so it will probably take some tweaking. - - m_modality = wxDIALOG_MODALITY_APP_MODAL; - ShowModal(); - SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED ); -} diff --git a/src/osx/carbon/dirdlg.cpp b/src/osx/carbon/dirdlg.cpp deleted file mode 100644 index 081dc57a5c..0000000000 --- a/src/osx/carbon/dirdlg.cpp +++ /dev/null @@ -1,148 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/dirdlg.cpp -// Purpose: wxDirDialog -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_DIRDLG && !defined(__WXUNIVERSAL__) - -#include "wx/dirdlg.h" - -#ifndef WX_PRECOMP - #include "wx/utils.h" - #include "wx/dialog.h" -#endif // WX_PRECOMP - -#include "wx/filename.h" -#include "wx/modalhook.h" - -#include "wx/osx/private.h" - -wxIMPLEMENT_CLASS(wxDirDialog, wxDialog); - -static pascal void NavEventProc( - NavEventCallbackMessage inSelector, - NavCBRecPtr ioParams, - NavCallBackUserData ioUserData ); - -static NavEventUPP sStandardNavEventFilter = NewNavEventUPP(NavEventProc); - -static pascal void NavEventProc( - NavEventCallbackMessage inSelector, - NavCBRecPtr ioParams, - NavCallBackUserData ioUserData ) -{ - wxDirDialog * data = ( wxDirDialog *) ioUserData ; - if ( inSelector == kNavCBStart ) - { - if (data && !data->GetPath().empty() ) - { - // Set default location for the modern Navigation APIs - // Apple Technical Q&A 1151 - FSRef theFile; - wxMacPathToFSRef(data->GetPath(), &theFile); - AEDesc theLocation = { typeNull, NULL }; - if (noErr == ::AECreateDesc(typeFSRef, &theFile, sizeof(FSRef), &theLocation)) - ::NavCustomControl(ioParams->context, kNavCtlSetLocation, (void *) &theLocation); - } - } -} - -void wxDirDialog::Init() -{ -} - -void wxDirDialog::Create(wxWindow *parent, - const wxString& message, - const wxString& defaultPath, - long style, - const wxPoint& WXUNUSED(pos), - const wxSize& WXUNUSED(size), - const wxString& WXUNUSED(name)) -{ - wxASSERT_MSG( NavServicesAvailable() , wxT("Navigation Services are not running") ) ; - m_parent = parent; - - SetMessage( message ); - SetWindowStyle(style); - SetPath(defaultPath); -} - -int wxDirDialog::ShowModal() -{ - WX_HOOK_MODAL_DIALOG(); - - NavDialogRef dialog = NULL; - NavDialogCreationOptions options; - NavReplyRecord reply ; - bool disposeReply = false ; - OSStatus err = noErr; - - err = NavGetDefaultDialogCreationOptions(&options); - options.optionFlags &= ~kNavAllowMultipleFiles; - if (err == noErr) - { - wxCFStringRef message(m_message, GetFont().GetEncoding()); - options.message = message; - err = NavCreateChooseFolderDialog(&options, sStandardNavEventFilter , NULL, this , &dialog); - if (err == noErr) - { - wxDialog::OSXBeginModalDialog(); - err = NavDialogRun(dialog); - wxDialog::OSXEndModalDialog(); - if ( err == noErr ) - { - err = NavDialogGetReply(dialog, &reply); - disposeReply = true ; - } - } - } - - if ( err == noErr ) - { - if ( reply.validRecord ) - { - FSRef folderInfo; - AEDesc specDesc ; - - OSErr err = ::AECoerceDesc( &reply.selection , typeFSRef, &specDesc); - if ( err != noErr ) - { - m_path = wxEmptyString ; - } - else - { - folderInfo = **(FSRef**) specDesc.dataHandle; - m_path = wxMacFSRefToPath( &folderInfo ) ; - if (specDesc.dataHandle != nil) - { - ::AEDisposeDesc(&specDesc); - } - } - } - else - { - err = paramErr ; // could be any error, only used for giving back wxID_CANCEL - } - } - - if ( disposeReply ) - ::NavDisposeReply(&reply); - - // apparently cancelling shouldn't change m_path - if ( err != noErr && err != userCanceledErr ) - m_path = wxEmptyString ; - - if ( dialog ) - ::NavDialogDispose(dialog); - - return (err == noErr) ? wxID_OK : wxID_CANCEL ; -} - -#endif diff --git a/src/osx/carbon/dnd.cpp b/src/osx/carbon/dnd.cpp deleted file mode 100644 index 7310caed04..0000000000 --- a/src/osx/carbon/dnd.cpp +++ /dev/null @@ -1,422 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/dnd.cpp -// Purpose: wxDropTarget, wxDropSource implementations -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) 1998 Stefan Csomor -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_DRAG_AND_DROP - -#include "wx/dnd.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/toplevel.h" - #include "wx/gdicmn.h" -#endif // WX_PRECOMP - -#include "wx/osx/private.h" - -// ---------------------------------------------------------------------------- -// globals -// ---------------------------------------------------------------------------- - -typedef struct -{ - wxWindow *m_currentTargetWindow; - wxDropTarget *m_currentTarget; - wxDropSource *m_currentSource; - wxDragResult m_result; - int m_flags; -} MacTrackingGlobals; - -MacTrackingGlobals gTrackingGlobals; - -void wxMacEnsureTrackingHandlersInstalled(); - -OSStatus wxMacPromiseKeeper(PasteboardRef WXUNUSED(inPasteboard), - PasteboardItemID WXUNUSED(inItem), - CFStringRef WXUNUSED(inFlavorType), - void * WXUNUSED(inContext)) -{ - OSStatus err = noErr; - - // we might add promises here later, inContext is the wxDropSource* - - return err; -} - -wxDropTarget::wxDropTarget( wxDataObject *data ) - : wxDropTargetBase( data ) -{ - wxMacEnsureTrackingHandlersInstalled(); -} - - -//------------------------------------------------------------------------- -// wxDropSource -//------------------------------------------------------------------------- - -wxDropSource::wxDropSource(wxWindow *win, - const wxCursor &cursorCopy, - const wxCursor &cursorMove, - const wxCursor &cursorStop) - : wxDropSourceBase(cursorCopy, cursorMove, cursorStop) -{ - wxMacEnsureTrackingHandlersInstalled(); - - m_window = win; -} - -wxDropSource* wxDropSource::GetCurrentDropSource() -{ - return gTrackingGlobals.m_currentSource; -} - -wxDropSource::wxDropSource(wxDataObject& data, - wxWindow *win, - const wxCursor &cursorCopy, - const wxCursor &cursorMove, - const wxCursor &cursorStop) - : wxDropSourceBase(cursorCopy, cursorMove, cursorStop) -{ - wxMacEnsureTrackingHandlersInstalled(); - - SetData( data ); - m_window = win; -} - -wxDragResult wxDropSource::DoDragDrop(int flags) -{ - wxASSERT_MSG( m_data, wxT("Drop source: no data") ); - - if ((m_data == NULL) || (m_data->GetFormatCount() == 0)) - return (wxDragResult)wxDragNone; - - DragReference theDrag; - RgnHandle dragRegion; - OSStatus err = noErr; - PasteboardRef pasteboard; - - // add data to drag - - err = PasteboardCreate( kPasteboardUniqueName, &pasteboard ); - if ( err != noErr ) - return wxDragNone; - - // we add a dummy promise keeper because of strange messages when linking against carbon debug - err = PasteboardSetPromiseKeeper( pasteboard, wxMacPromiseKeeper, this ); - if ( err != noErr ) - { - CFRelease( pasteboard ); - return wxDragNone; - } - - err = PasteboardClear( pasteboard ); - if ( err != noErr ) - { - CFRelease( pasteboard ); - return wxDragNone; - } - PasteboardSynchronize( pasteboard ); - - m_data->AddToPasteboard( pasteboard, 1 ); - - if (NewDragWithPasteboard( pasteboard , &theDrag) != noErr) - { - CFRelease( pasteboard ); - return wxDragNone; - } - - dragRegion = NewRgn(); - RgnHandle tempRgn = NewRgn(); - - EventRecord rec; - ConvertEventRefToEventRecord( (EventRef) wxTheApp->MacGetCurrentEvent(), &rec ); - - const short dragRegionOuterBoundary = 10; - const short dragRegionInnerBoundary = 9; - - SetRectRgn( - dragRegion, - rec.where.h - dragRegionOuterBoundary, - rec.where.v - dragRegionOuterBoundary, - rec.where.h + dragRegionOuterBoundary, - rec.where.v + dragRegionOuterBoundary ); - - SetRectRgn( - tempRgn, - rec.where.h - dragRegionInnerBoundary, - rec.where.v - dragRegionInnerBoundary, - rec.where.h + dragRegionInnerBoundary, - rec.where.v + dragRegionInnerBoundary ); - - DiffRgn( dragRegion, tempRgn, dragRegion ); - DisposeRgn( tempRgn ); - - // TODO: work with promises in order to return data - // only when drag was successfully completed - - gTrackingGlobals.m_currentSource = this; - gTrackingGlobals.m_result = wxDragNone; - gTrackingGlobals.m_flags = flags; - - err = TrackDrag( theDrag, &rec, dragRegion ); - - DisposeRgn( dragRegion ); - DisposeDrag( theDrag ); - CFRelease( pasteboard ); - gTrackingGlobals.m_currentSource = NULL; - - return gTrackingGlobals.m_result; -} - -bool gTrackingGlobalsInstalled = false; - -// passing the globals via refcon is not needed by the CFM and later architectures anymore -// but I'll leave it in there, just in case... - -pascal OSErr wxMacWindowDragTrackingHandler( - DragTrackingMessage theMessage, WindowPtr theWindow, - void *handlerRefCon, DragReference theDrag ); -pascal OSErr wxMacWindowDragReceiveHandler( - WindowPtr theWindow, void *handlerRefCon, - DragReference theDrag ); - -void wxMacEnsureTrackingHandlersInstalled() -{ - if ( !gTrackingGlobalsInstalled ) - { - OSStatus err; - - err = InstallTrackingHandler( NewDragTrackingHandlerUPP(wxMacWindowDragTrackingHandler), 0L, &gTrackingGlobals ); - verify_noerr( err ); - - err = InstallReceiveHandler( NewDragReceiveHandlerUPP(wxMacWindowDragReceiveHandler), 0L, &gTrackingGlobals ); - verify_noerr( err ); - - gTrackingGlobalsInstalled = true; - } -} - -pascal OSErr wxMacWindowDragTrackingHandler( - DragTrackingMessage theMessage, WindowPtr theWindow, - void *handlerRefCon, DragReference theDrag ) -{ - MacTrackingGlobals* trackingGlobals = (MacTrackingGlobals*) handlerRefCon; - - Point mouse, localMouse; - DragAttributes attributes; - - GetDragAttributes( theDrag, &attributes ); - PasteboardRef pasteboard = 0; - GetDragPasteboard( theDrag, &pasteboard ); - wxNonOwnedWindow* toplevel = wxNonOwnedWindow::GetFromWXWindow( (WXWindow) theWindow ); - - bool optionDown = GetCurrentKeyModifiers() & optionKey; - wxDragResult result = optionDown ? wxDragCopy : wxDragMove; - - switch (theMessage) - { - case kDragTrackingEnterHandler: - case kDragTrackingLeaveHandler: - break; - - case kDragTrackingEnterWindow: - if (trackingGlobals != NULL) - { - trackingGlobals->m_currentTargetWindow = NULL; - trackingGlobals->m_currentTarget = NULL; - } - break; - - case kDragTrackingInWindow: - if (trackingGlobals == NULL) - break; - if (toplevel == NULL) - break; - - GetDragMouse( theDrag, &mouse, 0L ); - { - int x = mouse.h ; - int y = mouse.v ; - toplevel->GetNonOwnedPeer()->ScreenToWindow( &x, &y ); - localMouse.h = x; - localMouse.v = y; - - { - wxWindow *win = NULL; - ControlPartCode controlPart; - ControlRef control = FindControlUnderMouse( localMouse, theWindow, &controlPart ); - if ( control ) - win = wxFindWindowFromWXWidget( (WXWidget) control ); - else - win = toplevel; - - int localx, localy; - localx = localMouse.h; - localy = localMouse.v; - - if ( win ) - win->MacRootWindowToWindow( &localx, &localy ); - if ( win != trackingGlobals->m_currentTargetWindow ) - { - if ( trackingGlobals->m_currentTargetWindow ) - { - // this window is left - if ( trackingGlobals->m_currentTarget ) - { - HideDragHilite( theDrag ); - trackingGlobals->m_currentTarget->SetCurrentDragPasteboard( pasteboard ); - trackingGlobals->m_currentTarget->OnLeave(); - trackingGlobals->m_currentTarget = NULL; - trackingGlobals->m_currentTargetWindow = NULL; - } - } - - if ( win ) - { - // this window is entered - trackingGlobals->m_currentTargetWindow = win; - trackingGlobals->m_currentTarget = win->GetDropTarget(); - { - if ( trackingGlobals->m_currentTarget ) - { - trackingGlobals->m_currentTarget->SetCurrentDragPasteboard( pasteboard ); - result = trackingGlobals->m_currentTarget->OnEnter( localx, localy, result ); - } - - if ( result != wxDragNone ) - { - int x, y; - - x = y = 0; - win->MacWindowToRootWindow( &x, &y ); - RgnHandle hiliteRgn = NewRgn(); - Rect r = { y, x, y + win->GetSize().y, x + win->GetSize().x }; - RectRgn( hiliteRgn, &r ); - ShowDragHilite( theDrag, hiliteRgn, true ); - DisposeRgn( hiliteRgn ); - } - } - } - } - else - { - if ( trackingGlobals->m_currentTarget ) - { - trackingGlobals->m_currentTarget->SetCurrentDragPasteboard( pasteboard ); - result = trackingGlobals->m_currentTarget->OnDragOver( localx, localy, result ); - } - } - - // set cursor for OnEnter and OnDragOver - if ( trackingGlobals->m_currentSource && !trackingGlobals->m_currentSource->GiveFeedback( result ) ) - { - if ( !trackingGlobals->m_currentSource->MacInstallDefaultCursor( result ) ) - { - wxStockCursor cursorID = wxCURSOR_NONE; - - switch (result) - { - case wxDragCopy: - cursorID = wxCURSOR_COPY_ARROW; - break; - - case wxDragMove: - cursorID = wxCURSOR_ARROW; - break; - - case wxDragNone: - cursorID = wxCURSOR_NO_ENTRY; - break; - - case wxDragError: - case wxDragLink: - case wxDragCancel: - default: - // put these here to make gcc happy - ; - } - - if (cursorID != wxCURSOR_NONE) - { - wxCursor cursor( cursorID ); - cursor.MacInstall(); - } - } - } - } - } - break; - - case kDragTrackingLeaveWindow: - if (trackingGlobals == NULL) - break; - - if (trackingGlobals->m_currentTarget) - { - trackingGlobals->m_currentTarget->SetCurrentDragPasteboard( pasteboard ); - trackingGlobals->m_currentTarget->OnLeave(); - HideDragHilite( theDrag ); - trackingGlobals->m_currentTarget = NULL; - } - trackingGlobals->m_currentTargetWindow = NULL; - break; - - default: - break; - } - - return noErr; -} - -pascal OSErr wxMacWindowDragReceiveHandler( - WindowPtr theWindow, - void *handlerRefCon, - DragReference theDrag) -{ - MacTrackingGlobals* trackingGlobals = (MacTrackingGlobals*)handlerRefCon; - if ( trackingGlobals->m_currentTarget ) - { - Point mouse, localMouse; - int localx, localy; - - PasteboardRef pasteboard = 0; - GetDragPasteboard( theDrag, &pasteboard ); - trackingGlobals->m_currentTarget->SetCurrentDragPasteboard( pasteboard ); - GetDragMouse( theDrag, &mouse, 0L ); - localMouse = mouse; - localx = localMouse.h; - localy = localMouse.v; - wxNonOwnedWindow* tlw = wxNonOwnedWindow::GetFromWXWindow((WXWindow) theWindow); - if ( tlw ) - tlw->GetNonOwnedPeer()->ScreenToWindow( &localx, &localy ); - - // TODO : should we use client coordinates? - if ( trackingGlobals->m_currentTargetWindow ) - trackingGlobals->m_currentTargetWindow->MacRootWindowToWindow( &localx, &localy ); - if ( trackingGlobals->m_currentTarget->OnDrop( localx, localy ) ) - { - // the option key indicates copy in Mac UI, if it's not pressed do - // move by default if it's allowed at all - wxDragResult - result = !(trackingGlobals->m_flags & wxDrag_AllowMove) || - (GetCurrentKeyModifiers() & optionKey) - ? wxDragCopy - : wxDragMove; - trackingGlobals->m_result = - trackingGlobals->m_currentTarget->OnData( localx, localy, result ); - } - } - - return noErr; -} - -#endif // wxUSE_DRAG_AND_DROP - diff --git a/src/osx/carbon/drawer.cpp b/src/osx/carbon/drawer.cpp deleted file mode 100644 index 48f521b0ae..0000000000 --- a/src/osx/carbon/drawer.cpp +++ /dev/null @@ -1,198 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/drawer.cpp -// Purpose: Drawer child window classes. -// Drawer windows appear under their parent window and -// behave like a drawer, opening and closing to reveal -// content that does not need to be visible at all times. -// Author: Jason Bagley -// Modified by: Ryan Norton (To make it work :), plus bug fixes) -// Created: 2004-30-01 -// Copyright: (c) Jason Bagley; Art & Logic, Inc. -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/osx/private.h" - -#if defined( __WXMAC__ ) - -#include "wx/osx/carbon/drawer.h" - -wxIMPLEMENT_DYNAMIC_CLASS(wxDrawerWindow, wxWindow); - -// Use constants for now. -// These can be made into member variables and set dynamically. -const int kLeadingOffset = 20; -const int kTrailingOffset = 20; - - -// Converts Mac window edge constants to wxDirections, wxLEFT, wxRIGHT, etc. -static wxDirection WindowEdgeToDirection(OptionBits edge); - -// Convert wxDirections to MAc window edge constants. -static OptionBits DirectionToWindowEdge(wxDirection direction); - - -wxDrawerWindow::wxDrawerWindow() -{ -} - -wxDrawerWindow::~wxDrawerWindow() -{ - SendDestroyEvent(); - Show(FALSE); -} - -bool wxDrawerWindow::Create(wxWindow *parent, - wxWindowID id, const wxString& WXUNUSED(title), - wxSize size, wxDirection edge, const wxString& name) -{ - wxASSERT_MSG(NULL != parent, wxT("wxDrawerWindows must be attached to a parent window.")); - - // Constrain the drawer size to the parent window. - const wxSize parentSize(parent->GetClientSize()); - if (wxLEFT == edge || wxRIGHT == edge) - { - if (size.GetHeight() > parentSize.GetHeight()) - size.SetHeight(parentSize.GetHeight() - (kLeadingOffset + kTrailingOffset)); - } - else - { - if (size.GetWidth() > parentSize.GetWidth()) - size.SetWidth(parentSize.GetWidth() - (kLeadingOffset + kTrailingOffset)); - } - - // Create the drawer window. - const wxPoint pos(0, 0); - const wxSize dummySize(0,0); - const long style = wxFRAME_DRAWER; - - bool success = wxNonOwnedWindow::Create(parent, id, pos, size, style, name); - if (success) - { - // this->MacCreateRealWindow(pos, size, style, name); - success = (GetWXWindow() != NULL); - } - - if (success) - { - // Use drawer brush. - SetBackgroundColour( wxColour( wxMacCreateCGColorFromHITheme( kThemeBrushDrawerBackground ) ) ); - ::SetThemeWindowBackground((WindowRef)GetWXWindow(), kThemeBrushDrawerBackground, false); - - // Leading and trailing offset are gaps from parent window edges - // to where the drawer starts. - ::SetDrawerOffsets((WindowRef)GetWXWindow() , kLeadingOffset, kTrailingOffset); - - // Set the drawers parent. - // Is there a better way to get the parent's WindowRef? - wxTopLevelWindow* tlwParent = wxDynamicCast(parent, wxTopLevelWindow); - if (NULL != tlwParent) - { - OSStatus status = ::SetDrawerParent((WindowRef) GetWXWindow(), - (WindowRef)tlwParent->GetWXWindow()); - success = (noErr == status); - } - else - success = false; - } - - return success && SetPreferredEdge(edge); -} - -wxDirection wxDrawerWindow::GetCurrentEdge() const -{ - const OptionBits edge = ::GetDrawerCurrentEdge((WindowRef)GetWXWindow()); - return WindowEdgeToDirection(edge); -} - -wxDirection wxDrawerWindow::GetPreferredEdge() const -{ - const OptionBits edge = ::GetDrawerPreferredEdge((WindowRef)GetWXWindow()); - return WindowEdgeToDirection(edge); -} - -bool wxDrawerWindow::IsOpen() const -{ - WindowDrawerState state = ::GetDrawerState((WindowRef)GetWXWindow()); - return (state == kWindowDrawerOpen || state == kWindowDrawerOpening); -} - -bool wxDrawerWindow::Open(bool show) -{ - static const Boolean kAsynchronous = true; - OSStatus status = noErr; - - if (show) - { - const OptionBits preferredEdge = ::GetDrawerPreferredEdge((WindowRef)GetWXWindow()); - status = ::OpenDrawer((WindowRef)GetWXWindow(), preferredEdge, kAsynchronous); - } - else - status = ::CloseDrawer((WindowRef)GetWXWindow(), kAsynchronous); - - return (noErr == status); -} - -bool wxDrawerWindow::SetPreferredEdge(wxDirection edge) -{ - const OSStatus status = ::SetDrawerPreferredEdge((WindowRef)GetWXWindow(), - DirectionToWindowEdge(edge)); - return (noErr == status); -} - - -OptionBits DirectionToWindowEdge(wxDirection direction) -{ - OptionBits edge; - switch (direction) - { - case wxTOP: - edge = kWindowEdgeTop; - break; - - case wxBOTTOM: - edge = kWindowEdgeBottom; - break; - - case wxRIGHT: - edge = kWindowEdgeRight; - break; - - case wxLEFT: - default: - edge = kWindowEdgeLeft; - break; - } - return edge; -} - -wxDirection WindowEdgeToDirection(OptionBits edge) -{ - wxDirection direction; - switch (edge) - { - case kWindowEdgeTop: - direction = wxTOP; - break; - - case kWindowEdgeBottom: - direction = wxBOTTOM; - break; - - case kWindowEdgeRight: - direction = wxRIGHT; - break; - - case kWindowEdgeDefault: // store current preferred and return that here? - case kWindowEdgeLeft: - default: - direction = wxLEFT; - break; - } - - return direction; -} - -#endif // defined( __WXMAC__ ) diff --git a/src/osx/carbon/evtloop.cpp b/src/osx/carbon/evtloop.cpp deleted file mode 100644 index 70cda830f4..0000000000 --- a/src/osx/carbon/evtloop.cpp +++ /dev/null @@ -1,184 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/evtloop.cpp -// Purpose: implementation of wxEventLoop for wxMac -// Author: Vadim Zeitlin -// Modified by: -// Created: 2006-01-12 -// Copyright: (c) 2006 Vadim Zeitlin -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// for compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#include "wx/evtloop.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/log.h" -#endif // WX_PRECOMP - -#if wxUSE_GUI -#include "wx/nonownedwnd.h" -#endif - -#include "wx/osx/private.h" - -// ============================================================================ -// wxEventLoop implementation -// ============================================================================ - -wxGUIEventLoop::wxGUIEventLoop() -{ -} - -static void DispatchAndReleaseEvent(EventRef theEvent) -{ - if ( wxTheApp ) - wxTheApp->MacSetCurrentEvent( theEvent, NULL ); - - OSStatus status = SendEventToEventTarget(theEvent, GetEventDispatcherTarget()); - if (status == eventNotHandledErr && wxTheApp) - wxTheApp->MacHandleUnhandledEvent(theEvent); - - ReleaseEvent( theEvent ); -} - -int wxGUIEventLoop::DoDispatchTimeout(unsigned long timeout) -{ - wxMacAutoreleasePool autoreleasepool; - - EventRef event; - OSStatus status = ReceiveNextEvent(0, NULL, timeout/1000, true, &event); - switch ( status ) - { - default: - wxFAIL_MSG( "unexpected ReceiveNextEvent() error" ); - // fall through - - case eventLoopTimedOutErr: - return -1; - - case eventLoopQuitErr: - // according to QA1061 this may also occur - // when a WakeUp Process is executed - return 0; - - case noErr: - DispatchAndReleaseEvent(event); - return 1; - } -} - -void wxGUIEventLoop::WakeUp() -{ - // If there's already one or more events in the queue then there's no need - // to post another one. - if ( GetNumEventsInQueue( GetMainEventQueue() ) > 0 ) - return; - - OSStatus err = noErr; - wxMacCarbonEvent wakeupEvent; - wakeupEvent.Create( 'WXMC', 'WXMC', GetCurrentEventTime(), - kEventAttributeNone ); - err = PostEventToQueue(GetMainEventQueue(), wakeupEvent, - kEventPriorityLow ); -} - -void wxGUIEventLoop::OSXDoRun() -{ - wxMacAutoreleasePool autoreleasepool; - - while (!m_shouldExit) - { - RunApplicationEventLoop(); - } - - // Force enclosing event loop to temporarily exit and check - // if it should be stopped. - QuitApplicationEventLoop(); -} - -void wxGUIEventLoop::OSXDoStop() -{ - QuitApplicationEventLoop(); -} - -CFRunLoopRef wxGUIEventLoop::CFGetCurrentRunLoop() const -{ - return wxCFEventLoop::CFGetCurrentRunLoop(); -} - -// TODO move into a evtloop_osx.cpp - -wxModalEventLoop::wxModalEventLoop(wxWindow *modalWindow) -{ - m_modalWindow = wxDynamicCast(modalWindow, wxNonOwnedWindow); - wxASSERT_MSG( m_modalWindow != NULL, "must pass in a toplevel window for modal event loop" ); - m_modalNativeWindow = m_modalWindow->GetWXWindow(); -} - -wxModalEventLoop::wxModalEventLoop(WXWindow modalNativeWindow) -{ - m_modalWindow = NULL; - wxASSERT_MSG( modalNativeWindow != NULL, "must pass in a toplevel window for modal event loop" ); - m_modalNativeWindow = modalNativeWindow; -} - -// END move into a evtloop_osx.cpp - -void wxModalEventLoop::OSXDoRun() -{ - wxWindowDisabler disabler(m_modalWindow); - wxMacAutoreleasePool autoreleasepool; - - bool resetGroupParent = false; - - WindowGroupRef windowGroup = NULL; - WindowGroupRef formerParentGroup = NULL; - - // make sure modal dialogs are in the right layer so that they are not covered - if ( m_modalWindow != NULL ) - { - if ( m_modalWindow->GetParent() == NULL ) - { - windowGroup = GetWindowGroup(m_modalNativeWindow) ; - if ( windowGroup != GetWindowGroupOfClass( kMovableModalWindowClass ) ) - { - formerParentGroup = GetWindowGroupParent( windowGroup ); - SetWindowGroupParent( windowGroup, GetWindowGroupOfClass( kMovableModalWindowClass ) ); - resetGroupParent = true; - } - } - } - - m_modalWindow->SetFocus(); - - RunAppModalLoopForWindow(m_modalNativeWindow); - - if ( resetGroupParent ) - { - SetWindowGroupParent( windowGroup , formerParentGroup ); - } - -} - -void wxModalEventLoop::OSXDoStop() -{ - wxMacAutoreleasePool autoreleasepool; - QuitAppModalLoopForWindow(m_modalNativeWindow); -} - - diff --git a/src/osx/carbon/filedlg.cpp b/src/osx/carbon/filedlg.cpp deleted file mode 100644 index 15baf5bc5f..0000000000 --- a/src/osx/carbon/filedlg.cpp +++ /dev/null @@ -1,625 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/filedlg.cpp -// Purpose: wxFileDialog -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_FILEDLG - -#include "wx/filedlg.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/dialog.h" -#endif - -#include "wx/tokenzr.h" -#include "wx/filename.h" - -#include "wx/osx/private.h" -#include "wx/modalhook.h" - -#ifndef __DARWIN__ - #include - #include "PLStringFuncs.h" -#endif - -wxIMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase); - -// the data we need to pass to our standard file hook routine -// includes a pointer to the dialog, a pointer to the standard -// file reply record (so we can inspect the current selection) -// and a copy of the "previous" file spec of the reply record -// so we can see if the selection has changed - -class OpenUserDataRec -{ -public: - OpenUserDataRec( wxFileDialog* dialog ); - - bool FilterCallback( AEDesc *theItem, void *info, NavFilterModes filterMode ); - void EventProc( NavEventCallbackMessage inSelector, NavCBRecPtr ioParams ); - - int GetCurrentFilter() const {return m_currentfilter;} - CFArrayRef GetMenuItems() const { return m_menuitems;} - - -private: - void EventProcCBEvent( NavCBRecPtr ioParams ); - void EventProcCBEventMouseDown( NavCBRecPtr ioParams); - void EventProcCBStart( NavCBRecPtr ioParams ); - void EventProcCBPopupMenuSelect( NavCBRecPtr ioParams ); - void EventProcCBCustomize( NavCBRecPtr ioParams ); - void EventProcCBAdjustRect( NavCBRecPtr ioParams ); - bool CheckFile( const wxString &filename , OSType type); - void MakeUserDataRec( const wxString& filter); - - wxFileDialog* m_dialog; - int m_currentfilter; - wxString m_defaultLocation; - wxArrayString m_extensions; - wxArrayLong m_filtermactypes; - CFMutableArrayRef m_menuitems; - wxArrayString m_name; - bool m_saveMode; - SInt16 m_lastRight; - SInt16 m_lastBottom; - bool m_controlAdded; -}; - -OpenUserDataRec::OpenUserDataRec( wxFileDialog* d) -{ - m_dialog = d; - m_controlAdded = false; - m_saveMode = m_dialog->HasFdFlag(wxFD_SAVE); - - m_defaultLocation = m_dialog->GetDirectory(); - MakeUserDataRec(m_dialog->GetWildcard()); - m_currentfilter = m_dialog->GetFilterIndex(); - - m_menuitems = NULL; - - size_t numFilters = m_extensions.GetCount(); - if (numFilters) - { - m_menuitems = CFArrayCreateMutable( kCFAllocatorDefault , - numFilters , &kCFTypeArrayCallBacks ) ; - for ( size_t i = 0 ; i < numFilters ; ++i ) - { - CFArrayAppendValue( m_menuitems , (CFStringRef) wxCFStringRef( m_name[i] ) ) ; - } - } - m_lastRight = m_lastBottom = 0; -} - -void OpenUserDataRec::EventProc(NavEventCallbackMessage inSelector,NavCBRecPtr ioParams) -{ - switch (inSelector) - { - case kNavCBEvent: - EventProcCBEvent(ioParams); - break; - case kNavCBStart: - EventProcCBStart(ioParams); - break; - case kNavCBPopupMenuSelect: - EventProcCBPopupMenuSelect(ioParams); - break; - case kNavCBCustomize: - EventProcCBCustomize(ioParams); - break; - case kNavCBAdjustRect: - EventProcCBAdjustRect(ioParams); - break; - default: - break; - } -} - -void OpenUserDataRec::EventProcCBEvent(NavCBRecPtr callBackParms) -{ - switch (callBackParms->eventData.eventDataParms.event->what) - { - case mouseDown: - { - EventProcCBEventMouseDown(callBackParms); - break; - } - } -} - -void OpenUserDataRec::EventProcCBEventMouseDown(NavCBRecPtr callBackParms) -{ - EventRecord *evt = callBackParms->eventData.eventDataParms.event; - Point where = evt->where; - QDGlobalToLocalPoint(GetWindowPort(callBackParms->window), &where); - - ControlRef whichControl = FindControlUnderMouse(where, callBackParms->window, NULL); - if (whichControl != NULL) - { - ControlKind theKind; - GetControlKind(whichControl, &theKind); - - // Moving the focus if we clicked in an focusable control - if ((theKind.kind == kControlKindEditUnicodeText) || - (theKind.kind == kControlKindEditText) || - (theKind.kind == kControlKindDataBrowser) || - (theKind.kind == kControlKindListBox)) - { - ControlRef currentlyFocusedControl; - GetKeyboardFocus(callBackParms->window, ¤tlyFocusedControl); - if (currentlyFocusedControl != whichControl) - SetKeyboardFocus(callBackParms->window, whichControl, kControlFocusNextPart); - } - HandleControlClick(whichControl, where, evt->modifiers, NULL); - } -} - -void OpenUserDataRec::EventProcCBStart(NavCBRecPtr ioParams) -{ - if (!m_defaultLocation.empty()) - { - // Set default location for the modern Navigation APIs - // Apple Technical Q&A 1151 - FSRef theFile; - wxMacPathToFSRef(m_defaultLocation, &theFile); - AEDesc theLocation = { typeNull, NULL }; - if (noErr == ::AECreateDesc(typeFSRef, &theFile, sizeof(FSRef), &theLocation)) - ::NavCustomControl(ioParams->context, kNavCtlSetLocation, (void *) &theLocation); - } - - if( m_extensions.GetCount() > 0 ) - { - NavMenuItemSpec menuItem; - memset( &menuItem, 0, sizeof(menuItem) ); - menuItem.version = kNavMenuItemSpecVersion; - menuItem.menuType = m_currentfilter; - ::NavCustomControl(ioParams->context, kNavCtlSelectCustomType, &menuItem); - } - - if (m_dialog->GetExtraControl()) - { - m_controlAdded = true; - ControlRef ref = m_dialog->GetExtraControl()->GetPeer()->GetControlRef(); - NavCustomControl(ioParams->context, kNavCtlAddControl, ref); - } - -} - -void OpenUserDataRec::EventProcCBPopupMenuSelect(NavCBRecPtr ioParams) -{ - NavMenuItemSpec * menu = (NavMenuItemSpec *) ioParams->eventData.eventDataParms.param ; - const size_t numFilters = m_extensions.GetCount(); - - if ( menu->menuType < numFilters ) - { - m_currentfilter = menu->menuType ; - if ( m_saveMode ) - { - int i = menu->menuType ; - - // isolate the first extension string - wxString firstExtension = m_extensions[i].BeforeFirst('|').BeforeFirst(';'); - - wxString extension = firstExtension.AfterLast('.') ; - wxString sfilename ; - - wxCFStringRef cfString( wxCFRetain( NavDialogGetSaveFileName( ioParams->context ) ) ); - sfilename = cfString.AsString() ; - - int pos = sfilename.Find('.', true) ; - if ( pos != wxNOT_FOUND && extension != wxT("*") ) - { - sfilename = sfilename.Left(pos+1)+extension ; - cfString = wxCFStringRef( sfilename , wxFONTENCODING_DEFAULT ) ; - NavDialogSetSaveFileName( ioParams->context , cfString ) ; - } - } - } -} - -void OpenUserDataRec::EventProcCBCustomize(NavCBRecPtr ioParams) -{ - wxWindow* control = m_dialog->GetExtraControl(); - - if ( control ) - { - SInt16 neededRight, neededBottom; - - wxSize size = m_dialog->GetExtraControl()->GetSize(); - neededRight = ioParams->customRect.left + size.x; - neededBottom = ioParams->customRect.top + size.y; - - if (ioParams->customRect.right == 0 && ioParams->customRect.bottom == 0) - { - ioParams->customRect.right = neededRight; - ioParams->customRect.bottom = neededBottom; - } - else - { - if ( ioParams->customRect.right != m_lastRight ) - { - if ( ioParams->customRect.right < neededRight ) - ioParams->customRect.right = neededRight; - } - if ( ioParams->customRect.bottom != m_lastBottom ) - { - if ( ioParams->customRect.bottom < neededBottom ) - ioParams->customRect.bottom = neededBottom; - } - } - m_lastRight = ioParams->customRect.right; - m_lastBottom = ioParams->customRect.bottom; - } -} - -void OpenUserDataRec::EventProcCBAdjustRect(NavCBRecPtr ioParams) -{ - wxWindow* control = m_dialog->GetExtraControl(); - - if ( control && m_controlAdded) - { - control->SetSize(ioParams->customRect.left , ioParams->customRect.top, - ioParams->customRect.right - ioParams->customRect.left, - ioParams->customRect.bottom - ioParams->customRect.top); - } -} - -void OpenUserDataRec::MakeUserDataRec( const wxString& filter ) -{ - if ( !filter.empty() ) - { - wxString filter2(filter) ; - int filterIndex = 0; - bool isName = true ; - wxString current ; - - for ( unsigned int i = 0; i < filter2.length() ; i++ ) - { - if ( filter2.GetChar(i) == wxT('|') ) - { - if ( isName ) - { - m_name.Add( current ) ; - } - else - { - m_extensions.Add( current ) ; - ++filterIndex ; - } - - isName = !isName ; - current = wxEmptyString ; - } - else - { - current += filter2.GetChar(i) ; - } - } - // we allow for compatibility reason to have a single filter expression (like *.*) without - // an explanatory text, in that case the first part is name and extension at the same time - - wxASSERT_MSG( filterIndex == 0 || !isName , wxT("incorrect format of format string") ) ; - if ( current.empty() ) - m_extensions.Add( m_name[filterIndex] ) ; - else - m_extensions.Add( current ) ; - if ( filterIndex == 0 || isName ) - m_name.Add( current ) ; - - ++filterIndex ; - - const size_t extCount = m_extensions.GetCount(); - for ( size_t i = 0 ; i < extCount; i++ ) - { - wxUint32 fileType, creator; - wxString extension = m_extensions[i]; - - // Remove leading '*' - if ( !extension.empty() && (extension.GetChar(0) == '*') ) - extension = extension.Mid( 1 ); - - // Remove leading '.' - if ( !extension.empty() && (extension.GetChar(0) == '.') ) - extension = extension.Mid( 1 ); - - if (wxFileName::MacFindDefaultTypeAndCreator( extension, &fileType, &creator )) - m_filtermactypes.Add( (OSType)fileType ); - else - m_filtermactypes.Add( '****' ); // We'll fail safe if it's not recognized - } - } -} - -bool OpenUserDataRec::CheckFile( const wxString &filename , OSType type) -{ - wxString file(filename) ; - file.MakeUpper() ; - - if ( m_extensions.GetCount() > 0 ) - { - //for ( int i = 0 ; i < data->numfilters ; ++i ) - int i = m_currentfilter ; - if ( m_extensions[i].Right(2) == wxT(".*") ) - return true ; - - { - if ( type == (OSType)m_filtermactypes[i] ) - return true ; - - wxStringTokenizer tokenizer( m_extensions[i] , wxT(";") ) ; - while ( tokenizer.HasMoreTokens() ) - { - wxString extension = tokenizer.GetNextToken() ; - if ( extension.GetChar(0) == '*' ) - extension = extension.Mid(1) ; - extension.MakeUpper(); - - if ( file.length() >= extension.length() && extension == file.Right(extension.length() ) ) - return true ; - } - } - - return false ; - } - - return true ; -} - -bool OpenUserDataRec::FilterCallback( - AEDesc *theItem, - void *info, - NavFilterModes filterMode ) -{ - if (filterMode == kNavFilteringBrowserList) - { - // We allow navigation to all folders. For files, we check against the current - // filter string. - // However, packages should be dealt with like files and not like folders. So - // check if a folder is a package before deciding what to do. - NavFileOrFolderInfo* theInfo = (NavFileOrFolderInfo*) info ; - FSRef fsref; - - if ( theInfo->isFolder ) - { - // check bundle bit (using Finder Services - used by OS9 on some bundles) - FSCatalogInfo catalogInfo; - if (FSGetCatalogInfo (&fsref, kFSCatInfoFinderInfo, &catalogInfo, NULL, NULL, NULL) != noErr) - return true; - - // Check bundle item (using Launch Services - used by OS-X through info.plist or APP) - LSItemInfoRecord lsInfo; - if (LSCopyItemInfoForRef(&fsref, kLSRequestBasicFlagsOnly, &lsInfo ) != noErr) - return true; - - // If it's not a bundle, then it's a normal folder and it passes our filter - FileInfo *fileInfo = (FileInfo *) catalogInfo.finderInfo; - if ( !(fileInfo->finderFlags & kHasBundle) && - !(lsInfo.flags & (kLSItemInfoIsApplication | kLSItemInfoIsPackage)) ) - return true; - } - else - { - AECoerceDesc (theItem, typeFSRef, theItem); - if ( AEGetDescData (theItem, &fsref, sizeof (FSRef)) == noErr) - { - wxString file = wxMacFSRefToPath( &fsref ) ; - return CheckFile( file , theInfo->fileAndFolder.fileInfo.finderInfo.fdType ) ; - } - } - } - - return true; -} - -// end wxmac - -pascal Boolean CrossPlatformFilterCallback( - AEDesc *theItem, - void *info, - void *callBackUD, - NavFilterModes filterMode ); - -pascal Boolean CrossPlatformFilterCallback( - AEDesc *theItem, - void *info, - void *callBackUD, - NavFilterModes filterMode ) -{ - OpenUserDataRec* data = (OpenUserDataRec*) callBackUD ; - return data->FilterCallback(theItem,info,filterMode); -} - -static pascal void NavEventProc( - NavEventCallbackMessage inSelector, - NavCBRecPtr ioParams, - NavCallBackUserData ioUserData ); - -static NavEventUPP sStandardNavEventFilter = NewNavEventUPP(NavEventProc); - -static pascal void NavEventProc( - NavEventCallbackMessage inSelector, - NavCBRecPtr ioParams, - NavCallBackUserData ioUserData ) -{ - OpenUserDataRec * data = ( OpenUserDataRec *) ioUserData ; - data->EventProc(inSelector, ioParams); -} - - -void wxFileDialog::Init() -{ -} - -void wxFileDialog::Create( - wxWindow *parent, const wxString& message, - const wxString& defaultDir, const wxString& defaultFileName, const wxString& wildCard, - long style, const wxPoint& pos, const wxSize& sz, const wxString& name) -{ - wxFileDialogBase::Create(parent, message, defaultDir, defaultFileName, wildCard, style, pos, sz, name); - - wxASSERT_MSG( NavServicesAvailable() , wxT("Navigation Services are not running") ) ; -} - -void wxFileDialog::SetupExtraControls(WXWindow nativeWindow) -{ - wxTopLevelWindow::Create( GetParent(), nativeWindow ); - - if (HasExtraControlCreator()) - { - CreateExtraControl(); - } -} - -int wxFileDialog::ShowModal() -{ - WX_HOOK_MODAL_DIALOG(); - - m_paths.Empty(); - m_fileNames.Empty(); - - OSErr err; - NavDialogCreationOptions dialogCreateOptions; - - // set default options - ::NavGetDefaultDialogCreationOptions(&dialogCreateOptions); - - // this was always unset in the old code - dialogCreateOptions.optionFlags &= ~kNavSelectDefaultLocation; - - wxCFStringRef message(m_message, GetFont().GetEncoding()); - dialogCreateOptions.windowTitle = message; - - wxCFStringRef defaultFileName(m_fileName, GetFont().GetEncoding()); - dialogCreateOptions.saveFileName = defaultFileName; - - NavDialogRef dialog; - NavObjectFilterUPP navFilterUPP = NULL; - OpenUserDataRec myData( this ); - - dialogCreateOptions.popupExtension = myData.GetMenuItems(); - - if (HasFdFlag(wxFD_SAVE)) - { - dialogCreateOptions.optionFlags |= kNavDontAutoTranslate; - dialogCreateOptions.optionFlags |= kNavDontAddTranslateItems; - if (dialogCreateOptions.popupExtension == NULL) - dialogCreateOptions.optionFlags |= kNavNoTypePopup; - - // The extension is important - if ( dialogCreateOptions.popupExtension == NULL || CFArrayGetCount(dialogCreateOptions.popupExtension)<2) - dialogCreateOptions.optionFlags |= kNavPreserveSaveFileExtension; - - if (!(m_windowStyle & wxFD_OVERWRITE_PROMPT)) - dialogCreateOptions.optionFlags |= kNavDontConfirmReplacement; - - err = ::NavCreatePutFileDialog( - &dialogCreateOptions, - kNavGenericSignature, // Suppresses the 'Default' (top) menu item - kNavGenericSignature, - sStandardNavEventFilter, - &myData, // for defaultLocation - &dialog ); - } - else - { - // let the user select bundles/programs in dialogs - dialogCreateOptions.optionFlags |= kNavSupportPackages; - - navFilterUPP = NewNavObjectFilterUPP(CrossPlatformFilterCallback); - err = ::NavCreateGetFileDialog( - &dialogCreateOptions, - NULL, // NavTypeListHandle - sStandardNavEventFilter, - NULL, // NavPreviewUPP - navFilterUPP, - (void *) &myData, // inClientData - &dialog ); - } - - SetupExtraControls(NavDialogGetWindow(dialog)); - - if (err == noErr) - { - wxDialog::OSXBeginModalDialog(); - err = ::NavDialogRun(dialog); - wxDialog::OSXEndModalDialog(); - } - - // clean up filter related data, etc. - if (navFilterUPP) - ::DisposeNavObjectFilterUPP(navFilterUPP); - - if (err != noErr) - { - ::NavDialogDispose(dialog); - return wxID_CANCEL; - } - - NavReplyRecord navReply; - err = ::NavDialogGetReply(dialog, &navReply); - if (err == noErr && navReply.validRecord) - { - AEKeyword theKeyword; - DescType actualType; - Size actualSize; - FSRef theFSRef; - wxString thePath ; - long count; - - m_filterIndex = myData.GetCurrentFilter(); - ::AECountItems( &navReply.selection, &count ); - for (long i = 1; i <= count; ++i) - { - err = ::AEGetNthPtr( - &(navReply.selection), i, typeFSRef, &theKeyword, &actualType, - &theFSRef, sizeof(theFSRef), &actualSize ); - if (err != noErr) - break; - - if (HasFdFlag(wxFD_SAVE)) - thePath = wxMacFSRefToPath( &theFSRef, navReply.saveFileName ); - else - thePath = wxMacFSRefToPath( &theFSRef ); - - if (!thePath) - { - ::NavDisposeReply(&navReply); - ::NavDialogDispose(dialog); - return wxID_CANCEL; - } - - m_path = thePath; - m_paths.Add(m_path); - m_fileName = wxFileNameFromPath(m_path); - m_fileNames.Add(m_fileName); - } - - // set these to the first hit - m_path = m_paths[0]; - m_fileName = wxFileNameFromPath(m_path); - m_dir = wxPathOnly(m_path); - } - - UnsubclassWin(); - ::NavDisposeReply(&navReply); - ::NavDialogDispose(dialog); - - return (err == noErr) ? wxID_OK : wxID_CANCEL; -} - -bool wxFileDialog::SupportsExtraControl() const -{ - return true; -} - -#endif // wxUSE_FILEDLG - diff --git a/src/osx/carbon/font.cpp b/src/osx/carbon/font.cpp index 3b26548c3e..4c2931cbc1 100644 --- a/src/osx/carbon/font.cpp +++ b/src/osx/carbon/font.cpp @@ -157,11 +157,6 @@ protected: void Init(); public: bool m_fontValid; -#if wxOSX_USE_CARBON && wxOSX_USE_ATSU_TEXT - // for true theming support we must store the correct font - // information here, as this speeds up and optimizes rendering - ThemeFontID m_macThemeFontID ; -#endif wxCFRef m_ctFont; #if wxOSX_USE_ATSU_TEXT void CreateATSUFont(); @@ -185,9 +180,6 @@ wxFontRefData::wxFontRefData(const wxFontRefData& data) : wxGDIRefData() Init(); m_info = data.m_info; m_fontValid = data.m_fontValid; -#if wxOSX_USE_CARBON && wxOSX_USE_ATSU_TEXT - m_macThemeFontID = data.m_macThemeFontID; -#endif m_ctFont = data.m_ctFont; m_cgFont = data.m_cgFont; #if wxOSX_USE_ATSU_TEXT @@ -219,9 +211,6 @@ static CTFontDescriptorRef wxMacCreateCTFontDescriptor(CFStringRef iFamilyName, void wxFontRefData::Init() { -#if wxOSX_USE_CARBON && wxOSX_USE_ATSU_TEXT - m_macThemeFontID = kThemeCurrentPortFont ; -#endif #if wxOSX_USE_ATSU_TEXT m_macATSUStyle = NULL ; #endif @@ -244,9 +233,6 @@ void wxFontRefData::Free() m_ctFont.reset(); m_cgFont.reset(); #if wxOSX_USE_ATSU_TEXT -#if wxOSX_USE_CARBON - m_macThemeFontID = kThemeCurrentPortFont ; -#endif if ( m_macATSUStyle ) { ::ATSUDisposeStyle((ATSUStyle)m_macATSUStyle); @@ -313,10 +299,8 @@ wxFontRefData::wxFontRefData(wxOSXSystemFont font, int size) } #if wxOSX_USE_ATSU_TEXT { -#if !wxOSX_USE_CARBON // not needed outside ThemeFontID m_macThemeFontID = kThemeSystemFont; -#endif switch( font ) { case wxOSX_SYSTEM_FONT_NORMAL: @@ -826,37 +810,6 @@ wxFontEncoding wxFont::GetEncoding() const return M_FONTDATA->GetEncoding() ; } -#if wxOSX_USE_ATSU_TEXT && wxOSX_USE_CARBON - -short wxFont::MacGetFontNum() const -{ - wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") ); - - // cast away constness otherwise lazy font resolution is not possible - const_cast(this)->RealizeResource(); - - return M_FONTDATA->m_info.m_qdFontFamily; -} - -wxByte wxFont::MacGetFontStyle() const -{ - wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") ); - - // cast away constness otherwise lazy font resolution is not possible - const_cast(this)->RealizeResource(); - - return M_FONTDATA->m_info.m_qdFontStyle; -} - -wxUint16 wxFont::MacGetThemeFontID() const -{ - wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") ); - - return M_FONTDATA->m_macThemeFontID; -} - -#endif - #if wxOSX_USE_ATSU_TEXT void * wxFont::MacGetATSUStyle() const { @@ -1020,10 +973,6 @@ void wxNativeFontInfo::Init() m_atsuFontID = 0 ; m_atsuAdditionalQDStyles = 0; m_atsuFontValid = false; -#if wxOSX_USE_CARBON - m_qdFontStyle = 0; - m_qdFontFamily = 0; -#endif #endif m_pointSize = 0; m_family = wxFONTFAMILY_DEFAULT; @@ -1069,11 +1018,9 @@ void wxNativeFontInfo::EnsureValid() #if wxOSX_USE_ATSU_TEXT if ( !m_atsuFontValid ) { -#if !wxOSX_USE_CARBON // not needed outside wxInt16 m_qdFontFamily; wxInt16 m_qdFontStyle; -#endif wxCFStringRef cf( m_faceName, wxLocale::GetSystemEncoding() ); ATSFontFamilyRef atsfamily = ATSFontFamilyFindFromName( cf , kATSOptionFlagsDefault ); if ( atsfamily == (ATSFontFamilyRef) -1 ) @@ -1118,10 +1065,6 @@ void wxNativeFontInfo::Init(const wxNativeFontInfo& info) m_atsuFontValid = info.m_atsuFontValid; m_atsuFontID = info.m_atsuFontID ; m_atsuAdditionalQDStyles = info.m_atsuAdditionalQDStyles; -#if wxOSX_USE_CARBON - m_qdFontFamily = info.m_qdFontFamily; - m_qdFontStyle = info.m_qdFontStyle; -#endif #endif m_pointSize = info.m_pointSize; m_family = info.m_family; diff --git a/src/osx/carbon/fontdlg.cpp b/src/osx/carbon/fontdlg.cpp index 0c3030dc5a..0ed0a2651d 100644 --- a/src/osx/carbon/fontdlg.cpp +++ b/src/osx/carbon/fontdlg.cpp @@ -53,149 +53,6 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog); // wxFontDialog // --------------------------------------------------------------------------- -#if wxOSX_USE_CARBON - -static const EventTypeSpec eventList[] = -{ - { kEventClassFont, kEventFontSelection } , -} ; - - -pascal OSStatus -wxMacCarbonFontPanelHandler(EventHandlerCallRef WXUNUSED(nextHandler), - EventRef event, - void *userData) -{ - OSStatus result = eventNotHandledErr ; - wxFontDialog *fontdialog = (wxFontDialog*) userData ; - wxFontData& fontdata= fontdialog->GetFontData() ; - - wxMacCarbonEvent cEvent( event ); - switch(cEvent.GetKind()) - { - case kEventFontSelection : - { - bool setup = false ; - if ( !setup ) - { - CTFontDescriptorRef descr; - if ( cEvent.GetParameter( kEventParamCTFontDescriptor, typeCTFontDescriptorRef, &descr ) == noErr ) - { - wxFont font; - wxNativeFontInfo fontinfo; - fontinfo.Init(descr); - font.Create(fontinfo); - fontdata.SetChosenFont( font ) ; - setup = true; - } - } -#if wxOSX_USE_ATSU_TEXT - ATSUFontID fontId = 0 ; - if ( !setup && (cEvent.GetParameter(kEventParamATSUFontID, &fontId) == noErr) ) - { - FMFontStyle fontStyle = cEvent.GetParameter(kEventParamFMFontStyle); - FMFontSize fontSize = cEvent.GetParameter(kEventParamFMFontSize); - - CFStringRef cfName = NULL; -#if 1 - FMFontFamily fontFamily = cEvent.GetParameter(kEventParamFMFontFamily); - ATSFontFamilyRef atsfontfamilyref = FMGetATSFontFamilyRefFromFontFamily( fontFamily ) ; - OSStatus err = ATSFontFamilyGetName( atsfontfamilyref , kATSOptionFlagsDefault , &cfName ) ; - if ( err != noErr ) - { - wxFAIL_MSG("ATSFontFamilyGetName failed"); - } -#else - // we don't use the ATSU naming anymore - ByteCount actualLength = 0; - char *c = NULL; - OSStatus err = ATSUFindFontName(fontId , kFontFamilyName, kFontUnicodePlatform, kFontNoScriptCode, - kFontNoLanguageCode , 0 , NULL , &actualLength , NULL ); - if ( err == noErr) - { - actualLength += 1 ; - char *c = (char*)malloc( actualLength ); - err = ATSUFindFontName(fontId, kFontFamilyName, kFontUnicodePlatform, kFontNoScriptCode, - kFontNoLanguageCode, actualLength, c , NULL, NULL); - cfName = CFStringCreateWithCharacters(NULL, (UniChar*) c, (actualLength-1) >> 1); - } - else - { - err = ATSUFindFontName(fontId , kFontFamilyName, kFontNoPlatformCode, kFontNoScriptCode, - kFontNoLanguageCode , 0 , NULL , &actualLength , NULL ); - if ( err == noErr ) - { - actualLength += 1 ; - c = (char*)malloc(actualLength); - err = ATSUFindFontName(fontId, kFontFamilyName, kFontNoPlatformCode, kFontNoScriptCode, - kFontNoLanguageCode, actualLength, c , NULL, NULL); - c[actualLength-1] = 0; - cfName = CFStringCreateWithCString(NULL, c, kCFStringEncodingMacRoman ); - } - } - if ( c!=NULL ) - free(c); -#endif - if ( cfName!=NULL ) - { - fontdata.m_chosenFont.SetFaceName(wxCFStringRef(cfName).AsString(wxLocale::GetSystemEncoding())); - fontdata.m_chosenFont.SetPointSize(fontSize); - fontdata.m_chosenFont.SetStyle(fontStyle & italic ? wxFONTSTYLE_ITALIC : wxFONTSTYLE_NORMAL); - fontdata.m_chosenFont.SetUnderlined((fontStyle & underline)!=0); - fontdata.m_chosenFont.SetWeight(fontStyle & bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL); - } - } -#endif // wxOSX_USE_ATSU_TEXT - - // retrieving the color - RGBColor fontColor ; - if ( cEvent.GetParameter(kEventParamFontColor, &fontColor) == noErr ) - { - fontdata.m_fontColour = fontColor; - } - else - { - CFDictionaryRef dict ; - if ( cEvent.GetParameter(kEventParamDictionary, &dict) == noErr ) - { - CFDictionaryRef attributesDict ; - if ( CFDictionaryGetValueIfPresent(dict, kFontPanelAttributesKey, (const void **)&attributesDict) ) - { - CFDataRef tagsData; - CFDataRef sizesData; - CFDataRef valuesData; - if ( CFDictionaryGetValueIfPresent(attributesDict, kFontPanelAttributeTagsKey, (const void **)&tagsData) && - CFDictionaryGetValueIfPresent(attributesDict, kFontPanelAttributeSizesKey, (const void **)&sizesData) && - CFDictionaryGetValueIfPresent(attributesDict, kFontPanelAttributeValuesKey, (const void **)&valuesData) ) - { - ItemCount count = CFDataGetLength(tagsData)/sizeof(ATSUAttributeTag); - ATSUAttributeTag *tagPtr = (ATSUAttributeTag *)CFDataGetBytePtr(tagsData); - ByteCount *sizePtr = (ByteCount *)CFDataGetBytePtr(sizesData); - UInt32 *bytePtr = (UInt32*)CFDataGetBytePtr(valuesData); - ATSUAttributeValuePtr valuesPtr = bytePtr ; - for ( ItemCount i = 0 ; i < count ; ++i) - { - if ( tagPtr[i] == kATSUColorTag && sizePtr[i] == sizeof(RGBColor)) - { - fontdata.m_fontColour = *(RGBColor *)valuesPtr; - break ; - } - bytePtr = (UInt32*)( (UInt8*)bytePtr + sizePtr[i]); - } - } - } - } - } - } - break ; - } - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacCarbonFontPanelHandler ) -#endif - wxFontDialog::wxFontDialog() { } @@ -229,36 +86,9 @@ int wxFontDialog::ShowModal() { WX_HOOK_MODAL_DIALOG(); -#if wxOSX_USE_CARBON - - OSStatus err ; - wxFont font = *wxNORMAL_FONT ; - if ( m_fontData.m_initialFont.IsOk() ) - { - font = m_fontData.m_initialFont ; - } - - CTFontDescriptorRef descr = (CTFontDescriptorRef) CTFontCopyFontDescriptor( (CTFontRef) font.OSXGetCTFont() ); - err = SetFontInfoForSelection (kFontSelectionCoreTextType,1, &descr , NULL); - CFRelease( descr ); - - // just clicking on ENTER will not send us any font setting event, therefore we have to make sure - // that field is already correct - m_fontData.m_chosenFont = font ; - - EventHandlerRef handler ; - - err = InstallApplicationEventHandler( GetwxMacCarbonFontPanelHandlerUPP(), GetEventTypeCount(eventList), eventList, this , &handler ); - - if ( !FPIsFontPanelVisible() ) - FPShowHideFontPanel(); -#endif wxDialog::OSXBeginModalDialog(); int retval = RunMixedFontDialog(this); wxDialog::OSXEndModalDialog(); -#if wxOSX_USE_CARBON - ::RemoveEventHandler(handler); -#endif return retval ; } diff --git a/src/osx/carbon/fontdlgosx.mm b/src/osx/carbon/fontdlgosx.mm index 324c60d544..7459d3c450 100644 --- a/src/osx/carbon/fontdlgosx.mm +++ b/src/osx/carbon/fontdlgosx.mm @@ -148,13 +148,6 @@ int RunMixedFontDialog(wxFontDialog* dialog) // setting up the ok/cancel buttons NSFontPanel* fontPanel = [NSFontPanel sharedFontPanel] ; - // adjust modality for carbon environment -#if wxOSX_USE_CARBON - WindowRef carbonWindowRef = (WindowRef)[fontPanel windowRef] ; - SetWindowModality(carbonWindowRef, kWindowModalityAppModal , 0) ; - SetWindowGroup(carbonWindowRef , GetWindowGroupOfClass(kMovableModalWindowClass)); -#endif - [fontPanel setFloatingPanel:NO] ; [[fontPanel standardWindowButton:NSWindowCloseButton] setEnabled:NO] ; @@ -193,14 +186,9 @@ int RunMixedFontDialog(wxFontDialog* dialog) // if we don't reenable it, FPShowHideFontPanel does not work [[fontPanel standardWindowButton:NSWindowCloseButton] setEnabled:YES] ; -#if wxOSX_USE_CARBON - if( FPIsFontPanelVisible()) - FPShowHideFontPanel() ; -#else // we must pick the selection before closing, otherwise a native textcontrol interferes NSFont* theFont = [fontPanel panelConvertFont:[NSFont userFontOfSize:0]]; [fontPanel close]; -#endif if ( [accessoryView closedWithOk]) { diff --git a/src/osx/carbon/frame.cpp b/src/osx/carbon/frame.cpp index e69d7137b1..cc6a16f5ee 100644 --- a/src/osx/carbon/frame.cpp +++ b/src/osx/carbon/frame.cpp @@ -215,9 +215,7 @@ void wxFrame::DetachMenuBar() void wxFrame::AttachMenuBar( wxMenuBar *menuBar ) { -#if wxOSX_USE_CARBON - wxFrame* tlf = wxDynamicCast( wxNonOwnedWindow::GetFromWXWindow( (WXWindow) FrontNonFloatingWindow() ) , wxFrame ); -#elif wxOSX_USE_COCOA +#if wxOSX_USE_COCOA wxFrame* tlf = wxDynamicCast( wxNonOwnedWindow::GetFromWXWindow( wxOSXGetMainWindow() ) , wxFrame ); #else wxFrame* tlf = wxDynamicCast( wxTheApp->GetTopWindow(), wxFrame ); diff --git a/src/osx/carbon/gauge.cpp b/src/osx/carbon/gauge.cpp deleted file mode 100644 index 33fff27924..0000000000 --- a/src/osx/carbon/gauge.cpp +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/gauge.cpp -// Purpose: wxGauge class -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_GAUGE - -#include "wx/gauge.h" - -#include "wx/osx/private.h" - -class wxMacGaugeCarbonControl : public wxMacControl -{ -public : - wxMacGaugeCarbonControl( wxWindowMac* peer ) : wxMacControl( peer ) - { - } - - void SetMaximum(wxInt32 v) - { - // switch back to determinate mode if not there already - if ( GetData( kControlNoPart, kControlProgressBarIndeterminateTag ) != false ) - { - SetData( kControlNoPart, kControlProgressBarIndeterminateTag, (Boolean)false ); - } - - wxMacControl::SetMaximum( v ) ; - } - - void SetValue(wxInt32 v) - { - // switch back to determinate mode if not there already - if ( GetData( kControlNoPart, kControlProgressBarIndeterminateTag ) != false ) - { - SetData( kControlNoPart, kControlProgressBarIndeterminateTag, (Boolean)false ); - } - - wxMacControl::SetValue( v ) ; - - // turn off animation in the unnecessary situations as this is consuming a lot of CPU otherwise - Boolean shouldAnimate = ( v > 0 && v < GetMaximum() ) ; - if ( GetData( kControlEntireControl, kControlProgressBarAnimatingTag ) != shouldAnimate ) - { - SetData( kControlEntireControl, kControlProgressBarAnimatingTag, shouldAnimate ) ; - if ( !shouldAnimate ) - SetNeedsDisplay(NULL) ; - } - } - - void PulseGauge() - { - if ( GetData( kControlNoPart, kControlProgressBarIndeterminateTag ) != true ) - { - SetData( kControlNoPart, kControlProgressBarIndeterminateTag, true); - } - - if ( GetData( kControlEntireControl, kControlProgressBarAnimatingTag ) != true ) - { - SetData( kControlEntireControl, kControlProgressBarAnimatingTag, true ) ; - } - } -}; - - -wxWidgetImplType* wxWidgetImpl::CreateGauge( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - wxInt32 value, - wxInt32 minimum, - wxInt32 maximum, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - wxMacGaugeCarbonControl* peer = new wxMacGaugeCarbonControl( wxpeer ); - OSStatus err = CreateProgressBarControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, - value, minimum, maximum, false /* not indeterminate */, peer->GetControlRefAddr() ); - verify_noerr( err ); - if ( value == 0 ) - peer->SetData( kControlEntireControl, kControlProgressBarAnimatingTag, (Boolean)false ); - return peer; -} - -#endif // wxUSE_GAUGE - diff --git a/src/osx/carbon/glcanvas.cpp b/src/osx/carbon/glcanvas.cpp deleted file mode 100644 index 7006d5e68f..0000000000 --- a/src/osx/carbon/glcanvas.cpp +++ /dev/null @@ -1,443 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/glcanvas.cpp -// Purpose: wxGLCanvas, for using OpenGL with wxWidgets under Macintosh -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -#include "wx/wxprec.h" - -#if defined(__BORLANDC__) - #pragma hdrstop -#endif - -#if wxUSE_GLCANVAS - -#include "wx/glcanvas.h" - -#ifndef WX_PRECOMP - #include "wx/frame.h" - #include "wx/log.h" - #include "wx/settings.h" -#endif - -#include "wx/osx/uma.h" - -#include "wx/osx/private.h" -#include - -// ---------------------------------------------------------------------------- -// helper functions -// ---------------------------------------------------------------------------- - -static void wxLogAGLError(const char *func) -{ - const int err = aglGetError(); - - wxLogError(_("OpenGL function \"%s\" failed: %s (error %d)"), - func, aglErrorString(err), err); -} - -// ============================================================================ -// implementation -// ============================================================================ - -// ---------------------------------------------------------------------------- -// low level implementation routines -// ---------------------------------------------------------------------------- - -WXGLContext WXGLCreateContext( WXGLPixelFormat pixelFormat, WXGLContext shareContext ) -{ - WXGLContext context = aglCreateContext(pixelFormat, shareContext); - if ( !context ) - wxLogAGLError("aglCreateContext"); - return context ; -} - -void WXGLDestroyContext( WXGLContext context ) -{ - if ( context ) - { - if ( !aglDestroyContext(context) ) - { - wxLogAGLError("aglDestroyContext"); - } - } -} - -WXGLContext WXGLGetCurrentContext() -{ - return aglGetCurrentContext(); -} - -bool WXGLSetCurrentContext(WXGLContext context) -{ - if ( !aglSetCurrentContext(context) ) - { - wxLogAGLError("aglSetCurrentContext"); - return false; - } - - return true; -} - -void WXGLDestroyPixelFormat( WXGLPixelFormat pixelFormat ) -{ - if ( pixelFormat ) - { - aglDestroyPixelFormat(pixelFormat); - } -} - -WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList) -{ - GLint data[512]; - const GLint defaultAttribs[] = - { - AGL_RGBA, - AGL_DOUBLEBUFFER, - AGL_MINIMUM_POLICY, // never choose less than requested - AGL_DEPTH_SIZE, 1, // use largest available depth buffer - AGL_RED_SIZE, 1, - AGL_GREEN_SIZE, 1, - AGL_BLUE_SIZE, 1, - AGL_ALPHA_SIZE, 0, - AGL_NONE - }; - - const GLint *attribs; - if ( !attribList ) - { - attribs = defaultAttribs; - } - else - { - unsigned p = 0; - data[p++] = AGL_MINIMUM_POLICY; // make _SIZE tags behave more like GLX - - for ( unsigned arg = 0; attribList[arg] !=0 && p < WXSIZEOF(data); ) - { - switch ( attribList[arg++] ) - { - case WX_GL_RGBA: - data[p++] = AGL_RGBA; - break; - - case WX_GL_BUFFER_SIZE: - data[p++] = AGL_BUFFER_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_LEVEL: - data[p++]=AGL_LEVEL; - data[p++]=attribList[arg++]; - break; - - case WX_GL_DOUBLEBUFFER: - data[p++] = AGL_DOUBLEBUFFER; - break; - - case WX_GL_STEREO: - data[p++] = AGL_STEREO; - break; - - case WX_GL_AUX_BUFFERS: - data[p++] = AGL_AUX_BUFFERS; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_RED: - data[p++] = AGL_RED_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_GREEN: - data[p++] = AGL_GREEN_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_BLUE: - data[p++] = AGL_BLUE_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_ALPHA: - data[p++] = AGL_ALPHA_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_DEPTH_SIZE: - data[p++] = AGL_DEPTH_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_STENCIL_SIZE: - data[p++] = AGL_STENCIL_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_ACCUM_RED: - data[p++] = AGL_ACCUM_RED_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_ACCUM_GREEN: - data[p++] = AGL_ACCUM_GREEN_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_ACCUM_BLUE: - data[p++] = AGL_ACCUM_BLUE_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_MIN_ACCUM_ALPHA: - data[p++] = AGL_ACCUM_ALPHA_SIZE; - data[p++] = attribList[arg++]; - break; - - case WX_GL_SAMPLE_BUFFERS: - if ( !wxGLCanvas::IsAGLMultiSampleAvailable() ) - { - if ( !attribList[arg++] ) - break; - - return NULL; - } - - data[p++] = AGL_SAMPLE_BUFFERS_ARB; - if ( (data[p++] = attribList[arg++]) == true ) - { - // don't use software fallback - data[p++] = AGL_NO_RECOVERY; - } - break; - - case WX_GL_SAMPLES: - if ( !wxGLCanvas::IsAGLMultiSampleAvailable() ) - { - if ( !attribList[arg++] ) - break; - - return NULL; - } - - data[p++] = AGL_SAMPLES_ARB; - data[p++] = attribList[arg++]; - break; - } - } - - data[p] = AGL_NONE; - - attribs = data; - } - - return aglChoosePixelFormat(NULL, 0, attribs); -} - -// ---------------------------------------------------------------------------- -// wxGLContext -// ---------------------------------------------------------------------------- - -bool wxGLContext::SetCurrent(const wxGLCanvas& win) const -{ - if ( !m_glContext ) - return false; - - GLint bufnummer = win.GetAglBufferName(); - aglSetInteger(m_glContext, AGL_BUFFER_NAME, &bufnummer); - //win.SetLastContext(m_glContext); - - const_cast(win).SetViewport(); - - aglSetWindowRef(m_glContext, win.MacGetTopLevelWindowRef()); - - return WXGLSetCurrentContext(m_glContext); -} - -// ---------------------------------------------------------------------------- -// wxGLCanvas -// ---------------------------------------------------------------------------- - -/* - -sharing contexts under AGL is not straightforward, to quote from - -http://lists.apple.com/archives/mac-opengl/2003/Jan/msg00402.html : - -In Carbon OpenGL (AGL) you would use call aglSetInteger to setup a -buffer name and attached each context to that same name. From AGL -you can do: - -GLint id = 1; - -ctx1 = aglCreateContext... -aglSetInteger(ctx1, AGL_BUFFER_NAME, &id); // create name -aglAttachDrawable (ctx1,...); // create surface with associated with -name (first time) -ctx2 = aglCreateContext... -aglSetInteger(ctx2, AGL_BUFFER_NAME, &id); // uses previously created name -aglAttachDrawable (ctx2, ...); // uses existing surface with existing name - -AGL Docs say: -AGL_BUFFER_NAME -params contains one value: a non-negative integer name of the surface to be -associated to be with the current context. If this value is non-zero, and a -surface of this name is not associated to this drawable, a new surface with -this name is created and associated with the context when -aglSetDrawable is called subsequently. If this is a previously allocated -buffer name within the namespace of the current window (e.g., drawable), -that previously allocated surface is associated with the context (e.g., no -new surface is created) and the subsequent call to aglSetDrawable will -attach that surface. This allows multiple contexts to be attached to a single -surface. Using the default buffer name zero, returns to one surface per -context behaviour. -*/ - -/* -so what I'm doing is to have a dummy aglContext attached to a wxGLCanvas, -assign it a buffer number -*/ - - -bool wxGLCanvas::Create(wxWindow *parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name, - const int *attribList, - const wxPalette& WXUNUSED(palette)) -{ - m_needsUpdate = false; - m_macCanvasIsShown = false; - - m_glFormat = WXGLChoosePixelFormat(attribList); - if ( !m_glFormat ) - return false; - - if ( !wxWindow::Create(parent, id, pos, size, style, name) ) - return false; - - m_dummyContext = WXGLCreateContext(m_glFormat, NULL); - - static GLint gCurrentBufferName = 1; - m_bufferName = gCurrentBufferName++; - aglSetInteger (m_dummyContext, AGL_BUFFER_NAME, &m_bufferName); - - aglSetWindowRef(m_dummyContext, MacGetTopLevelWindowRef()); - - m_macCanvasIsShown = true; - - return true; -} - -wxGLCanvas::~wxGLCanvas() -{ - if ( m_glFormat ) - WXGLDestroyPixelFormat(m_glFormat); - - if ( m_dummyContext ) - WXGLDestroyContext(m_dummyContext); -} - -bool wxGLCanvas::SwapBuffers() -{ - WXGLContext context = WXGLGetCurrentContext(); - wxCHECK_MSG(context, false, wxT("should have current context")); - - aglSwapBuffers(context); - return true; -} - -void wxGLCanvas::SetViewport() -{ - if ( !m_needsUpdate ) - return; - - m_needsUpdate = false; - -// AGLContext context = aglGetCurrentContext(); -// if ( !context ) -// return; - - // viewport is initially set to entire port, adjust it to just this window - int x = 0, - y = 0; - MacClientToRootWindow(&x , &y); - - int width, height; - GetClientSize(&width, &height); - - Rect bounds; - GetWindowPortBounds(MAC_WXHWND(MacGetTopLevelWindowRef()) , &bounds); - - GLint parms[4]; - parms[0] = x; - parms[1] = bounds.bottom - bounds.top - ( y + height ); - parms[2] = width; - parms[3] = height; - - // move the buffer rect out of sight if we're hidden - if ( !m_macCanvasIsShown ) - parms[0] += 20000; - - if ( !aglSetInteger(m_dummyContext, AGL_BUFFER_RECT, parms) ) - wxLogAGLError("aglSetInteger(AGL_BUFFER_RECT)"); - - if ( !aglEnable(m_dummyContext, AGL_BUFFER_RECT) ) - wxLogAGLError("aglEnable(AGL_BUFFER_RECT)"); - - if ( !aglUpdateContext(m_dummyContext) ) - wxLogAGLError("aglUpdateContext"); -} - -void wxGLCanvas::OnSize(wxSizeEvent& event) -{ - MacUpdateView(); - event.Skip(); -} - -void wxGLCanvas::MacUpdateView() -{ - m_needsUpdate = true; - Refresh(false); -} - -void wxGLCanvas::MacSuperChangedPosition() -{ - MacUpdateView(); - SetViewport(); - wxWindow::MacSuperChangedPosition(); -} - -void wxGLCanvas::MacTopLevelWindowChangedPosition() -{ - MacUpdateView(); - wxWindow::MacTopLevelWindowChangedPosition(); -} - -void wxGLCanvas::MacVisibilityChanged() -{ - if ( IsShownOnScreen() != m_macCanvasIsShown ) - { - m_macCanvasIsShown = !m_macCanvasIsShown; - MacUpdateView(); - } - - wxWindowMac::MacVisibilityChanged(); -} - -#endif // wxUSE_GLCANVAS diff --git a/src/osx/carbon/graphics.cpp b/src/osx/carbon/graphics.cpp index a85deef19a..ee53b906a9 100644 --- a/src/osx/carbon/graphics.cpp +++ b/src/osx/carbon/graphics.cpp @@ -98,9 +98,6 @@ OSStatus wxMacDrawCGImage( const CGRect * inBounds, CGImageRef inImage) { -#if wxOSX_USE_CARBON - return HIViewDrawCGImage( inContext, inBounds, inImage ); -#else CGContextSaveGState(inContext); CGContextTranslateCTM(inContext, inBounds->origin.x, inBounds->origin.y + inBounds->size.height); CGRect r = *inBounds; @@ -109,7 +106,6 @@ OSStatus wxMacDrawCGImage( CGContextDrawImage(inContext, r, inImage ); CGContextRestoreGState(inContext); return noErr; -#endif } CGColorRef wxMacCreateCGColor( const wxColour& col ) @@ -1330,10 +1326,6 @@ class WXDLLEXPORT wxMacCoreGraphicsContext : public wxGraphicsContext public: wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, CGContextRef cgcontext, wxDouble width = 0, wxDouble height = 0 ); -#if wxOSX_USE_CARBON - wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, WindowRef window ); -#endif - wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, wxWindow* window ); wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer); @@ -1459,11 +1451,7 @@ private: virtual void DoDrawRotatedText( const wxString &str, wxDouble x, wxDouble y, wxDouble angle ) wxOVERRIDE; CGContextRef m_cgContext; -#if wxOSX_USE_CARBON - WindowRef m_windowRef; -#else WXWidget m_view; -#endif bool m_contextSynthesized; CGAffineTransform m_windowTransform; bool m_invisible; @@ -1524,9 +1512,6 @@ void wxMacCoreGraphicsContext::Init() m_contextSynthesized = false; m_width = 0; m_height = 0; -#if wxOSX_USE_CARBON - m_windowRef = NULL; -#endif #if wxOSX_USE_COCOA_OR_IPHONE m_view = NULL; #endif @@ -1543,15 +1528,6 @@ wxMacCoreGraphicsContext::wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer m_height = height; } -#if wxOSX_USE_CARBON -wxMacCoreGraphicsContext::wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, WindowRef window ): wxGraphicsContext(renderer) -{ - Init(); - m_windowRef = window; - m_enableOffset = true; -} -#endif - wxMacCoreGraphicsContext::wxMacCoreGraphicsContext( wxGraphicsRenderer* renderer, wxWindow* window ): wxGraphicsContext(renderer) { Init(); @@ -1655,13 +1631,6 @@ bool wxMacCoreGraphicsContext::EnsureIsValid() { m_invisible = true; } -#endif -#if wxOSX_USE_CARBON - OSStatus status = QDBeginCGContext( GetWindowPort( m_windowRef ) , &m_cgContext ); - if ( status != noErr ) - { - wxFAIL_MSG("Cannot nest wxDCs on the same window"); - } #endif if ( m_cgContext ) { @@ -2114,9 +2083,6 @@ void wxMacCoreGraphicsContext::SetNativeContext( CGContextRef cg ) CGContextRestoreGState( m_cgContext ); if ( m_contextSynthesized ) { -#if wxOSX_USE_CARBON - QDEndCGContext( GetWindowPort( m_windowRef ) , &m_cgContext); -#endif #if wxOSX_USE_COCOA wxOSXUnlockFocus(m_view); #endif @@ -2226,18 +2192,6 @@ void wxMacCoreGraphicsContext::DrawIcon( const wxIcon &icon, wxDouble x, wxDoubl if (m_composition == wxCOMPOSITION_DEST) return; -#if wxOSX_USE_CARBON - { - CGContextSaveGState( m_cgContext ); - CGContextTranslateCTM( m_cgContext,(CGFloat) x ,(CGFloat) (y + h) ); - CGContextScaleCTM( m_cgContext, 1, -1 ); - CGRect r = CGRectMake( (CGFloat) 0.0 , (CGFloat) 0.0 , (CGFloat) w , (CGFloat) h ); - PlotIconRefInContext( m_cgContext , &r , kAlignNone , kTransformNone , - NULL , kPlotIconRefNormalFlags , icon.GetHICON() ); - CGContextRestoreGState( m_cgContext ); - } -#endif - #if wxOSX_USE_COCOA { CGRect r = CGRectMake( (CGFloat) x , (CGFloat) y , (CGFloat) w , (CGFloat) h ); @@ -2717,14 +2671,8 @@ wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContextFromNativeContext( v wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContextFromNativeWindow( void * window ) { -#if wxOSX_USE_CARBON - wxMacCoreGraphicsContext* context = new wxMacCoreGraphicsContext(this,(WindowRef)window); - context->EnableOffset(true); - return context; -#else wxUnusedVar(window); return NULL; -#endif } wxGraphicsContext * wxMacCoreGraphicsRenderer::CreateContext( wxWindow* window ) diff --git a/src/osx/carbon/listbox.cpp b/src/osx/carbon/listbox.cpp deleted file mode 100644 index b2ef9072f8..0000000000 --- a/src/osx/carbon/listbox.cpp +++ /dev/null @@ -1,684 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/listbox.cpp -// Purpose: wxListBox -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_LISTBOX - -#include "wx/listbox.h" - -#ifndef WX_PRECOMP - #include "wx/log.h" - #include "wx/intl.h" - #include "wx/utils.h" - #include "wx/settings.h" - #include "wx/arrstr.h" - #include "wx/dcclient.h" -#endif - -#include "wx/osx/private.h" - -// ============================================================================ -// list box control implementation -// ============================================================================ - -wxWidgetImplType* wxWidgetImpl::CreateListBox( wxWindowMac* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - wxMacDataBrowserListControl* control = new wxMacDataBrowserListControl( wxpeer, pos, size, style ); - // TODO CHECK control->SetClientDataType( m_clientDataItemsType ); - return control; -} - -int wxMacDataBrowserListControl::DoListHitTest(const wxPoint& inpoint) const -{ - OSStatus err; - - // There are few reasons why this is complicated: - // 1) There is no native HitTest function for Mac - // 2) GetDataBrowserItemPartBounds only works on visible items - // 3) We can't do it through GetDataBrowserTableView[Item]RowHeight - // because what it returns is basically inaccurate in the context - // of the coordinates we want here, but we use this as a guess - // for where the first visible item lies - - wxPoint point = inpoint; - - // get column property ID (req. for call to itempartbounds) - DataBrowserTableViewColumnID colId = 0; - err = GetDataBrowserTableViewColumnProperty(GetControlRef(), 0, &colId); - wxCHECK_MSG(err == noErr, wxNOT_FOUND, wxT("Unexpected error from GetDataBrowserTableViewColumnProperty")); - - // OK, first we need to find the first visible item we have - - // this will be the "low" for our binary search. There is no real - // easy way around this, as we will need to do a SLOW linear search - // until we find a visible item, but we can do a cheap calculation - // via the row height to speed things up a bit - UInt32 scrollx, scrolly; - err = GetDataBrowserScrollPosition(GetControlRef(), &scrollx, &scrolly); - wxCHECK_MSG(err == noErr, wxNOT_FOUND, wxT("Unexpected error from GetDataBrowserScrollPosition")); - - UInt16 height; - err = GetDataBrowserTableViewRowHeight(GetControlRef(), &height); - wxCHECK_MSG(err == noErr, wxNOT_FOUND, wxT("Unexpected error from GetDataBrowserTableViewRowHeight")); - - wxListBox *list = wxDynamicCast( GetWXPeer() , wxListBox ); - - // these indices are 0-based, as usual, so we need to add 1 to them when - // passing them to data browser functions which use 1-based indices - int low = scrolly / height, - high = list->GetCount() - 1; - - // search for the first visible item (note that the scroll guess above - // is the low bounds of where the item might lie so we only use that as a - // starting point - we should reach it within 1 or 2 iterations of the loop) - while ( low <= high ) - { - Rect bounds; - err = GetDataBrowserItemPartBounds( - GetControlRef(), low + 1, colId, - kDataBrowserPropertyEnclosingPart, - &bounds); // note +1 to translate to Mac ID - if ( err == noErr ) - break; - - // errDataBrowserItemNotFound is expected as it simply means that the - // item is not currently visible -- but other errors are not - wxCHECK_MSG( err == errDataBrowserItemNotFound, wxNOT_FOUND, - wxT("Unexpected error from GetDataBrowserItemPartBounds") ); - - low++; - } - - // NOW do a binary search for where the item lies, searching low again if - // we hit an item that isn't visible - while ( low <= high ) - { - int mid = (low + high) / 2; - - Rect bounds; - err = GetDataBrowserItemPartBounds( - GetControlRef(), mid + 1, colId, - kDataBrowserPropertyEnclosingPart, - &bounds); //note +1 to trans to mac id - wxCHECK_MSG( err == noErr || err == errDataBrowserItemNotFound, - wxNOT_FOUND, - wxT("Unexpected error from GetDataBrowserItemPartBounds") ); - - if ( err == errDataBrowserItemNotFound ) - { - // item not visible, attempt to find a visible one - // search lower - high = mid - 1; - } - else // visible item, do actual hitttest - { - // if point is within the bounds, return this item (since we assume - // all x coords of items are equal we only test the x coord in - // equality) - if ((point.x >= bounds.left && point.x <= bounds.right) && - (point.y >= bounds.top && point.y <= bounds.bottom) ) - { - // found! - return mid; - } - - if ( point.y < bounds.top ) - // index(bounds) greater than key(point) - high = mid - 1; - else - // index(bounds) less than key(point) - low = mid + 1; - } - } - - return wxNOT_FOUND; -} - -// ============================================================================ -// data browser based implementation -// ============================================================================ - -wxMacListBoxItem::wxMacListBoxItem() - :wxMacDataItem() -{ -} - -wxMacListBoxItem::~wxMacListBoxItem() -{ -} - -OSStatus wxMacListBoxItem::GetSetData(wxMacDataItemBrowserControl *owner , - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - bool changeValue ) -{ - wxMacDataBrowserListControl *lb = wxDynamicCast(owner,wxMacDataBrowserListControl); - OSStatus err = errDataBrowserPropertyNotSupported; - if ( !changeValue ) - { - if ( property >= kMinColumnId ) - { - wxMacDataBrowserColumn* col = lb->GetColumnFromProperty( property ); - unsigned int n = owner->GetLineFromItem( this ); - wxListBox *list = wxDynamicCast( owner->GetWXPeer() , wxListBox ); - wxMacDataBrowserCellValue valueholder(itemData); - list->GetValueCallback( n , col, valueholder ); - - err = noErr; - } - else - { - if ( property == kDataBrowserItemIsEditableProperty ) - { - DataBrowserPropertyID propertyToEdit ; - GetDataBrowserItemDataProperty( itemData, &propertyToEdit ); - wxMacDataBrowserColumn* col = lb->GetColumnFromProperty( propertyToEdit ); - - verify_noerr(SetDataBrowserItemDataBooleanValue( itemData, col->IsEditable() )); - err = noErr; - } - - } - - } - else - { - if ( property >= kMinColumnId ) - { - wxMacDataBrowserColumn* col = lb->GetColumnFromProperty( property ); - - unsigned int n = owner->GetLineFromItem( this ); - wxListBox *list = wxDynamicCast( owner->GetWXPeer() , wxListBox ); - wxMacDataBrowserCellValue valueholder(itemData); - list->SetValueCallback( n , col, valueholder ); - - /* - // we have to change this behind the back, since Check() would be triggering another update round - bool newVal = !m_isChecked; - verify_noerr(SetDataBrowserItemDataButtonValue( itemData, newVal ? kThemeButtonOn : kThemeButtonOff )); - m_isChecked = newVal; - err = noErr; - - wxCommandEvent event( wxEVT_CHECKLISTBOX, checklist->GetId() ); - event.SetInt( owner->GetLineFromItem( this ) ); - event.SetEventObject( checklist ); - checklist->HandleWindowEvent( event ); - - */ - err = noErr; - } - } - - // call inherited if not ours - if ( err == errDataBrowserPropertyNotSupported ) - { - err = wxMacDataItem::GetSetData(owner, property, itemData, changeValue); - } - - return err; -} - -void wxMacListBoxItem::Notification(wxMacDataItemBrowserControl *owner , - DataBrowserItemNotification message, - DataBrowserItemDataRef WXUNUSED(itemData) ) const -{ - wxMacDataBrowserListControl *lb = wxDynamicCast(owner,wxMacDataBrowserListControl); - - // we want to depend on as little as possible to make sure tear-down of controls is safe - - if ( message == kDataBrowserItemRemoved) - { - delete this; - return; - } - - wxListBox *list = wxDynamicCast( lb->GetWXPeer() , wxListBox ); - wxCHECK_RET( list != NULL , wxT("Listbox expected")); - - if (message == kDataBrowserItemDoubleClicked) - { - unsigned int n = owner->GetLineFromItem( this ); - list->HandleLineEvent( n, true ); - return; - } -} - -wxIMPLEMENT_DYNAMIC_CLASS(wxMacDataBrowserListControl, wxMacDataItemBrowserControl); - -wxMacDataBrowserListControl::wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style) - : wxMacDataItemBrowserControl( peer, pos, size, style ) -{ - m_nextColumnId = 0 ; - - OSStatus err = noErr; - m_clientDataItemsType = wxClientData_None; - if ( style & wxLB_SORT ) - m_sortOrder = SortOrder_Text_Ascending; - - DataBrowserSelectionFlags options = kDataBrowserDragSelect; - if ( style & wxLB_MULTIPLE ) - { - options |= kDataBrowserAlwaysExtendSelection | kDataBrowserCmdTogglesSelection; - } - else if ( style & wxLB_EXTENDED ) - { - options |= kDataBrowserCmdTogglesSelection; - } - else - { - options |= kDataBrowserSelectOnlyOne; - } - err = SetSelectionFlags( options ); - verify_noerr( err ); - - DataBrowserListViewColumnDesc columnDesc; - columnDesc.headerBtnDesc.titleOffset = 0; - columnDesc.headerBtnDesc.version = kDataBrowserListViewLatestHeaderDesc; - - columnDesc.headerBtnDesc.btnFontStyle.flags = - kControlUseFontMask | kControlUseJustMask; - - columnDesc.headerBtnDesc.btnContentInfo.contentType = kControlNoContent; - columnDesc.headerBtnDesc.btnFontStyle.just = teFlushDefault; - columnDesc.headerBtnDesc.btnFontStyle.font = kControlFontViewSystemFont; - columnDesc.headerBtnDesc.btnFontStyle.style = normal; - columnDesc.headerBtnDesc.titleString = NULL; -/* - columnDesc.headerBtnDesc.minimumWidth = 0; - columnDesc.headerBtnDesc.maximumWidth = 10000; - - columnDesc.propertyDesc.propertyID = kTextColumnId; - columnDesc.propertyDesc.propertyType = kDataBrowserTextType; - columnDesc.propertyDesc.propertyFlags = kDataBrowserTableViewSelectionColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewTypeSelectColumn; - - verify_noerr( AddColumn( &columnDesc, kDataBrowserListViewAppendColumn ) ); -*/ - columnDesc.headerBtnDesc.minimumWidth = 0; - columnDesc.headerBtnDesc.maximumWidth = 0; - columnDesc.propertyDesc.propertyID = kNumericOrderColumnId; - columnDesc.propertyDesc.propertyType = kDataBrowserPropertyRelevanceRankPart; - columnDesc.propertyDesc.propertyFlags = kDataBrowserTableViewSelectionColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewTypeSelectColumn; - - verify_noerr( AddColumn( &columnDesc, kDataBrowserListViewAppendColumn ) ); - -/* - SetDataBrowserSortProperty( m_controlRef , kTextColumnId); - if ( m_sortOrder == SortOrder_Text_Ascending ) - { - SetDataBrowserSortProperty( m_controlRef , kTextColumnId); - SetDataBrowserSortOrder( m_controlRef , kDataBrowserOrderIncreasing); - } - else -*/ - { - SetDataBrowserSortProperty( m_controlRef , kNumericOrderColumnId); - SetDataBrowserSortOrder( m_controlRef , kDataBrowserOrderIncreasing); - } - - verify_noerr( AutoSizeColumns() ); - verify_noerr( SetHiliteStyle(kDataBrowserTableViewFillHilite ) ); - verify_noerr( SetHeaderButtonHeight( 0 ) ); - err = SetHasScrollBars( (style & wxHSCROLL) != 0 , true ); -#if 0 - // shouldn't be necessary anymore under 10.2 - GetPeer()->SetData( kControlNoPart, kControlDataBrowserIncludesFrameAndFocusTag, (Boolean)false ); - GetPeer()->SetNeedsFocusRect( true ); -#endif -} - -wxMacDataBrowserListControl::~wxMacDataBrowserListControl() -{ -} - -void wxMacDataBrowserListControl::ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData) -{ - wxListBox *list = wxDynamicCast( GetWXPeer() , wxListBox ); - wxCHECK_RET( list != NULL , wxT("Listbox expected")); - - if (list->HasMultipleSelection() && (message == kDataBrowserSelectionSetChanged) && (!list->MacGetBlockEvents())) - { - list->CalcAndSendEvent(); - return; - } - - if ((message == kDataBrowserSelectionSetChanged) && (!list->MacGetBlockEvents())) - { - wxCommandEvent event( wxEVT_LISTBOX, list->GetId() ); - - int sel = list->GetSelection(); - if ((sel < 0) || (sel > (int) list->GetCount())) // OS X can select an item below the last item (why?) - return; - list->HandleLineEvent( sel, false ); - return; - } - - // call super for item level(wxMacDataItem->Notification) callback processing - wxMacDataItemBrowserControl::ItemNotification( itemID, message, itemData); -} - - -/* -wxWindow * wxMacDataBrowserListControl::GetPeer() const -{ - return wxDynamicCast( wxMacControl::GetWX() , wxWindow ); -} -*/ - -// -// List Methods -// - -wxMacDataBrowserColumn* wxMacDataBrowserListControl::DoInsertColumn( unsigned int pos, DataBrowserPropertyID property, - const wxString& title, bool editable, - DataBrowserPropertyType colType, SInt16 just, int width ) -{ - DataBrowserListViewColumnDesc columnDesc; - columnDesc.headerBtnDesc.titleOffset = 0; - columnDesc.headerBtnDesc.version = kDataBrowserListViewLatestHeaderDesc; - - columnDesc.headerBtnDesc.btnFontStyle.flags = - kControlUseFontMask | kControlUseJustMask; - - columnDesc.headerBtnDesc.btnContentInfo.contentType = kControlContentTextOnly; - columnDesc.headerBtnDesc.btnFontStyle.just = just; - columnDesc.headerBtnDesc.btnFontStyle.font = kControlFontViewSystemFont; - columnDesc.headerBtnDesc.btnFontStyle.style = normal; - - // TODO: Why is m_font not defined when we enter wxLC_LIST mode, but is - // defined for other modes? - wxFontEncoding enc; - if ( m_font.IsOk() ) - enc = m_font.GetEncoding(); - else - enc = wxLocale::GetSystemEncoding(); - wxCFStringRef cfTitle( title, enc ); - columnDesc.headerBtnDesc.titleString = cfTitle; - - columnDesc.headerBtnDesc.minimumWidth = 0; - columnDesc.headerBtnDesc.maximumWidth = 30000; - - columnDesc.propertyDesc.propertyID = property; - columnDesc.propertyDesc.propertyType = colType; - columnDesc.propertyDesc.propertyFlags = kDataBrowserListViewSortableColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewTypeSelectColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewNoGapForIconInHeaderButton; - - if ( editable ) - columnDesc.propertyDesc.propertyFlags |= kDataBrowserPropertyIsMutable; - - verify_noerr( AddColumn( &columnDesc, pos ) ); - - if (width > 0) - { - wxMacDataBrowserControl::SetColumnWidth(property, width); - } - - wxMacDataBrowserColumn *col = new wxMacDataBrowserColumn( property, colType, editable ); - - m_columns.Insert( col, pos ); - - return col; -} - -wxListWidgetColumn* wxMacDataBrowserListControl::InsertTextColumn( unsigned pos, const wxString& title, bool editable, - wxAlignment just, int defaultWidth) -{ - DataBrowserPropertyID property = kMinColumnId + m_nextColumnId++; - - SInt16 j = teFlushLeft; - if ( just & wxALIGN_RIGHT ) - j = teFlushRight; - else if ( just & wxALIGN_CENTER_HORIZONTAL ) - j = teCenter; - - return DoInsertColumn( pos, property, title, editable, kDataBrowserTextType, just, defaultWidth ); -} - -wxListWidgetColumn* wxMacDataBrowserListControl::InsertCheckColumn( unsigned pos , const wxString& title, bool editable, - wxAlignment just, int defaultWidth ) -{ - DataBrowserPropertyID property = kMinColumnId + m_nextColumnId++; - - SInt16 j = teFlushLeft; - if ( just & wxALIGN_RIGHT ) - j = teFlushRight; - else if ( just & wxALIGN_CENTER_HORIZONTAL ) - j = teCenter; - - return DoInsertColumn( pos, property, title, editable, kDataBrowserCheckboxType, just, defaultWidth ); -} - -wxMacDataBrowserColumn* wxMacDataBrowserListControl::GetColumnFromProperty( DataBrowserPropertyID property) -{ - for ( unsigned int i = 0; i < m_columns.size() ; ++ i ) - if ( m_columns[i]->GetProperty() == property ) - return m_columns[i]; - - return NULL; -} - -/* -wxMacDataItem* wxMacDataBrowserListControl::ListGetLineItem( unsigned int n ) -{ - return (wxMacDataItem*) GetItemFromLine(n); -} -*/ - -unsigned int wxMacDataBrowserListControl::ListGetCount() const -{ - return MacGetCount(); -} - -void wxMacDataBrowserListControl::ListDelete( unsigned int n ) -{ - MacDelete( n ); -} - -void wxMacDataBrowserListControl::ListInsert( unsigned int n ) -{ - MacInsert( n , new wxMacListBoxItem() ); -} - -void wxMacDataBrowserListControl::ListClear() -{ - MacClear(); -} - -void wxMacDataBrowserListControl::ListDeselectAll() -{ - wxMacDataItemBrowserSelectionSuppressor suppressor(this); - SetSelectedAllItems( kDataBrowserItemsRemove ); -} - -void wxMacDataBrowserListControl::ListSetSelection( unsigned int n, bool select, bool multi ) -{ - wxMacDataItem* item = (wxMacDataItem*) GetItemFromLine(n); - wxMacDataItemBrowserSelectionSuppressor suppressor(this); - - if ( IsItemSelected( item ) != select ) - { - if ( select ) - SetSelectedItem( item, multi ? kDataBrowserItemsAdd : kDataBrowserItemsAssign ); - else - SetSelectedItem( item, kDataBrowserItemsRemove ); - } - - ListScrollTo( n ); -} - -bool wxMacDataBrowserListControl::ListIsSelected( unsigned int n ) const -{ - wxMacDataItem* item = (wxMacDataItem*) GetItemFromLine(n); - return IsItemSelected( item ); -} - -int wxMacDataBrowserListControl::ListGetSelection() const -{ - wxMacDataItemPtr first, last; - GetSelectionAnchor( &first, &last ); - - if ( first != NULL ) - { - return GetLineFromItem( first ); - } - - return -1; -} - -int wxMacDataBrowserListControl::ListGetSelections( wxArrayInt& aSelections ) const -{ - aSelections.Empty(); - wxArrayMacDataItemPtr selectedItems; - GetItems( wxMacDataBrowserRootContainer, false , kDataBrowserItemIsSelected, selectedItems); - - int count = selectedItems.GetCount(); - - for ( int i = 0; i < count; ++i) - { - aSelections.Add(GetLineFromItem(selectedItems[i])); - } - - return count; -} - -void wxMacDataBrowserListControl::ListScrollTo( unsigned int n ) -{ - UInt32 top , left ; - GetScrollPosition( &top , &left ) ; - wxMacDataItem * item = (wxMacDataItem*) GetItemFromLine( n ); - - // there is a bug in RevealItem that leads to situations - // in large lists, where the item does not get scrolled - // into sight, so we do a pre-scroll if necessary - UInt16 height ; - GetRowHeight( (DataBrowserItemID) item , &height ) ; - UInt32 linetop = n * ((UInt32) height ); - UInt32 linebottom = linetop + height; - Rect rect ; - GetControlBounds( m_controlRef, &rect ); - - if ( linetop < top || linebottom > (top + rect.bottom - rect.top ) ) - SetScrollPosition( wxMax( n-2, 0 ) * ((UInt32)height) , left ) ; - - RevealItem( item , kDataBrowserRevealWithoutSelecting ); -} - -void wxMacDataBrowserListControl::UpdateLine( unsigned int n, wxListWidgetColumn* col ) -{ - wxMacDataBrowserColumn* dbcol = dynamic_cast (col); - wxMacDataItem * item = (wxMacDataItem*) GetItemFromLine( n ); - UpdateItem(wxMacDataBrowserRootContainer, item, dbcol ? dbcol->GetProperty() : kDataBrowserNoItem ); -} - -void wxMacDataBrowserListControl::UpdateLineToEnd( unsigned int n) -{ - // with databrowser inserting does not need updating the entire model, it's done by databrowser itself - wxMacDataItem * item = (wxMacDataItem*) GetItemFromLine( n ); - UpdateItem(wxMacDataBrowserRootContainer, item, kDataBrowserNoItem ); -} - -// value setters - -void wxMacDataBrowserCellValue::Set( CFStringRef value ) -{ - SetDataBrowserItemDataText( m_data, value ); -} - -void wxMacDataBrowserCellValue::Set( const wxString& value ) -{ - wxCFStringRef cf(value); - SetDataBrowserItemDataText( m_data, (CFStringRef) cf); -} - -void wxMacDataBrowserCellValue::Set( int value ) -{ - SetDataBrowserItemDataValue( m_data, value ); -} - -void wxMacDataBrowserCellValue::Check( bool check ) -{ - SetDataBrowserItemDataButtonValue( m_data, check ? kThemeButtonOn : kThemeButtonOff); -} - -int wxMacDataBrowserCellValue::GetIntValue() const -{ - SInt32 value; - GetDataBrowserItemDataValue( m_data, &value ); - return value; -} - -wxString wxMacDataBrowserCellValue::GetStringValue() const -{ - CFStringRef value; - GetDataBrowserItemDataText ( m_data, &value ); - wxCFStringRef cf(value); - return cf.AsString(); -} - -#if 0 - -// in case we need that one day - -// ============================================================================ -// HIView owner-draw-based implementation -// ============================================================================ - -static pascal void ListBoxDrawProc( - ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, - DataBrowserItemState itemState, const Rect *itemRect, SInt16 depth, Boolean isColorDevice ) -{ - CFStringRef cfString; - ThemeDrawingState themeState; - long systemVersion; - - GetThemeDrawingState( &themeState ); - cfString = CFStringCreateWithFormat( NULL, NULL, CFSTR("Row %d"), item ); - - // In this sample we handle the "selected" state; all others fall through to our "active" state - if ( itemState == kDataBrowserItemIsSelected ) - { - ThemeBrush colorBrushID; - - // TODO: switch over to wxSystemSettingsNative::GetColour() when kThemeBrushSecondaryHighlightColor - // is incorporated Panther DB starts using kThemeBrushSecondaryHighlightColor - // for inactive browser highlighting - if ( !IsControlActive( browser ) ) - colorBrushID = kThemeBrushSecondaryHighlightColor; - else - colorBrushID = kThemeBrushPrimaryHighlightColor; - - // First paint the hilite rect, then the text on top - SetThemePen( colorBrushID, 32, true ); - PaintRect( itemRect ); - SetThemeDrawingState( themeState, false ); - } - - DrawThemeTextBox( cfString, kThemeApplicationFont, kThemeStateActive, true, itemRect, teFlushDefault, NULL ); - SetThemeDrawingState( themeState, true ); - - if ( cfString != NULL ) - CFRelease( cfString ); -} - -#endif - - -#endif // wxUSE_LISTBOX diff --git a/src/osx/carbon/listctrl_mac.cpp b/src/osx/carbon/listctrl_mac.cpp deleted file mode 100644 index e15949fb9d..0000000000 --- a/src/osx/carbon/listctrl_mac.cpp +++ /dev/null @@ -1,3394 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/listctrl_mac.cpp -// Purpose: wxListCtrl -// Author: Julian Smart -// Modified by: Agron Selimaj -// Created: 04/01/98 -// Copyright: (c) Julian Smart -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#if wxUSE_LISTCTRL - -#include "wx/listctrl.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/settings.h" -#endif - -#include "wx/osx/uma.h" - -#include "wx/imaglist.h" -#include "wx/sysopt.h" -#include "wx/timer.h" - -#include "wx/hashmap.h" - -WX_DECLARE_HASH_MAP( int, wxListItem*, wxIntegerHash, wxIntegerEqual, wxListItemList ); - -#include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxColumnList) - -// so we can check for column clicks -static const EventTypeSpec eventList[] = -{ - { kEventClassControl, kEventControlHit }, - { kEventClassControl, kEventControlDraw } -}; - -static pascal OSStatus wxMacListCtrlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - wxListCtrl *window = (wxListCtrl*) data ; - wxListEvent le( wxEVT_LIST_COL_CLICK, window->GetId() ); - le.SetEventObject( window ); - - switch ( GetEventKind( event ) ) - { - // check if the column was clicked on and fire an event if so - case kEventControlHit : - { - ControlPartCode result = cEvent.GetParameter(kEventParamControlPart, typeControlPartCode) ; - if (result == kControlButtonPart){ - DataBrowserPropertyID col; - GetDataBrowserSortProperty(controlRef, &col); - - DataBrowserTableViewColumnIndex column = 0; - verify_noerr( GetDataBrowserTableViewColumnPosition( controlRef, col, &column ) ); - - le.m_col = column; - // FIXME: we can't use the sort property for virtual listctrls - // so we need to find a better way to determine which column was clicked... - if (!window->IsVirtual()) - window->HandleWindowEvent( le ); - } - result = CallNextEventHandler(handler, event); - break; - } - case kEventControlDraw: - { - CGContextRef context = cEvent.GetParameter(kEventParamCGContextRef, typeCGContextRef) ; - window->MacSetDrawingContext(context); - result = CallNextEventHandler(handler, event); - window->MacSetDrawingContext(NULL); - break; - } - default : - break ; - } - - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacListCtrlEventHandler ) - -class wxMacListCtrlItem : public wxMacDataItem -{ -public: - wxMacListCtrlItem(); - - virtual void Notification(wxMacDataItemBrowserControl *owner , - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ) const; - - virtual void SetColumnInfo( unsigned int column, wxListItem* item ); - virtual wxListItem* GetColumnInfo( unsigned int column ); - virtual bool HasColumnInfo( unsigned int column ); - - virtual void SetColumnTextValue( unsigned int column, const wxString& text ); - virtual wxString GetColumnTextValue( unsigned int column ); - - virtual int GetColumnImageValue( unsigned int column ); - virtual void SetColumnImageValue( unsigned int column, int imageIndex ); - - virtual ~wxMacListCtrlItem(); -protected: - wxListItemList m_rowItems; -}; - -DataBrowserDrawItemUPP gDataBrowserDrawItemUPP = NULL; -//DataBrowserEditItemUPP gDataBrowserEditItemUPP = NULL; -DataBrowserHitTestUPP gDataBrowserHitTestUPP = NULL; - -// TODO: Make a better name!! -class wxMacDataBrowserListCtrlControl : public wxMacDataItemBrowserControl -{ -public: - wxMacDataBrowserListCtrlControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); - wxMacDataBrowserListCtrlControl() {} - virtual ~wxMacDataBrowserListCtrlControl(); - - // create a list item (can be a subclass of wxMacListBoxItem) - - virtual void MacInsertItem( unsigned int n, wxListItem* item ); - virtual void MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item ); - virtual void MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item ); - virtual void UpdateState(wxMacDataItem* dataItem, wxListItem* item); - int GetFlags() { return m_flags; } - -protected: - // we need to override to provide specialized handling for virtual wxListCtrls - virtual OSStatus GetSetItemData(DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ); - - virtual void ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData); - - virtual Boolean CompareItems(DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty); - - static pascal void DataBrowserDrawItemProc(ControlRef browser, - DataBrowserItemID item, - DataBrowserPropertyID property, - DataBrowserItemState itemState, - const Rect *theRect, - SInt16 gdDepth, - Boolean colorDevice); - - virtual void DrawItem(DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemState itemState, - const Rect *itemRect, - SInt16 gdDepth, - Boolean colorDevice); - - static pascal Boolean DataBrowserEditTextProc(ControlRef browser, - DataBrowserItemID item, - DataBrowserPropertyID property, - CFStringRef theString, - Rect *maxEditTextRect, - Boolean *shrinkToFit); - - static pascal Boolean DataBrowserHitTestProc(ControlRef WXUNUSED(browser), - DataBrowserItemID WXUNUSED(itemID), - DataBrowserPropertyID WXUNUSED(property), - const Rect *WXUNUSED(theRect), - const Rect *WXUNUSED(mouseRect)) { return true; } - - virtual bool ConfirmEditText(DataBrowserItemID item, - DataBrowserPropertyID property, - CFStringRef theString, - Rect *maxEditTextRect, - Boolean *shrinkToFit); - - - - wxClientDataType m_clientDataItemsType; - bool m_isVirtual; - int m_flags; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListCtrlControl); -}; - -class wxMacListCtrlEventDelegate : public wxEvtHandler -{ -public: - wxMacListCtrlEventDelegate( wxListCtrl* list, int id ); - virtual bool ProcessEvent( wxEvent& event ); - -private: - wxListCtrl* m_list; - int m_id; -}; - -wxMacListCtrlEventDelegate::wxMacListCtrlEventDelegate( wxListCtrl* list, int id ) -{ - m_list = list; - m_id = id; -} - -bool wxMacListCtrlEventDelegate::ProcessEvent( wxEvent& event ) -{ - int id = event.GetId(); - wxObject* obj = event.GetEventObject(); - - // even though we use a generic list ctrl underneath, make sure - // we present ourselves as wxListCtrl. - event.SetEventObject( m_list ); - event.SetId( m_id ); - - if ( !event.IsKindOf( CLASSINFO( wxCommandEvent ) ) ) - { - if (m_list->GetEventHandler()->ProcessEvent( event )) - { - event.SetId(id); - event.SetEventObject(obj); - return true; - } - } - // Also try with the original id - bool success = wxEvtHandler::ProcessEvent(event); - event.SetId(id); - event.SetEventObject(obj); - if (!success && id != m_id) - success = wxEvtHandler::ProcessEvent(event); - return success; -} - -//----------------------------------------------------------------------------- -// wxListCtrlRenameTimer (internal) -//----------------------------------------------------------------------------- - -class wxListCtrlRenameTimer: public wxTimer -{ -private: - wxListCtrl *m_owner; - -public: - wxListCtrlRenameTimer( wxListCtrl *owner ); - void Notify(); -}; - -//----------------------------------------------------------------------------- -// wxListCtrlTextCtrlWrapper: wraps a wxTextCtrl to make it work for inline editing -//----------------------------------------------------------------------------- - -class wxListCtrlTextCtrlWrapper : public wxEvtHandler -{ -public: - // NB: text must be a valid object but not Create()d yet - wxListCtrlTextCtrlWrapper(wxListCtrl *owner, - wxTextCtrl *text, - long itemEdit); - - wxTextCtrl *GetText() const { return m_text; } - - void AcceptChangesAndFinish(); - -protected: - void OnChar( wxKeyEvent &event ); - void OnKeyUp( wxKeyEvent &event ); - void OnKillFocus( wxFocusEvent &event ); - - bool AcceptChanges(); - void Finish(); - -private: - wxListCtrl *m_owner; - wxTextCtrl *m_text; - wxString m_startValue; - long m_itemEdited; - bool m_finished; - bool m_aboutToFinish; - - wxDECLARE_EVENT_TABLE(); -}; - -//----------------------------------------------------------------------------- -// wxListCtrlRenameTimer (internal) -//----------------------------------------------------------------------------- - -wxListCtrlRenameTimer::wxListCtrlRenameTimer( wxListCtrl *owner ) -{ - m_owner = owner; -} - -void wxListCtrlRenameTimer::Notify() -{ - m_owner->OnRenameTimer(); -} - -//----------------------------------------------------------------------------- -// wxListCtrlTextCtrlWrapper (internal) -//----------------------------------------------------------------------------- - -wxBEGIN_EVENT_TABLE(wxListCtrlTextCtrlWrapper, wxEvtHandler) - EVT_CHAR (wxListCtrlTextCtrlWrapper::OnChar) - EVT_KEY_UP (wxListCtrlTextCtrlWrapper::OnKeyUp) - EVT_KILL_FOCUS (wxListCtrlTextCtrlWrapper::OnKillFocus) -wxEND_EVENT_TABLE() - -wxListCtrlTextCtrlWrapper::wxListCtrlTextCtrlWrapper(wxListCtrl *owner, - wxTextCtrl *text, - long itemEdit) - : m_startValue(owner->GetItemText(itemEdit)), - m_itemEdited(itemEdit) -{ - m_owner = owner; - m_text = text; - m_finished = false; - m_aboutToFinish = false; - - wxRect rectLabel; - int offset = 8; - owner->GetItemRect(itemEdit, rectLabel); - - m_text->Create(owner, wxID_ANY, m_startValue, - wxPoint(rectLabel.x+offset,rectLabel.y), - wxSize(rectLabel.width-offset,rectLabel.height)); - m_text->SetFocus(); - - m_text->PushEventHandler(this); -} - -void wxListCtrlTextCtrlWrapper::Finish() -{ - if ( !m_finished ) - { - m_finished = true; - - m_text->RemoveEventHandler(this); - m_owner->FinishEditing(m_text); - - wxPendingDelete.Append( this ); - } -} - -bool wxListCtrlTextCtrlWrapper::AcceptChanges() -{ - const wxString value = m_text->GetValue(); - - if ( value == m_startValue ) - // nothing changed, always accept - return true; - - if ( !m_owner->OnRenameAccept(m_itemEdited, value) ) - // vetoed by the user - return false; - - // accepted, do rename the item - m_owner->SetItemText(m_itemEdited, value); - - return true; -} - -void wxListCtrlTextCtrlWrapper::AcceptChangesAndFinish() -{ - m_aboutToFinish = true; - - // Notify the owner about the changes - AcceptChanges(); - - // Even if vetoed, close the control (consistent with MSW) - Finish(); -} - -void wxListCtrlTextCtrlWrapper::OnChar( wxKeyEvent &event ) -{ - switch ( event.m_keyCode ) - { - case WXK_RETURN: - AcceptChangesAndFinish(); - break; - - case WXK_ESCAPE: - m_owner->OnRenameCancelled( m_itemEdited ); - Finish(); - break; - - default: - event.Skip(); - } -} - -void wxListCtrlTextCtrlWrapper::OnKeyUp( wxKeyEvent &event ) -{ - if (m_finished) - { - event.Skip(); - return; - } - - // auto-grow the textctrl: - wxSize parentSize = m_owner->GetSize(); - wxPoint myPos = m_text->GetPosition(); - wxSize mySize = m_text->GetSize(); - int sx, sy; - m_text->GetTextExtent(m_text->GetValue() + wxT("MM"), &sx, &sy); - if (myPos.x + sx > parentSize.x) - sx = parentSize.x - myPos.x; - if (mySize.x > sx) - sx = mySize.x; - m_text->SetSize(sx, wxDefaultCoord); - - event.Skip(); -} - -void wxListCtrlTextCtrlWrapper::OnKillFocus( wxFocusEvent &event ) -{ - if ( !m_finished && !m_aboutToFinish ) - { - if ( !AcceptChanges() ) - m_owner->OnRenameCancelled( m_itemEdited ); - - Finish(); - } - - // We must let the native text control handle focus - event.Skip(); -} - -// ============================================================================ -// implementation -// ============================================================================ - -wxMacDataBrowserListCtrlControl* wxListCtrl::GetListPeer() const -{ - return dynamic_cast ( GetPeer() ); -} - -// ---------------------------------------------------------------------------- -// wxListCtrl construction -// ---------------------------------------------------------------------------- - -void wxListCtrl::Init() -{ - m_imageListNormal = NULL; - m_imageListSmall = NULL; - m_imageListState = NULL; - - // keep track of if we created our own image lists, or if they were assigned - // to us. - m_ownsImageListNormal = m_ownsImageListSmall = m_ownsImageListState = false; - m_colCount = 0; - m_count = 0; - m_textCtrl = NULL; - m_genericImpl = NULL; - m_dbImpl = NULL; - m_compareFunc = NULL; - m_compareFuncData = 0; - m_colsInfo = wxColumnList(); - m_textColor = wxNullColour; - m_bgColor = wxNullColour; - m_textctrlWrapper = NULL; - m_current = -1; - m_renameTimer = NULL; -} - -class wxGenericListCtrlHook : public wxGenericListCtrl -{ -public: - wxGenericListCtrlHook(wxListCtrl* parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxValidator& validator, - const wxString& name) - : wxGenericListCtrl(parent, id, pos, size, style, validator, name), - m_nativeListCtrl(parent) - { - } - -protected: - virtual wxListItemAttr * OnGetItemAttr(long item) const - { - return m_nativeListCtrl->OnGetItemAttr(item); - } - - virtual int OnGetItemImage(long item) const - { - return m_nativeListCtrl->OnGetItemImage(item); - } - - virtual int OnGetItemColumnImage(long item, long column) const - { - return m_nativeListCtrl->OnGetItemColumnImage(item, column); - } - - virtual wxString OnGetItemText(long item, long column) const - { - return m_nativeListCtrl->OnGetItemText(item, column); - } - - wxListCtrl* m_nativeListCtrl; - -}; - -void wxListCtrl::OnLeftDown(wxMouseEvent& event) -{ - if ( m_textctrlWrapper ) - { - m_current = -1; - m_textctrlWrapper->AcceptChangesAndFinish(); - } - - int hitResult; - long current = HitTest(event.GetPosition(), hitResult); - if ((current == m_current) && - (hitResult & wxLIST_HITTEST_ONITEMLABEL) && - HasFlag(wxLC_EDIT_LABELS) ) - { - if ( m_renameTimer ) - m_renameTimer->Start( 250, true ); - } - else - { - m_current = current; - } - event.Skip(); -} - -void wxListCtrl::OnDblClick(wxMouseEvent& event) -{ - if ( m_renameTimer && m_renameTimer->IsRunning() ) - m_renameTimer->Stop(); - event.Skip(); -} - -#if wxABI_VERSION >= 20801 -void wxListCtrl::OnRightDown(wxMouseEvent& event) -{ - if (m_dbImpl) - FireMouseEvent(wxEVT_LIST_ITEM_RIGHT_CLICK, event.GetPosition()); - event.Skip(); -} - -void wxListCtrl::OnMiddleDown(wxMouseEvent& event) -{ - if (m_dbImpl) - FireMouseEvent(wxEVT_LIST_ITEM_MIDDLE_CLICK, event.GetPosition()); - event.Skip(); -} - -void wxListCtrl::FireMouseEvent(wxEventType eventType, wxPoint position) -{ - wxListEvent le( eventType, GetId() ); - le.SetEventObject(this); - le.m_pointDrag = position; - le.m_itemIndex = -1; - - int flags; - long item = HitTest(position, flags); - if (flags & wxLIST_HITTEST_ONITEM) - { - le.m_itemIndex = item; - le.m_item.m_itemId = item; - GetItem(le.m_item); - HandleWindowEvent(le); - } -} - -void wxListCtrl::OnChar(wxKeyEvent& event) -{ - - - if (m_dbImpl) - { - wxListEvent le( wxEVT_LIST_KEY_DOWN, GetId() ); - le.SetEventObject(this); - le.m_code = event.GetKeyCode(); - le.m_itemIndex = -1; - - if (m_current == -1) - { - // if m_current isn't set, check if there's been a selection - // made before continuing - m_current = GetNextItem(-1, wxLIST_NEXT_BELOW, wxLIST_STATE_SELECTED); - } - - // We need to determine m_current ourselves when navigation keys - // are used. Note that PAGEUP and PAGEDOWN do not alter the current - // item on native Mac ListCtrl, so we only handle up and down keys. - switch ( event.GetKeyCode() ) - { - case WXK_UP: - if ( m_current > 0 ) - m_current -= 1; - else - m_current = 0; - - break; - - case WXK_DOWN: - if ( m_current < GetItemCount() - 1 ) - m_current += 1; - else - m_current = GetItemCount() - 1; - - break; - } - - if (m_current != -1) - { - le.m_itemIndex = m_current; - le.m_item.m_itemId = m_current; - GetItem(le.m_item); - HandleWindowEvent(le); - } - } - event.Skip(); -} -#endif - -bool wxListCtrl::Create(wxWindow *parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxValidator& validator, - const wxString& name) -{ - - // for now, we'll always use the generic list control for ICON and LIST views, - // because they dynamically change the number of columns on resize. - // Also, allow the user to set it to use the list ctrl as well. - if ( (wxSystemOptions::HasOption( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL ) - && (wxSystemOptions::GetOptionInt( wxMAC_ALWAYS_USE_GENERIC_LISTCTRL ) == 1)) || - (style & wxLC_ICON) || (style & wxLC_SMALL_ICON) || (style & wxLC_LIST) ) - { - long paneStyle = style; - paneStyle &= ~wxSIMPLE_BORDER; - paneStyle &= ~wxDOUBLE_BORDER; - paneStyle &= ~wxSUNKEN_BORDER; - paneStyle &= ~wxRAISED_BORDER; - paneStyle &= ~wxSTATIC_BORDER; - if ( !wxWindow::Create(parent, id, pos, size, paneStyle | wxNO_BORDER, name) ) - return false; - - // since the generic control is a child, make sure we position it at 0, 0 - m_genericImpl = new wxGenericListCtrlHook(this, id, wxPoint(0, 0), size, style, validator, name); - m_genericImpl->PushEventHandler( new wxMacListCtrlEventDelegate( this, GetId() ) ); - return true; - } - - else - { - DontCreatePeer(); - if ( !wxWindow::Create(parent, id, pos, size, style & ~(wxHSCROLL | wxVSCROLL), name) ) - return false; - m_dbImpl = new wxMacDataBrowserListCtrlControl( this, pos, size, style ); - SetPeer(m_dbImpl); - - MacPostControlCreate( pos, size ); - - InstallControlEventHandler( GetPeer()->GetControlRef() , GetwxMacListCtrlEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, this, - (EventHandlerRef *)&m_macListCtrlEventHandler); - - m_renameTimer = new wxListCtrlRenameTimer( this ); - - Connect( wxID_ANY, wxEVT_CHAR, wxCharEventHandler(wxListCtrl::OnChar), NULL, this ); - Connect( wxID_ANY, wxEVT_LEFT_DOWN, wxMouseEventHandler(wxListCtrl::OnLeftDown), NULL, this ); - Connect( wxID_ANY, wxEVT_LEFT_DCLICK, wxMouseEventHandler(wxListCtrl::OnDblClick), NULL, this ); - Connect( wxID_ANY, wxEVT_MIDDLE_DOWN, wxMouseEventHandler(wxListCtrl::OnMiddleDown), NULL, this ); - Connect( wxID_ANY, wxEVT_RIGHT_DOWN, wxMouseEventHandler(wxListCtrl::OnRightDown), NULL, this ); - } - - return true; -} - -wxListCtrl::~wxListCtrl() -{ - if (m_genericImpl) - { - m_genericImpl->PopEventHandler(/* deleteHandler = */ true); - } - - if (m_ownsImageListNormal) - delete m_imageListNormal; - if (m_ownsImageListSmall) - delete m_imageListSmall; - if (m_ownsImageListState) - delete m_imageListState; - - delete m_renameTimer; - - WX_CLEAR_LIST(wxColumnList, m_colsInfo); -} - -/*static*/ -wxVisualAttributes -wxListCtrl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) -{ - wxVisualAttributes attr; - - attr.colFg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ); - attr.colBg = wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX ); - static wxFont font = wxFont(wxOSX_SYSTEM_FONT_VIEWS); - attr.font = font; - - return attr; -} - -// ---------------------------------------------------------------------------- -// set/get/change style -// ---------------------------------------------------------------------------- - -// Add or remove a single window style -void wxListCtrl::SetSingleStyle(long style, bool add) -{ - long flag = GetWindowStyleFlag(); - - // Get rid of conflicting styles - if ( add ) - { - if ( style & wxLC_MASK_TYPE) - flag = flag & ~wxLC_MASK_TYPE; - if ( style & wxLC_MASK_ALIGN ) - flag = flag & ~wxLC_MASK_ALIGN; - if ( style & wxLC_MASK_SORT ) - flag = flag & ~wxLC_MASK_SORT; - } - - if ( add ) - flag |= style; - else - flag &= ~style; - - SetWindowStyleFlag(flag); -} - -// Set the whole window style -void wxListCtrl::SetWindowStyleFlag(long flag) -{ - if ( flag != m_windowStyle ) - { - m_windowStyle = flag; - - if (m_genericImpl) - { - m_genericImpl->SetWindowStyleFlag(flag); - } - - Refresh(); - } -} - -void wxListCtrl::DoSetSize( int x, int y, int width, int height, int sizeFlags ) -{ - wxListCtrlBase::DoSetSize(x, y, width, height, sizeFlags); - - if (m_genericImpl) - m_genericImpl->SetSize(0, 0, width, height, sizeFlags); - - // determine if we need a horizontal scrollbar, and add it if so - if (m_dbImpl) - { - int totalWidth = 0; - for (int column = 0; column < GetColumnCount(); column++) - { - totalWidth += m_dbImpl->GetColumnWidth( column ); - } - - if ( !(m_dbImpl->GetFlags() & wxHSCROLL) ) - { - Boolean vertScrollBar; - GetDataBrowserHasScrollBars( m_dbImpl->GetControlRef(), NULL, &vertScrollBar ); - if (totalWidth > width) - SetDataBrowserHasScrollBars( m_dbImpl->GetControlRef(), true, vertScrollBar ); - else - SetDataBrowserHasScrollBars( m_dbImpl->GetControlRef(), false, vertScrollBar ); - } - } -} - -bool wxListCtrl::SetFont(const wxFont& font) -{ - bool rv = wxListCtrlBase::SetFont(font); - if (m_genericImpl) - rv = m_genericImpl->SetFont(font); - return rv; -} - -bool wxListCtrl::SetForegroundColour(const wxColour& colour) -{ - bool rv = true; - if (m_genericImpl) - rv = m_genericImpl->SetForegroundColour(colour); - if (m_dbImpl) - SetTextColour(colour); - return rv; -} - -bool wxListCtrl::SetBackgroundColour(const wxColour& colour) -{ - bool rv = true; - if (m_genericImpl) - rv = m_genericImpl->SetBackgroundColour(colour); - if (m_dbImpl) - m_bgColor = colour; - return rv; -} - -wxColour wxListCtrl::GetBackgroundColour() const -{ - if (m_genericImpl) - return m_genericImpl->GetBackgroundColour(); - if (m_dbImpl) - return m_bgColor; - - return wxNullColour; -} - -void wxListCtrl::Freeze () -{ - if (m_genericImpl) - m_genericImpl->Freeze(); - wxListCtrlBase::Freeze(); -} - -void wxListCtrl::Thaw () -{ - if (m_genericImpl) - m_genericImpl->Thaw(); - wxListCtrlBase::Thaw(); -} - -void wxListCtrl::Update () -{ - if (m_genericImpl) - m_genericImpl->Update(); - wxListCtrlBase::Update(); -} - -// ---------------------------------------------------------------------------- -// accessors -// ---------------------------------------------------------------------------- - -// Gets information about this column -bool wxListCtrl::GetColumn(int col, wxListItem& item) const -{ - if (m_genericImpl) - return m_genericImpl->GetColumn(col, item); - - bool success = true; - - if (m_dbImpl) - { - wxColumnList::compatibility_iterator node = m_colsInfo.Item( col ); - wxASSERT_MSG( node, wxT("invalid column index in wxMacListCtrlItem") ); - wxListItem* column = node->GetData(); - - long mask = column->GetMask(); - if (mask & wxLIST_MASK_TEXT) - item.SetText(column->GetText()); - if (mask & wxLIST_MASK_DATA) - item.SetData(column->GetData()); - if (mask & wxLIST_MASK_IMAGE) - item.SetImage(column->GetImage()); - if (mask & wxLIST_MASK_STATE) - item.SetState(column->GetState()); - if (mask & wxLIST_MASK_FORMAT) - item.SetAlign(column->GetAlign()); - if (mask & wxLIST_MASK_WIDTH) - item.SetWidth(column->GetWidth()); - } - - return success; -} - -// Sets information about this column -bool wxListCtrl::SetColumn(int col, const wxListItem& item) -{ - if (m_genericImpl) - return m_genericImpl->SetColumn(col, item); - - if (m_dbImpl) - { - wxASSERT_MSG( col < (int)m_colsInfo.GetCount(), wxT("invalid column index in wxMacListCtrlItem") ); - - long mask = item.GetMask(); - { - wxListItem listItem; - GetColumn( col, listItem ); - - if (mask & wxLIST_MASK_TEXT) - listItem.SetText(item.GetText()); - if (mask & wxLIST_MASK_DATA) - listItem.SetData(item.GetData()); - if (mask & wxLIST_MASK_IMAGE) - listItem.SetImage(item.GetImage()); - if (mask & wxLIST_MASK_STATE) - listItem.SetState(item.GetState()); - if (mask & wxLIST_MASK_FORMAT) - listItem.SetAlign(item.GetAlign()); - if (mask & wxLIST_MASK_WIDTH) - listItem.SetWidth(item.GetWidth()); - } - - // change the appearance in the databrowser. - DataBrowserListViewHeaderDesc columnDesc; - columnDesc.version=kDataBrowserListViewLatestHeaderDesc; - - DataBrowserTableViewColumnID id = 0; - verify_noerr( m_dbImpl->GetColumnIDFromIndex( col, &id ) ); - verify_noerr( m_dbImpl->GetHeaderDesc( id, &columnDesc ) ); - - /* - if (item.GetMask() & wxLIST_MASK_TEXT) - { - wxFontEncoding enc; - if ( m_font.IsOk() ) - enc = GetFont().GetEncoding(); - else - enc = wxLocale::GetSystemEncoding(); - wxCFStringRef cfTitle; - cfTitle.Assign( item.GetText() , enc ); - if(columnDesc.titleString) - CFRelease(columnDesc.titleString); - columnDesc.titleString = cfTitle; - } - */ - - if (item.GetMask() & wxLIST_MASK_IMAGE && item.GetImage() != -1 ) - { - wxImageList* imageList = GetImageList(wxIMAGE_LIST_SMALL); - if (imageList && imageList->GetImageCount() > 0 ) - { - wxBitmap bmp = imageList->GetBitmap( item.GetImage() ); - IconRef icon = bmp.GetIconRef(); - columnDesc.btnContentInfo.u.iconRef = icon; - columnDesc.btnContentInfo.contentType = kControlContentIconRef; - } - } - - verify_noerr( m_dbImpl->SetHeaderDesc( id, &columnDesc ) ); - - } - return true; -} - -int wxListCtrl::GetColumnCount() const -{ - if (m_genericImpl) - return m_genericImpl->GetColumnCount(); - - if (m_dbImpl) - { - UInt32 count; - m_dbImpl->GetColumnCount(&count); - return count; - } - - return m_colCount; -} - -// Gets the column width -int wxListCtrl::GetColumnWidth(int col) const -{ - if (m_genericImpl) - return m_genericImpl->GetColumnWidth(col); - - if (m_dbImpl) - { - return m_dbImpl->GetColumnWidth(col); - } - - return 0; -} - -// Sets the column width -bool wxListCtrl::SetColumnWidth(int col, int width) -{ - if (m_genericImpl) - return m_genericImpl->SetColumnWidth(col, width); - - if (m_dbImpl) - { - if ( width == wxLIST_AUTOSIZE_USEHEADER ) - { - width = 150; // FIXME - } - - if (col == -1) - { - for (int column = 0; column < GetColumnCount(); column++) - { - wxListItem colInfo; - GetColumn(column, colInfo); - - colInfo.SetWidth(width); - SetColumn(column, colInfo); - - const int mywidth = (width == wxLIST_AUTOSIZE) - ? CalcColumnAutoWidth(column) : width; - m_dbImpl->SetColumnWidth(column, mywidth); - } - } - else - { - if ( width == wxLIST_AUTOSIZE ) - width = CalcColumnAutoWidth(col); - - wxListItem colInfo; - GetColumn(col, colInfo); - - colInfo.SetWidth(width); - SetColumn(col, colInfo); - m_dbImpl->SetColumnWidth(col, width); - } - return true; - } - - return false; -} - -// Gets the number of items that can fit vertically in the -// visible area of the list control (list or report view) -// or the total number of items in the list control (icon -// or small icon view) -int wxListCtrl::GetCountPerPage() const -{ - if (m_genericImpl) - return m_genericImpl->GetCountPerPage(); - - if (m_dbImpl) - { - UInt16 height = 1; - m_dbImpl->GetDefaultRowHeight( &height ); - if (height > 0) - return GetClientSize().y / height; - } - - return 1; -} - -// Gets the edit control for editing labels. -wxTextCtrl* wxListCtrl::GetEditControl() const -{ - if (m_genericImpl) - return m_genericImpl->GetEditControl(); - - return NULL; -} - -// Gets information about the item -bool wxListCtrl::GetItem(wxListItem& info) const -{ - if (m_genericImpl) - return m_genericImpl->GetItem(info); - - if (m_dbImpl) - { - if (!IsVirtual()) - { - if (info.m_itemId >= 0 && info.m_itemId < GetItemCount()) - { - m_dbImpl->MacGetColumnInfo(info.m_itemId, info.m_col, info); - // MacGetColumnInfo returns erroneous information in the state field, so zero it. - info.SetState(0); - if (info.GetMask() & wxLIST_MASK_STATE) - { - DataBrowserItemID id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(info.m_itemId); - if (IsDataBrowserItemSelected( m_dbImpl->GetControlRef(), id )) - info.SetState(info.GetState() | wxLIST_STATE_SELECTED); - } - } - } - else - { - if (info.m_itemId >= 0 && info.m_itemId < GetItemCount()) - { - info.SetText( OnGetItemText(info.m_itemId, info.m_col) ); - info.SetImage( OnGetItemColumnImage(info.m_itemId, info.m_col) ); - if (info.GetMask() & wxLIST_MASK_STATE) - { - if (IsDataBrowserItemSelected( m_dbImpl->GetControlRef(), info.m_itemId+1 )) - info.SetState(info.GetState() | wxLIST_STATE_SELECTED); - } - - wxListItemAttr* attrs = OnGetItemAttr( info.m_itemId ); - if (attrs) - { - info.SetFont( attrs->GetFont() ); - info.SetBackgroundColour( attrs->GetBackgroundColour() ); - info.SetTextColour( attrs->GetTextColour() ); - } - } - } - } - bool success = true; - return success; -} - -// Sets information about the item -bool wxListCtrl::SetItem(wxListItem& info) -{ - if (m_genericImpl) - return m_genericImpl->SetItem(info); - - if (m_dbImpl) - m_dbImpl->MacSetColumnInfo( info.m_itemId, info.m_col, &info ); - - return true; -} - -long wxListCtrl::SetItem(long index, int col, const wxString& label, int imageId) -{ - if (m_genericImpl) - return m_genericImpl->SetItem(index, col, label, imageId); - - wxListItem info; - info.m_text = label; - info.m_mask = wxLIST_MASK_TEXT; - info.m_itemId = index; - info.m_col = col; - if ( imageId > -1 ) - { - info.m_image = imageId; - info.m_mask |= wxLIST_MASK_IMAGE; - } - return SetItem(info); -} - - -// Gets the item state -int wxListCtrl::GetItemState(long item, long stateMask) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemState(item, stateMask); - - if (m_dbImpl) - { - if ( HasFlag(wxLC_VIRTUAL) ) - { - if (stateMask == wxLIST_STATE_SELECTED) - { - if (IsDataBrowserItemSelected( m_dbImpl->GetControlRef(), item+1 )) - return wxLIST_STATE_SELECTED; - else - return 0; - } - } - else - { - wxListItem info; - - info.m_mask = wxLIST_MASK_STATE; - info.m_stateMask = stateMask; - info.m_itemId = item; - - if (!GetItem(info)) - return 0; - - return info.m_state; - } - } - - return 0; -} - -// Sets the item state -bool wxListCtrl::SetItemState(long item, long state, long stateMask) -{ - if (m_genericImpl) - return m_genericImpl->SetItemState(item, state, stateMask); - - if (m_dbImpl) - { - DataBrowserSetOption option = kDataBrowserItemsAdd; - if ( (stateMask & wxLIST_STATE_SELECTED) && state == 0 ) - option = kDataBrowserItemsRemove; - - if (item == -1) - { - if ( HasFlag(wxLC_VIRTUAL) ) - { - wxMacDataItemBrowserSelectionSuppressor suppressor(m_dbImpl); - m_dbImpl->SetSelectedAllItems(option); - } - else - { - for(int i = 0; i < GetItemCount();i++) - { - wxListItem info; - info.m_itemId = i; - info.m_mask = wxLIST_MASK_STATE; - info.m_stateMask = stateMask; - info.m_state = state; - SetItem(info); - } - } - } - else - { - if ( HasFlag(wxLC_VIRTUAL) ) - { - long itemID = item+1; - bool isSelected = IsDataBrowserItemSelected(m_dbImpl->GetControlRef(), (DataBrowserItemID)itemID ); - bool isSelectedState = (state == wxLIST_STATE_SELECTED); - - // toggle the selection state if wxListInfo state and actual state don't match. - if ( (stateMask & wxLIST_STATE_SELECTED) && isSelected != isSelectedState ) - { - SetDataBrowserSelectedItems(m_dbImpl->GetControlRef(), 1, (DataBrowserItemID*)&itemID, option); - } - } - else - { - wxListItem info; - info.m_itemId = item; - info.m_mask = wxLIST_MASK_STATE; - info.m_stateMask = stateMask; - info.m_state = state; - return SetItem(info); - } - } - } - return true; -} - -// Sets the item image -bool wxListCtrl::SetItemImage(long item, int image, int WXUNUSED(selImage)) -{ - return SetItemColumnImage(item, 0, image); -} - -// Sets the item image -bool wxListCtrl::SetItemColumnImage(long item, long column, int image) -{ - if (m_genericImpl) - return m_genericImpl->SetItemColumnImage(item, column, image); - - wxListItem info; - - info.m_mask = wxLIST_MASK_IMAGE; - info.m_image = image; - info.m_itemId = item; - info.m_col = column; - - return SetItem(info); -} - -// Gets the item text -wxString wxListCtrl::GetItemText(long item, int column) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemText(item, column); - - wxListItem info; - - info.m_mask = wxLIST_MASK_TEXT; - info.m_itemId = item; - info.m_col = column; - - if (!GetItem(info)) - return wxEmptyString; - return info.m_text; -} - -// Sets the item text -void wxListCtrl::SetItemText(long item, const wxString& str) -{ - if (m_genericImpl) - return m_genericImpl->SetItemText(item, str); - - wxListItem info; - - info.m_mask = wxLIST_MASK_TEXT; - info.m_itemId = item; - info.m_text = str; - - SetItem(info); -} - -// Gets the item data -long wxListCtrl::GetItemData(long item) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemData(item); - - wxListItem info; - - info.m_mask = wxLIST_MASK_DATA; - info.m_itemId = item; - - if (!GetItem(info)) - return 0; - return info.m_data; -} - -// Sets the item data -bool wxListCtrl::SetItemPtrData(long item, wxUIntPtr data) -{ - if (m_genericImpl) - return m_genericImpl->SetItemData(item, data); - - wxListItem info; - - info.m_mask = wxLIST_MASK_DATA; - info.m_itemId = item; - info.m_data = data; - - return SetItem(info); -} - -wxRect wxListCtrl::GetViewRect() const -{ - wxASSERT_MSG( !HasFlag(wxLC_REPORT | wxLC_LIST), - wxT("wxListCtrl::GetViewRect() only works in icon mode") ); - - if (m_genericImpl) - return m_genericImpl->GetViewRect(); - - wxRect rect; - return rect; -} - -bool wxListCtrl::GetSubItemRect( long item, long subItem, wxRect& rect, int code ) const -{ - if (m_genericImpl) - return m_genericImpl->GetSubItemRect(item, subItem, rect, code); - - // TODO: implement for DataBrowser implementation - return false; -} - -// Gets the item rectangle -bool wxListCtrl::GetItemRect(long item, wxRect& rect, int code) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemRect(item, rect, code); - - - if (m_dbImpl) - { - DataBrowserItemID id; - - DataBrowserTableViewColumnID col = 0; - verify_noerr( m_dbImpl->GetColumnIDFromIndex( 0, &col ) ); - - Rect bounds; - DataBrowserPropertyPart part = kDataBrowserPropertyEnclosingPart; - if ( code == wxLIST_RECT_LABEL ) - part = kDataBrowserPropertyTextPart; - else if ( code == wxLIST_RECT_ICON ) - part = kDataBrowserPropertyIconPart; - - if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL) ) - { - wxMacDataItem* thisItem = m_dbImpl->GetItemFromLine(item); - id = (DataBrowserItemID) thisItem; - } - else - id = item+1; - - GetDataBrowserItemPartBounds( m_dbImpl->GetControlRef(), id, col, part, &bounds ); - - rect.x = bounds.left; - rect.y = bounds.top; - rect.width = bounds.right - bounds.left; //GetClientSize().x; // we need the width of the whole row, not just the item. - rect.height = bounds.bottom - bounds.top; - //fprintf("id = %d, bounds = %d, %d, %d, %d\n", id, rect.x, rect.y, rect.width, rect.height); - } - return true; -} - -// Gets the item position -bool wxListCtrl::GetItemPosition(long item, wxPoint& pos) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemPosition(item, pos); - - bool success = false; - - if (m_dbImpl) - { - wxRect itemRect; - GetItemRect(item, itemRect); - pos = itemRect.GetPosition(); - success = true; - } - - return success; -} - -// Sets the item position. -bool wxListCtrl::SetItemPosition(long item, const wxPoint& pos) -{ - if (m_genericImpl) - return m_genericImpl->SetItemPosition(item, pos); - - return false; -} - -// Gets the number of items in the list control -int wxListCtrl::GetItemCount() const -{ - if (m_genericImpl) - return m_genericImpl->GetItemCount(); - - if (m_dbImpl) - return m_dbImpl->MacGetCount(); - - return m_count; -} - -void wxListCtrl::SetItemSpacing( int spacing, bool isSmall ) -{ - if (m_genericImpl) - m_genericImpl->SetItemSpacing(spacing, isSmall); -} - -wxSize wxListCtrl::GetItemSpacing() const -{ - if (m_genericImpl) - return m_genericImpl->GetItemSpacing(); - - return wxSize(0, 0); -} - -void wxListCtrl::SetItemTextColour( long item, const wxColour &col ) -{ - if (m_genericImpl) - { - m_genericImpl->SetItemTextColour(item, col); - return; - } - - wxListItem info; - info.m_itemId = item; - info.SetTextColour( col ); - SetItem( info ); -} - -wxColour wxListCtrl::GetItemTextColour( long item ) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemTextColour(item); - - if (m_dbImpl) - { - wxListItem info; - if (GetItem(info)) - return info.GetTextColour(); - } - return wxNullColour; -} - -void wxListCtrl::SetItemBackgroundColour( long item, const wxColour &col ) -{ - if (m_genericImpl) - { - m_genericImpl->SetItemBackgroundColour(item, col); - return; - } - - wxListItem info; - info.m_itemId = item; - info.SetBackgroundColour( col ); - SetItem( info ); -} - -wxColour wxListCtrl::GetItemBackgroundColour( long item ) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemBackgroundColour(item); - - if (m_dbImpl) - { - wxListItem info; - if (GetItem(info)) - return info.GetBackgroundColour(); - } - return wxNullColour; -} - -void wxListCtrl::SetItemFont( long item, const wxFont &f ) -{ - if (m_genericImpl) - { - m_genericImpl->SetItemFont(item, f); - return; - } - - wxListItem info; - info.m_itemId = item; - info.SetFont( f ); - SetItem( info ); -} - -wxFont wxListCtrl::GetItemFont( long item ) const -{ - if (m_genericImpl) - return m_genericImpl->GetItemFont(item); - - if (m_dbImpl) - { - wxListItem info; - if (GetItem(info)) - return info.GetFont(); - } - - return wxNullFont; -} - -// Gets the number of selected items in the list control -int wxListCtrl::GetSelectedItemCount() const -{ - if (m_genericImpl) - return m_genericImpl->GetSelectedItemCount(); - - if (m_dbImpl) - return m_dbImpl->GetSelectedItemCount(NULL, true); - - return 0; -} - -// Gets the text colour of the listview -wxColour wxListCtrl::GetTextColour() const -{ - if (m_genericImpl) - return m_genericImpl->GetTextColour(); - - // TODO: we need owner drawn list items to customize text color. - if (m_dbImpl) - return m_textColor; - - return wxNullColour; -} - -// Sets the text colour of the listview -void wxListCtrl::SetTextColour(const wxColour& col) -{ - if (m_genericImpl) - { - m_genericImpl->SetTextColour(col); - return; - } - - if (m_dbImpl) - m_textColor = col; -} - -// Gets the index of the topmost visible item when in -// list or report view -long wxListCtrl::GetTopItem() const -{ - if (m_genericImpl) - return m_genericImpl->GetTopItem(); - - if (m_dbImpl) - { - int flags = 0; - long item = HitTest( wxPoint(1, 1), flags); - if (flags == wxLIST_HITTEST_ONITEM) - return item; - } - - return 0; -} - -// Searches for an item, starting from 'item'. -// 'geometry' is one of -// wxLIST_NEXT_ABOVE/ALL/BELOW/LEFT/RIGHT. -// 'state' is a state bit flag, one or more of -// wxLIST_STATE_DROPHILITED/FOCUSED/SELECTED/CUT. -// item can be -1 to find the first item that matches the -// specified flags. -// Returns the item or -1 if unsuccessful. -long wxListCtrl::GetNextItem(long item, int geom, int state) const -{ - if (m_genericImpl) - return m_genericImpl->GetNextItem(item, geom, state); - - // TODO: implement all geometry and state options? - if ( m_dbImpl ) - { - if ( geom == wxLIST_NEXT_ALL || geom == wxLIST_NEXT_BELOW ) - { - long count = m_dbImpl->MacGetCount() ; - for ( long line = item + 1 ; line < count; line++ ) - { - DataBrowserItemID id = line + 1; - if ( !IsVirtual() ) - id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(line); - - if ( (state & wxLIST_STATE_FOCUSED) && (m_current == line)) - return line; - - if ( (state == wxLIST_STATE_DONTCARE ) ) - return line; - - if ( (state & wxLIST_STATE_SELECTED) && IsDataBrowserItemSelected(m_dbImpl->GetControlRef(), id ) ) - return line; - } - } - - if ( geom == wxLIST_NEXT_ABOVE ) - { - int item2 = item; - if ( item2 == -1 ) - item2 = m_dbImpl->MacGetCount(); - - for ( long line = item2 - 1 ; line >= 0; line-- ) - { - DataBrowserItemID id = line + 1; - if ( !IsVirtual() ) - id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(line); - - if ( (state & wxLIST_STATE_FOCUSED) && (m_current == line)) - return line; - - if ( (state == wxLIST_STATE_DONTCARE ) ) - return line; - - if ( (state & wxLIST_STATE_SELECTED) && IsDataBrowserItemSelected(m_dbImpl->GetControlRef(), id ) ) - return line; - } - } - } - - return -1; -} - - -wxImageList *wxListCtrl::GetImageList(int which) const -{ - if (m_genericImpl) - return m_genericImpl->GetImageList(which); - - if ( which == wxIMAGE_LIST_NORMAL ) - { - return m_imageListNormal; - } - else if ( which == wxIMAGE_LIST_SMALL ) - { - return m_imageListSmall; - } - else if ( which == wxIMAGE_LIST_STATE ) - { - return m_imageListState; - } - return NULL; -} - -void wxListCtrl::SetImageList(wxImageList *imageList, int which) -{ - if (m_genericImpl) - { - m_genericImpl->SetImageList(imageList, which); - return; - } - - if ( which == wxIMAGE_LIST_NORMAL ) - { - if (m_ownsImageListNormal) delete m_imageListNormal; - m_imageListNormal = imageList; - m_ownsImageListNormal = false; - } - else if ( which == wxIMAGE_LIST_SMALL ) - { - if (m_ownsImageListSmall) delete m_imageListSmall; - m_imageListSmall = imageList; - m_ownsImageListSmall = false; - } - else if ( which == wxIMAGE_LIST_STATE ) - { - if (m_ownsImageListState) delete m_imageListState; - m_imageListState = imageList; - m_ownsImageListState = false; - } -} - -void wxListCtrl::AssignImageList(wxImageList *imageList, int which) -{ - if (m_genericImpl) - { - m_genericImpl->AssignImageList(imageList, which); - return; - } - - SetImageList(imageList, which); - if ( which == wxIMAGE_LIST_NORMAL ) - m_ownsImageListNormal = true; - else if ( which == wxIMAGE_LIST_SMALL ) - m_ownsImageListSmall = true; - else if ( which == wxIMAGE_LIST_STATE ) - m_ownsImageListState = true; -} - -// ---------------------------------------------------------------------------- -// Operations -// ---------------------------------------------------------------------------- - -// Arranges the items -bool wxListCtrl::Arrange(int flag) -{ - if (m_genericImpl) - return m_genericImpl->Arrange(flag); - return false; -} - -// Deletes an item -bool wxListCtrl::DeleteItem(long item) -{ - if (m_genericImpl) - return m_genericImpl->DeleteItem(item); - - if (m_dbImpl) - { - m_dbImpl->MacDelete(item); - wxListEvent event( wxEVT_LIST_DELETE_ITEM, GetId() ); - event.SetEventObject( this ); - event.m_itemIndex = item; - HandleWindowEvent( event ); - - } - return true; -} - -// Deletes all items -bool wxListCtrl::DeleteAllItems() -{ - m_current = -1; - if (m_genericImpl) - return m_genericImpl->DeleteAllItems(); - - if (m_dbImpl) - { - m_dbImpl->MacClear(); - wxListEvent event( wxEVT_LIST_DELETE_ALL_ITEMS, GetId() ); - event.SetEventObject( this ); - HandleWindowEvent( event ); - } - return true; -} - -// Deletes all items -bool wxListCtrl::DeleteAllColumns() -{ - if (m_genericImpl) - return m_genericImpl->DeleteAllColumns(); - - if (m_dbImpl) - { - UInt32 cols; - m_dbImpl->GetColumnCount(&cols); - for (UInt32 col = 0; col < cols; col++) - { - DeleteColumn(0); - } - } - - return true; -} - -// Deletes a column -bool wxListCtrl::DeleteColumn(int col) -{ - if (m_genericImpl) - return m_genericImpl->DeleteColumn(col); - - if (m_dbImpl) - { - OSStatus err = m_dbImpl->RemoveColumn(col); - return err == noErr; - } - - return true; -} - -// Clears items, and columns if there are any. -void wxListCtrl::ClearAll() -{ - if (m_genericImpl) - { - m_genericImpl->ClearAll(); - return; - } - - if (m_dbImpl) - { - DeleteAllItems(); - DeleteAllColumns(); - } -} - -wxTextCtrl* wxListCtrl::EditLabel(long item, wxClassInfo* textControlClass) -{ - if (m_genericImpl) - return m_genericImpl->EditLabel(item, textControlClass); - - if (m_dbImpl) - { - wxCHECK_MSG( (item >= 0) && ((long)item < GetItemCount()), NULL, - wxT("wrong index in wxListCtrl::EditLabel()") ); - - wxASSERT_MSG( textControlClass->IsKindOf(CLASSINFO(wxTextCtrl)), - wxT("EditLabel() needs a text control") ); - - wxListEvent le( wxEVT_LIST_BEGIN_LABEL_EDIT, GetParent()->GetId() ); - le.SetEventObject( this ); - le.m_itemIndex = item; - le.m_col = 0; - GetItem( le.m_item ); - - if ( GetParent()->HandleWindowEvent( le ) && !le.IsAllowed() ) - { - // vetoed by user code - return NULL; - } - - wxTextCtrl * const text = (wxTextCtrl *)textControlClass->CreateObject(); - m_textctrlWrapper = new wxListCtrlTextCtrlWrapper(this, text, item); - return m_textctrlWrapper->GetText(); - } - return NULL; -} - -// End label editing, optionally cancelling the edit -bool wxListCtrl::EndEditLabel(bool WXUNUSED(cancel)) -{ - // TODO: generic impl. doesn't have this method - is it needed for us? - if (m_genericImpl) - return true; // m_genericImpl->EndEditLabel(cancel); - - if (m_dbImpl) - { - DataBrowserTableViewColumnID id = 0; - verify_noerr( m_dbImpl->GetColumnIDFromIndex( 0, &id ) ); - verify_noerr( SetDataBrowserEditItem(m_dbImpl->GetControlRef(), kDataBrowserNoItem, id ) ); - } - return true; -} - -// Ensures this item is visible -bool wxListCtrl::EnsureVisible(long item) -{ - if (m_genericImpl) - return m_genericImpl->EnsureVisible(item); - - if (m_dbImpl) - { - wxMacDataItem* dataItem = m_dbImpl->GetItemFromLine(item); - m_dbImpl->RevealItem(dataItem, kDataBrowserRevealWithoutSelecting); - } - - return true; -} - -// Find an item whose label matches this string, starting from the item after 'start' -// or the beginning if 'start' is -1. -long wxListCtrl::FindItem(long start, const wxString& str, bool partial) -{ - if (m_genericImpl) - return m_genericImpl->FindItem(start, str, partial); - - wxString str_upper = str.Upper(); - - long idx = start; - if (idx < 0) - idx = 0; - long count = GetItemCount(); - - while (idx < count) - { - wxString line_upper = GetItemText(idx).Upper(); - if (!partial) - { - if (line_upper == str_upper ) - return idx; - } - else - { - if (line_upper.find(str_upper) == 0) - return idx; - } - - idx++; - }; - - return wxNOT_FOUND; -} - -// Find an item whose data matches this data, starting from the item after 'start' -// or the beginning if 'start' is -1. -long wxListCtrl::FindItem(long start, long data) -{ - if (m_genericImpl) - return m_genericImpl->FindItem(start, data); - - long idx = start; - if (idx < 0) - idx = 0; - long count = GetItemCount(); - - while (idx < count) - { - if (GetItemData(idx) == data) - return idx; - idx++; - }; - - return wxNOT_FOUND; -} - -// Find an item nearest this position in the specified direction, starting from -// the item after 'start' or the beginning if 'start' is -1. -long wxListCtrl::FindItem(long start, const wxPoint& pt, int direction) -{ - if (m_genericImpl) - return m_genericImpl->FindItem(start, pt, direction); - return -1; -} - -static void calculateCGDrawingBounds(CGRect inItemRect, CGRect *outIconRect, CGRect *outTextRect, bool hasIcon); - -// Determines which item (if any) is at the specified point, -// giving details in 'flags' (see wxLIST_HITTEST_... flags above) -long -wxListCtrl::HitTest(const wxPoint& point, int& flags, long *ptrSubItem) const -{ - if (ptrSubItem) - *ptrSubItem = -1; - - if (m_genericImpl) - return m_genericImpl->HitTest(point, flags, ptrSubItem); - - flags = wxLIST_HITTEST_NOWHERE; - if (m_dbImpl) - { - int colHeaderHeight = 22; // TODO: Find a way to get this value from the db control? - UInt16 rowHeight = 0; - m_dbImpl->GetDefaultRowHeight(&rowHeight); - - int y = point.y; - // get the actual row by taking scroll position into account - UInt32 offsetX, offsetY; - m_dbImpl->GetScrollPosition( &offsetY, &offsetX ); - y += offsetY; - - if ( !(GetWindowStyleFlag() & wxLC_NO_HEADER) ) - y -= colHeaderHeight; - - if ( y < 0 ) - return -1; - - int row = y / rowHeight; - DataBrowserItemID id; - m_dbImpl->GetItemID( (DataBrowserTableViewRowIndex) row, &id ); - - CGPoint click_point = CGPointMake( point.x, point.y ); - if (row < GetItemCount() ) - { - short column; - for( column = 0; column < GetColumnCount(); column++ ) - { - Rect enclosingRect; - CGRect enclosingCGRect, iconCGRect, textCGRect; - int imgIndex = -1; - wxMacListCtrlItem* lcItem; - - WXUNUSED_UNLESS_DEBUG( OSStatus status = ) m_dbImpl->GetItemPartBounds( id, kMinColumnId + column, kDataBrowserPropertyEnclosingPart, &enclosingRect ); - wxASSERT( status == noErr ); - - enclosingCGRect = CGRectMake(enclosingRect.left, - enclosingRect.top, - enclosingRect.right - enclosingRect.left, - enclosingRect.bottom - enclosingRect.top); - - if (column >= 0) - { - if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL ) ) - { - lcItem = (wxMacListCtrlItem*) id; - if (lcItem->HasColumnInfo(column)) - { - wxListItem* item = lcItem->GetColumnInfo(column); - - if (item->GetMask() & wxLIST_MASK_IMAGE) - { - imgIndex = item->GetImage(); - } - } - } - else - { - long itemNum = (long)id-1; - if (itemNum >= 0 && itemNum < GetItemCount()) - { - imgIndex = OnGetItemColumnImage( itemNum, column ); - } - } - } - - calculateCGDrawingBounds(enclosingCGRect, &iconCGRect, &textCGRect, (imgIndex != -1) ); - - if ( CGRectContainsPoint( iconCGRect, click_point ) ) - { - flags = wxLIST_HITTEST_ONITEMICON; - if (ptrSubItem) - *ptrSubItem = column; - return row; - } - else if ( CGRectContainsPoint( textCGRect, click_point ) ) - { - flags = wxLIST_HITTEST_ONITEMLABEL; - if (ptrSubItem) - *ptrSubItem = column; - return row; - } - } - - if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL ) ) - { - wxMacListCtrlItem* lcItem; - lcItem = (wxMacListCtrlItem*) id; - if (lcItem) - { - flags = wxLIST_HITTEST_ONITEM; - if (ptrSubItem) - *ptrSubItem = column; - return row; - } - } - else - { - flags = wxLIST_HITTEST_ONITEM; - if (ptrSubItem) - *ptrSubItem = column; - return row; - } - } - else - { - if ( wxControl::HitTest( point ) ) - flags = wxLIST_HITTEST_NOWHERE; - } - } - - return -1; -} - -int wxListCtrl::GetScrollPos(int orient) const -{ - if (m_genericImpl) - return m_genericImpl->GetScrollPos(orient); - - if (m_dbImpl) - { - UInt32 offsetX, offsetY; - m_dbImpl->GetScrollPosition( &offsetY, &offsetX ); - if ( orient == wxHORIZONTAL ) - return offsetX; - else - return offsetY; - } - - return 0; -} - -// Inserts an item, returning the index of the new item if successful, -// -1 otherwise. -long wxListCtrl::InsertItem(wxListItem& info) -{ - wxASSERT_MSG( !IsVirtual(), wxT("can't be used with virtual controls") ); - - if (m_genericImpl) - return m_genericImpl->InsertItem(info); - - if (m_dbImpl && !IsVirtual()) - { - int count = GetItemCount(); - - if (info.m_itemId > count) - info.m_itemId = count; - - m_dbImpl->MacInsertItem(info.m_itemId, &info ); - - wxListEvent event( wxEVT_LIST_INSERT_ITEM, GetId() ); - event.SetEventObject( this ); - event.m_itemIndex = info.m_itemId; - HandleWindowEvent( event ); - return info.m_itemId; - } - return -1; -} - -long wxListCtrl::InsertItem(long index, const wxString& label) -{ - if (m_genericImpl) - return m_genericImpl->InsertItem(index, label); - - wxListItem info; - info.m_text = label; - info.m_mask = wxLIST_MASK_TEXT; - info.m_itemId = index; - return InsertItem(info); -} - -// Inserts an image item -long wxListCtrl::InsertItem(long index, int imageIndex) -{ - if (m_genericImpl) - return m_genericImpl->InsertItem(index, imageIndex); - - wxListItem info; - info.m_image = imageIndex; - info.m_mask = wxLIST_MASK_IMAGE; - info.m_itemId = index; - return InsertItem(info); -} - -// Inserts an image/string item -long wxListCtrl::InsertItem(long index, const wxString& label, int imageIndex) -{ - if (m_genericImpl) - return m_genericImpl->InsertItem(index, label, imageIndex); - - wxListItem info; - info.m_image = imageIndex; - info.m_text = label; - info.m_mask = wxLIST_MASK_IMAGE | wxLIST_MASK_TEXT; - info.m_itemId = index; - return InsertItem(info); -} - -// For list view mode (only), inserts a column. -long wxListCtrl::DoInsertColumn(long col, const wxListItem& item) -{ - if (m_genericImpl) - return m_genericImpl->InsertColumn(col, item); - - if (m_dbImpl) - { - int width = item.GetWidth(); - if ( !(item.GetMask() & wxLIST_MASK_WIDTH) ) - width = 150; - - DataBrowserPropertyType type = kDataBrowserCustomType; //kDataBrowserTextType; - wxImageList* imageList = GetImageList(wxIMAGE_LIST_SMALL); - if (imageList && imageList->GetImageCount() > 0) - { - wxBitmap bmp = imageList->GetBitmap(0); - //if (bmp.IsOk()) - // type = kDataBrowserIconAndTextType; - } - - SInt16 just = teFlushDefault; - if (item.GetMask() & wxLIST_MASK_FORMAT) - { - if (item.GetAlign() == wxLIST_FORMAT_LEFT) - just = teFlushLeft; - else if (item.GetAlign() == wxLIST_FORMAT_CENTER) - just = teCenter; - else if (item.GetAlign() == wxLIST_FORMAT_RIGHT) - just = teFlushRight; - } - m_dbImpl->InsertColumn(col, type, item.GetText(), just, width); - - wxListItem* listItem = new wxListItem(item); - m_colsInfo.Insert( col, listItem ); - SetColumn(col, item); - - // set/remove options based on the wxListCtrl type. - DataBrowserTableViewColumnID id; - m_dbImpl->GetColumnIDFromIndex(col, &id); - DataBrowserPropertyFlags flags; - verify_noerr(m_dbImpl->GetPropertyFlags(id, &flags)); - if (GetWindowStyleFlag() & wxLC_EDIT_LABELS) - flags |= kDataBrowserPropertyIsEditable; - - if (GetWindowStyleFlag() & wxLC_VIRTUAL){ - flags &= ~kDataBrowserListViewSortableColumn; - } - verify_noerr(m_dbImpl->SetPropertyFlags(id, flags)); - } - - return col; -} - -// scroll the control by the given number of pixels (exception: in list view, -// dx is interpreted as number of columns) -bool wxListCtrl::ScrollList(int dx, int dy) -{ - if (m_genericImpl) - return m_genericImpl->ScrollList(dx, dy); - - if (m_dbImpl) - { - // Notice that the parameter order is correct here: first argument is - // the "top" displacement, second one is the "left" one. - m_dbImpl->SetScrollPosition(dy, dx); - } - return true; -} - - -bool wxListCtrl::SortItems(wxListCtrlCompare fn, wxIntPtr data) -{ - if (m_genericImpl) - return m_genericImpl->SortItems(fn, data); - - if (m_dbImpl) - { - m_compareFunc = fn; - m_compareFuncData = data; - SortDataBrowserContainer( m_dbImpl->GetControlRef(), kDataBrowserNoItem, true); - - // we need to do this after each call, else we get a crash from wxPython when - // SortItems is called the second time. - m_compareFunc = NULL; - m_compareFuncData = 0; - } - - return true; -} - -void wxListCtrl::OnRenameTimer() -{ - wxCHECK_RET( HasCurrent(), wxT("unexpected rename timer") ); - - EditLabel( m_current ); -} - -bool wxListCtrl::OnRenameAccept(long itemEdit, const wxString& value) -{ - wxListEvent le( wxEVT_LIST_END_LABEL_EDIT, GetId() ); - le.SetEventObject( this ); - le.m_itemIndex = itemEdit; - - GetItem( le.m_item ); - le.m_item.m_text = value; - return !HandleWindowEvent( le ) || - le.IsAllowed(); -} - -void wxListCtrl::OnRenameCancelled(long itemEdit) -{ - // let owner know that the edit was cancelled - wxListEvent le( wxEVT_LIST_END_LABEL_EDIT, GetParent()->GetId() ); - - le.SetEditCanceled(true); - - le.SetEventObject( this ); - le.m_itemIndex = itemEdit; - - GetItem( le.m_item ); - HandleWindowEvent( le ); -} - -// ---------------------------------------------------------------------------- -// virtual list controls -// ---------------------------------------------------------------------------- - -wxString wxListCtrl::OnGetItemText(long WXUNUSED(item), long WXUNUSED(col)) const -{ - // this is a pure virtual function, in fact - which is not really pure - // because the controls which are not virtual don't need to implement it - wxFAIL_MSG( wxT("wxListCtrl::OnGetItemText not supposed to be called") ); - - return wxEmptyString; -} - -int wxListCtrl::OnGetItemImage(long WXUNUSED(item)) const -{ - wxCHECK_MSG(!GetImageList(wxIMAGE_LIST_SMALL), - -1, - wxT("List control has an image list, OnGetItemImage or OnGetItemColumnImage should be overridden.")); - return -1; -} - -int wxListCtrl::OnGetItemColumnImage(long item, long column) const -{ - if (!column) - return OnGetItemImage(item); - - return -1; -} - -void wxListCtrl::SetItemCount(long count) -{ - wxASSERT_MSG( IsVirtual(), wxT("this is for virtual controls only") ); - - if (m_genericImpl) - { - m_genericImpl->SetItemCount(count); - return; - } - - if (m_dbImpl) - { - // we need to temporarily disable the new item creation notification - // procedure to speed things up - // FIXME: Even this doesn't seem to help much... - - // FIXME: Find a more efficient way to do this. - m_dbImpl->MacClear(); - - DataBrowserCallbacks callbacks; - DataBrowserItemNotificationUPP itemUPP; - GetDataBrowserCallbacks(m_dbImpl->GetControlRef(), &callbacks); - itemUPP = callbacks.u.v1.itemNotificationCallback; - callbacks.u.v1.itemNotificationCallback = 0; - m_dbImpl->SetCallbacks(&callbacks); - ::AddDataBrowserItems(m_dbImpl->GetControlRef(), kDataBrowserNoItem, - count, NULL, kDataBrowserItemNoProperty); - callbacks.u.v1.itemNotificationCallback = itemUPP; - m_dbImpl->SetCallbacks(&callbacks); - } - m_count = count; -} - -void wxListCtrl::RefreshItem(long item) -{ - if (m_genericImpl) - { - m_genericImpl->RefreshItem(item); - return; - } - - if (m_dbImpl) - { - DataBrowserItemID id; - - if ( !IsVirtual() ) - { - wxMacDataItem* thisItem = m_dbImpl->GetItemFromLine(item); - id = (DataBrowserItemID) thisItem; - } - else - id = item+1; - - m_dbImpl->wxMacDataBrowserControl::UpdateItems - ( - kDataBrowserNoItem, - 1, &id, - kDataBrowserItemNoProperty, // preSortProperty - kDataBrowserNoItem // update all columns - ); - } -} - -void wxListCtrl::RefreshItems(long itemFrom, long itemTo) -{ - if (m_genericImpl) - { - m_genericImpl->RefreshItems(itemFrom, itemTo); - return; - } - - if (m_dbImpl) - { - const long count = itemTo - itemFrom + 1; - DataBrowserItemID *ids = new DataBrowserItemID[count]; - - if ( !IsVirtual() ) - { - for ( long i = 0; i < count; i++ ) - { - wxMacDataItem* thisItem = m_dbImpl->GetItemFromLine(itemFrom+i); - ids[i] = (DataBrowserItemID) thisItem; - } - } - else - { - for ( long i = 0; i < count; i++ ) - ids[i] = itemFrom+i+1; - } - - m_dbImpl->wxMacDataBrowserControl::UpdateItems - ( - kDataBrowserNoItem, - count, ids, - kDataBrowserItemNoProperty, // preSortProperty - kDataBrowserNoItem // update all columns - ); - - delete[] ids; - } -} - -void wxListCtrl::SetDropTarget( wxDropTarget *dropTarget ) -{ -#if wxUSE_DRAG_AND_DROP - if (m_genericImpl) - m_genericImpl->SetDropTarget( dropTarget ); - - if (m_dbImpl) - wxWindow::SetDropTarget( dropTarget ); -#endif -} - -wxDropTarget *wxListCtrl::GetDropTarget() const -{ -#if wxUSE_DRAG_AND_DROP - if (m_genericImpl) - return m_genericImpl->GetDropTarget(); - - if (m_dbImpl) - return wxWindow::GetDropTarget(); -#endif - return NULL; -} - -#if wxABI_VERSION >= 20801 -void wxListCtrl::SetFocus() -{ - if (m_genericImpl) - { - m_genericImpl->SetFocus(); - return; - } - - wxWindow::SetFocus(); -} -#endif - -// wxMac internal data structures - -wxMacListCtrlItem::~wxMacListCtrlItem() -{ - WX_CLEAR_HASH_MAP( wxListItemList, m_rowItems ); -} - -void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner , - DataBrowserItemNotification message, - DataBrowserItemDataRef WXUNUSED(itemData) ) const -{ - - wxMacDataBrowserListCtrlControl *lb = wxDynamicCast(owner, wxMacDataBrowserListCtrlControl); - - // we want to depend on as little as possible to make sure tear-down of controls is safe - if ( message == kDataBrowserItemRemoved) - { - delete this; - return; - } - else if ( message == kDataBrowserItemAdded ) - { - // we don't issue events on adding, the item is not really stored in the list yet, so we - // avoid asserts by gettting out now - return ; - } - - wxListCtrl *list = wxDynamicCast( owner->GetWXPeer() , wxListCtrl ); - if ( list && lb ) - { - bool trigger = false; - - wxListEvent event( wxEVT_LIST_ITEM_SELECTED, list->GetId() ); - bool isSingle = (list->GetWindowStyle() & wxLC_SINGLE_SEL) != 0; - - event.SetEventObject( list ); - event.m_itemIndex = owner->GetLineFromItem( this ) ; - event.m_item.m_itemId = event.m_itemIndex; - list->GetItem(event.m_item); - - switch (message) - { - case kDataBrowserItemDeselected: - event.SetEventType(wxEVT_LIST_ITEM_DESELECTED); - if ( !isSingle ) - trigger = !lb->IsSelectionSuppressed(); - break; - - case kDataBrowserItemSelected: - trigger = !lb->IsSelectionSuppressed(); - break; - - case kDataBrowserItemDoubleClicked: - event.SetEventType( wxEVT_LIST_ITEM_ACTIVATED ); - trigger = true; - break; - - case kDataBrowserEditStarted : - // TODO : how to veto ? - event.SetEventType( wxEVT_LIST_BEGIN_LABEL_EDIT ) ; - trigger = true ; - break ; - - case kDataBrowserEditStopped : - // TODO probably trigger only upon the value store callback, because - // here IIRC we cannot veto - event.SetEventType( wxEVT_LIST_END_LABEL_EDIT ) ; - trigger = true ; - break ; - - default: - break; - } - - if ( trigger ) - { - // direct notification is not always having the listbox GetSelection() having in synch with event - wxPostEvent( list->GetEventHandler(), event ); - } - } - -} - -wxIMPLEMENT_DYNAMIC_CLASS(wxMacDataBrowserListCtrlControl, wxMacDataItemBrowserControl); - -wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style) - : wxMacDataItemBrowserControl( peer, pos, size, style ) -{ - OSStatus err = noErr; - m_clientDataItemsType = wxClientData_None; - m_isVirtual = false; - m_flags = 0; - - if ( style & wxLC_VIRTUAL ) - m_isVirtual = true; - - DataBrowserSelectionFlags options = kDataBrowserDragSelect; - if ( style & wxLC_SINGLE_SEL ) - { - options |= kDataBrowserSelectOnlyOne; - } - else - { - options |= kDataBrowserCmdTogglesSelection; - } - - err = SetSelectionFlags( options ); - verify_noerr( err ); - - DataBrowserCustomCallbacks callbacks; - InitializeDataBrowserCustomCallbacks( &callbacks, kDataBrowserLatestCustomCallbacks ); - - if ( gDataBrowserDrawItemUPP == NULL ) - gDataBrowserDrawItemUPP = NewDataBrowserDrawItemUPP(DataBrowserDrawItemProc); - - if ( gDataBrowserHitTestUPP == NULL ) - gDataBrowserHitTestUPP = NewDataBrowserHitTestUPP(DataBrowserHitTestProc); - - callbacks.u.v1.drawItemCallback = gDataBrowserDrawItemUPP; - callbacks.u.v1.hitTestCallback = gDataBrowserHitTestUPP; - - SetDataBrowserCustomCallbacks( GetControlRef(), &callbacks ); - - if ( style & wxLC_LIST ) - { - InsertColumn(0, kDataBrowserIconAndTextType, wxEmptyString, -1, -1); - verify_noerr( AutoSizeColumns() ); - } - - if ( style & wxLC_LIST || style & wxLC_NO_HEADER ) - verify_noerr( SetHeaderButtonHeight( 0 ) ); - - if ( m_isVirtual ) - SetSortProperty( kMinColumnId - 1 ); - else - SetSortProperty( kMinColumnId ); - - m_sortOrder = SortOrder_None; - - if ( style & wxLC_SORT_DESCENDING ) - { - SetSortOrder( kDataBrowserOrderDecreasing ); - } - else if ( style & wxLC_SORT_ASCENDING ) - { - SetSortOrder( kDataBrowserOrderIncreasing ); - } - - if ( style & wxLC_VRULES ) - { - verify_noerr( DataBrowserChangeAttributes(m_controlRef, kDataBrowserAttributeListViewDrawColumnDividers, kDataBrowserAttributeNone) ); - } - - verify_noerr( SetHiliteStyle(kDataBrowserTableViewFillHilite ) ); - verify_noerr( SetHasScrollBars( (style & wxHSCROLL) != 0 , true ) ); -} - -pascal Boolean wxMacDataBrowserListCtrlControl::DataBrowserEditTextProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserPropertyID property, - CFStringRef theString, - Rect *maxEditTextRect, - Boolean *shrinkToFit) -{ - Boolean result = false; - wxMacDataBrowserListCtrlControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserListCtrlControl); - if ( ctl != 0 ) - { - result = ctl->ConfirmEditText(itemID, property, theString, maxEditTextRect, shrinkToFit); - theString = CFSTR("Hello!"); - } - return result; -} - -bool wxMacDataBrowserListCtrlControl::ConfirmEditText( - DataBrowserItemID WXUNUSED(itemID), - DataBrowserPropertyID WXUNUSED(property), - CFStringRef WXUNUSED(theString), - Rect *WXUNUSED(maxEditTextRect), - Boolean *WXUNUSED(shrinkToFit)) -{ - return false; -} - -pascal void wxMacDataBrowserListCtrlControl::DataBrowserDrawItemProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemState itemState, - const Rect *itemRect, - SInt16 gdDepth, - Boolean colorDevice) -{ - wxMacDataBrowserListCtrlControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserListCtrlControl); - if ( ctl != 0 ) - { - ctl->DrawItem(itemID, property, itemState, itemRect, gdDepth, colorDevice); - } -} - -// routines needed for DrawItem -enum -{ - kIconWidth = 16, - kIconHeight = 16, - kTextBoxHeight = 14, - kIconTextSpacingV = 2, - kItemPadding = 4, - kContentHeight = kIconHeight + kTextBoxHeight + kIconTextSpacingV -}; - -static void calculateCGDrawingBounds(CGRect inItemRect, CGRect *outIconRect, CGRect *outTextRect, bool hasIcon = false) -{ - float textBottom; - float iconW = 0; - float padding = kItemPadding; - if (hasIcon) - { - iconW = kIconWidth; - padding = padding*2; - } - - textBottom = inItemRect.origin.y; - - *outIconRect = CGRectMake(inItemRect.origin.x + kItemPadding, - textBottom + kIconTextSpacingV, kIconWidth, - kIconHeight); - - *outTextRect = CGRectMake(inItemRect.origin.x + padding + iconW, - textBottom + kIconTextSpacingV, inItemRect.size.width - padding - iconW, - inItemRect.size.height - kIconTextSpacingV); -} - -void wxMacDataBrowserListCtrlControl::DrawItem( - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemState itemState, - const Rect *WXUNUSED(itemRect), - SInt16 gdDepth, - Boolean colorDevice) -{ - wxString text; - wxFont font = wxNullFont; - int imgIndex = -1; - - DataBrowserTableViewColumnIndex listColumn = 0; - GetColumnPosition( property, &listColumn ); - - wxListCtrl* list = wxDynamicCast( GetWXPeer() , wxListCtrl ); - wxMacListCtrlItem* lcItem; - wxColour color = *wxBLACK; - wxColour bgColor = wxNullColour; - - if (listColumn >= 0) - { - if (!m_isVirtual) - { - lcItem = (wxMacListCtrlItem*) itemID; - if (lcItem->HasColumnInfo(listColumn)) - { - wxListItem* item = lcItem->GetColumnInfo(listColumn); - - // we always use the 0 column to get font and text/background colors. - if (lcItem->HasColumnInfo(0)) - { - wxListItem* firstItem = lcItem->GetColumnInfo(0); - color = firstItem->GetTextColour(); - bgColor = firstItem->GetBackgroundColour(); - font = firstItem->GetFont(); - } - - if (item->GetMask() & wxLIST_MASK_TEXT) - text = item->GetText(); - if (item->GetMask() & wxLIST_MASK_IMAGE) - imgIndex = item->GetImage(); - } - - } - else - { - long itemNum = (long)itemID-1; - if (itemNum >= 0 && itemNum < list->GetItemCount()) - { - text = list->OnGetItemText( itemNum, listColumn ); - imgIndex = list->OnGetItemColumnImage( itemNum, listColumn ); - wxListItemAttr* attrs = list->OnGetItemAttr( itemNum ); - if (attrs) - { - if (attrs->HasBackgroundColour()) - bgColor = attrs->GetBackgroundColour(); - if (attrs->HasTextColour()) - color = attrs->GetTextColour(); - if (attrs->HasFont()) - font = attrs->GetFont(); - } - } - } - } - - wxColour listBgColor = list->GetBackgroundColour(); - if (bgColor == wxNullColour) - bgColor = listBgColor; - - if (!font.IsOk()) - font = list->GetFont(); - - wxCFStringRef cfString( text, wxLocale::GetSystemEncoding() ); - - Rect enclosingRect; - CGRect enclosingCGRect, iconCGRect, textCGRect; - Boolean active; - ThemeDrawingState savedState = NULL; - CGContextRef context = (CGContextRef)list->MacGetDrawingContext(); - wxMacCGContextStateSaver top_saver_cg( context ); - - RGBColor labelColor; - labelColor.red = 0; - labelColor.green = 0; - labelColor.blue = 0; - - RGBColor backgroundColor; - backgroundColor.red = 255; - backgroundColor.green = 255; - backgroundColor.blue = 255; - - GetDataBrowserItemPartBounds(GetControlRef(), itemID, property, kDataBrowserPropertyEnclosingPart, - &enclosingRect); - - enclosingCGRect = CGRectMake(enclosingRect.left, - enclosingRect.top, - enclosingRect.right - enclosingRect.left, - enclosingRect.bottom - enclosingRect.top); - - bool hasFocus = (wxWindow::FindFocus() == list); - active = IsControlActive(GetControlRef()); - - // don't paint the background over the vertical rule line - if ( list->GetWindowStyleFlag() & wxLC_VRULES ) - { - enclosingCGRect.origin.x += 1; - enclosingCGRect.size.width -= 1; - } - if (itemState == kDataBrowserItemIsSelected) - { - - GetThemeDrawingState(&savedState); - - if (active && hasFocus) - { - GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &backgroundColor); - GetThemeTextColor(kThemeTextColorWhite, gdDepth, colorDevice, &labelColor); - } - else - { - GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &backgroundColor); - GetThemeTextColor(kThemeTextColorBlack, gdDepth, colorDevice, &labelColor); - } - wxMacCGContextStateSaver cg( context ); - - CGContextSetRGBFillColor(context, (CGFloat)backgroundColor.red / (CGFloat)USHRT_MAX, - (CGFloat)backgroundColor.green / (CGFloat)USHRT_MAX, - (CGFloat)backgroundColor.blue / (CGFloat)USHRT_MAX, (CGFloat) 1.0); - CGContextFillRect(context, enclosingCGRect); - } - else - { - - if (color.IsOk()) - color.GetRGBColor(&labelColor); - else if (list->GetTextColour().IsOk()) - list->GetTextColour().GetRGBColor(&labelColor); - - if (bgColor.IsOk()) - { - bgColor.GetRGBColor(&backgroundColor); - CGContextSaveGState(context); - - CGContextSetRGBFillColor(context, (CGFloat)backgroundColor.red / (CGFloat)USHRT_MAX, - (CGFloat)backgroundColor.green / (CGFloat)USHRT_MAX, - (CGFloat)backgroundColor.blue / (CGFloat)USHRT_MAX, (CGFloat) 1.0); - CGContextFillRect(context, enclosingCGRect); - - CGContextRestoreGState(context); - } - } - - calculateCGDrawingBounds(enclosingCGRect, &iconCGRect, &textCGRect, (imgIndex != -1) ); - - if (imgIndex != -1) - { - wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL); - if (imageList && imageList->GetImageCount() > 0) - { - wxBitmap bmp = imageList->GetBitmap(imgIndex); - IconRef icon = bmp.GetIconRef(); - - wxMacCGContextStateSaver cg( context ); - - CGContextTranslateCTM(context, 0,iconCGRect.origin.y + CGRectGetMaxY(iconCGRect)); - CGContextScaleCTM(context,1.0f,-1.0f); - PlotIconRefInContext(context, &iconCGRect, kAlignNone, - active ? kTransformNone : kTransformDisabled, NULL, - kPlotIconRefNormalFlags, icon); - } - } - - HIThemeTextHorizontalFlush hFlush = kHIThemeTextHorizontalFlushLeft; - HIThemeTextInfo info; - - info.version = kHIThemeTextInfoVersionOne; - info.fontID = kThemeViewsFont; - if (font.IsOk()) - { - info.fontID = kThemeSpecifiedFont; - info.font = (CTFontRef) font.OSXGetCTFont(); - } - - wxListItem item; - list->GetColumn(listColumn, item); - if (item.GetMask() & wxLIST_MASK_FORMAT) - { - if (item.GetAlign() == wxLIST_FORMAT_LEFT) - hFlush = kHIThemeTextHorizontalFlushLeft; - else if (item.GetAlign() == wxLIST_FORMAT_CENTER) - hFlush = kHIThemeTextHorizontalFlushCenter; - else if (item.GetAlign() == wxLIST_FORMAT_RIGHT) - { - hFlush = kHIThemeTextHorizontalFlushRight; - textCGRect.origin.x -= kItemPadding; // give a little extra paddding - } - } - - info.state = active ? kThemeStateActive : kThemeStateInactive; - info.horizontalFlushness = hFlush; - info.verticalFlushness = kHIThemeTextVerticalFlushCenter; - info.options = kHIThemeTextBoxOptionNone; - info.truncationPosition = kHIThemeTextTruncationEnd; - info.truncationMaxLines = 1; - - { - wxMacCGContextStateSaver cg( context ); - CGContextSetRGBFillColor (context, (CGFloat)labelColor.red / (CGFloat)USHRT_MAX, - (CGFloat)labelColor.green / (CGFloat)USHRT_MAX, - (CGFloat)labelColor.blue / (CGFloat)USHRT_MAX, (CGFloat) 1.0); - - HIThemeDrawTextBox(cfString, &textCGRect, &info, context, kHIThemeOrientationNormal); - } - -#ifndef __LP64__ - if (savedState != NULL) - SetThemeDrawingState(savedState, true); -#endif -} - -OSStatus wxMacDataBrowserListCtrlControl::GetSetItemData(DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ) -{ - wxString text; - int imgIndex = -1; - - DataBrowserTableViewColumnIndex listColumn = 0; - verify_noerr( GetColumnPosition( property, &listColumn ) ); - - OSStatus err = errDataBrowserPropertyNotSupported; - wxListCtrl* list = wxDynamicCast( GetWXPeer() , wxListCtrl ); - wxMacListCtrlItem* lcItem = NULL; - - if (listColumn >= 0) - { - if (!m_isVirtual) - { - lcItem = (wxMacListCtrlItem*) itemID; - if (lcItem && lcItem->HasColumnInfo(listColumn)){ - wxListItem* item = lcItem->GetColumnInfo(listColumn); - if (item->GetMask() & wxLIST_MASK_TEXT) - text = item->GetText(); - if (item->GetMask() & wxLIST_MASK_IMAGE) - imgIndex = item->GetImage(); - } - } - else - { - long itemNum = (long)itemID-1; - if (itemNum >= 0 && itemNum < list->GetItemCount()) - { - text = list->OnGetItemText( itemNum, listColumn ); - imgIndex = list->OnGetItemColumnImage( itemNum, listColumn ); - } - } - } - - if ( !changeValue ) - { - switch (property) - { - case kDataBrowserItemIsEditableProperty : - if ( list && list->HasFlag( wxLC_EDIT_LABELS ) ) - { - verify_noerr(SetDataBrowserItemDataBooleanValue( itemData, true )); - err = noErr ; - } - break ; - default : - if ( property >= kMinColumnId ) - { - if (!text.IsEmpty()){ - wxCFStringRef cfStr( text, wxLocale::GetSystemEncoding() ); - err = ::SetDataBrowserItemDataText( itemData, cfStr ); - err = noErr; - } - - - - if ( imgIndex != -1 ) - { - wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL); - if (imageList && imageList->GetImageCount() > 0){ - wxBitmap bmp = imageList->GetBitmap(imgIndex); - IconRef icon = bmp.GetIconRef(); - ::SetDataBrowserItemDataIcon(itemData, icon); - } - } - - } - break ; - } - - } - else - { - switch (property) - { - default: - if ( property >= kMinColumnId ) - { - DataBrowserTableViewColumnIndex listColumn = 0; - verify_noerr( GetColumnPosition( property, &listColumn ) ); - - // TODO probably send the 'end edit' from here, as we - // can then deal with the veto - CFStringRef sr ; - verify_noerr( GetDataBrowserItemDataText( itemData , &sr ) ) ; - wxCFStringRef cfStr(sr) ;; - if (m_isVirtual) - list->SetItem( (long)itemData-1 , listColumn, cfStr.AsString() ) ; - else - { - if (lcItem) - lcItem->SetColumnTextValue( listColumn, cfStr.AsString() ); - } - err = noErr ; - } - break; - } - } - return err; -} - -void wxMacDataBrowserListCtrlControl::ItemNotification(DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ) -{ - wxMacListCtrlItem *item = NULL; - if ( !m_isVirtual ) - { - item = (wxMacListCtrlItem *) itemID; - } - - // we want to depend on as little as possible to make sure tear-down of controls is safe - if ( message == kDataBrowserItemRemoved ) - { - if ( item ) - item->Notification(this, message, itemData); - return; - } - else if ( message == kDataBrowserItemAdded ) - { - // we don't issue events on adding, the item is not really stored in the list yet, so we - // avoid asserts by getting out now - if ( item ) - item->Notification(this, message, itemData); - return ; - } - - wxListCtrl *list = wxDynamicCast( GetWXPeer() , wxListCtrl ); - if ( list ) - { - bool trigger = false; - - wxListEvent event( wxEVT_LIST_ITEM_SELECTED, list->GetId() ); - - event.SetEventObject( list ); - if ( !list->IsVirtual() ) - { - DataBrowserTableViewRowIndex result = 0; - verify_noerr( GetItemRow( itemID, &result ) ) ; - event.m_itemIndex = result; - } - else - { - event.m_itemIndex = (long)itemID-1; - } - event.m_item.m_itemId = event.m_itemIndex; - list->GetItem(event.m_item); - - switch (message) - { - case kDataBrowserItemDeselected: - event.SetEventType(wxEVT_LIST_ITEM_DESELECTED); - // as the generic implementation is also triggering this - // event for single selection, we do the same (different than listbox) - trigger = !IsSelectionSuppressed(); - break; - - case kDataBrowserItemSelected: - trigger = !IsSelectionSuppressed(); - - break; - - case kDataBrowserItemDoubleClicked: - event.SetEventType( wxEVT_LIST_ITEM_ACTIVATED ); - trigger = true; - break; - - case kDataBrowserEditStarted : - // TODO : how to veto ? - event.SetEventType( wxEVT_LIST_BEGIN_LABEL_EDIT ) ; - trigger = true ; - break ; - - case kDataBrowserEditStopped : - // TODO probably trigger only upon the value store callback, because - // here IIRC we cannot veto - event.SetEventType( wxEVT_LIST_END_LABEL_EDIT ) ; - trigger = true ; - break ; - - default: - break; - } - - if ( trigger ) - { - // direct notification is not always having the listbox GetSelection() having in synch with event - wxPostEvent( list->GetEventHandler(), event ); - } - } -} - -Boolean wxMacDataBrowserListCtrlControl::CompareItems(DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty) -{ - - bool retval = false; - wxString itemText; - wxString otherItemText; - long itemOrder; - long otherItemOrder; - - DataBrowserTableViewColumnIndex colId = 0; - verify_noerr( GetColumnPosition( sortProperty, &colId ) ); - - wxListCtrl* list = wxDynamicCast( GetWXPeer() , wxListCtrl ); - - DataBrowserSortOrder sort; - verify_noerr(GetSortOrder(&sort)); - - if (colId >= 0) - { - if (!m_isVirtual) - { - wxMacListCtrlItem* item = (wxMacListCtrlItem*)itemOneID; - wxMacListCtrlItem* otherItem = (wxMacListCtrlItem*)itemTwoID; - - itemOrder = item->GetOrder(); - otherItemOrder = otherItem->GetOrder(); - - wxListCtrlCompare func = list->GetCompareFunc(); - if (func != NULL) - { - - long item1 = -1; - long item2 = -1; - if (item && item->HasColumnInfo(0)) - item1 = item->GetColumnInfo(0)->GetData(); - if (otherItem && otherItem->HasColumnInfo(0)) - item2 = otherItem->GetColumnInfo(0)->GetData(); - - if (item1 > -1 && item2 > -1) - { - int result = func(item1, item2, list->GetCompareFuncData()); - if (sort == kDataBrowserOrderIncreasing) - return result >= 0; - else - return result < 0; - } - } - - // we can't use the native control's sorting abilities, so just - // sort by item id. - return itemOrder < otherItemOrder; - } - else - { - - long itemNum = (long)itemOneID; - long otherItemNum = (long)itemTwoID; - - // virtual listctrls don't support sorting - return itemNum < otherItemNum; - } - } - else{ - // fallback for undefined cases - retval = itemOneID < itemTwoID; - } - - return retval; -} - -wxMacDataBrowserListCtrlControl::~wxMacDataBrowserListCtrlControl() -{ -} - -void wxMacDataBrowserListCtrlControl::MacSetColumnInfo( unsigned int row, unsigned int column, wxListItem* item ) -{ - wxMacDataItem* dataItem = GetItemFromLine(row); - wxASSERT_MSG( dataItem, wxT("could not obtain wxMacDataItem for row in MacSetColumnInfo. Is row a valid wxListCtrl row?") ); - if (item) - { - wxMacListCtrlItem* listItem = static_cast(dataItem); - bool hasInfo = listItem->HasColumnInfo( column ); - listItem->SetColumnInfo( column, item ); - listItem->SetOrder(row); - UpdateState(dataItem, item); - - wxListCtrl* list = wxDynamicCast( GetWXPeer() , wxListCtrl ); - - // NB: When this call was made before a control was completely shown, it would - // update the item prematurely (i.e. no text would be listed) and, on show, - // only the sorted column would be refreshed, meaning only first column text labels - // would be shown. Making sure not to update items until the control is visible - // seems to fix this issue. - if (hasInfo && list->IsShown()) - { - DataBrowserTableViewColumnID id = 0; - verify_noerr( GetColumnIDFromIndex( column, &id ) ); - UpdateItem( wxMacDataBrowserRootContainer, listItem , id ); - } - } -} - -// apply changes that need to happen immediately, rather than when the -// databrowser control fires a callback. -void wxMacDataBrowserListCtrlControl::UpdateState(wxMacDataItem* dataItem, wxListItem* listItem) -{ - bool isSelected = IsItemSelected( dataItem ); - bool isSelectedState = (listItem->GetState() == wxLIST_STATE_SELECTED); - - // toggle the selection state if wxListInfo state and actual state don't match. - if ( listItem->GetMask() & wxLIST_MASK_STATE && isSelected != isSelectedState ) - { - DataBrowserSetOption options = kDataBrowserItemsAdd; - if (!isSelectedState) - options = kDataBrowserItemsRemove; - SetSelectedItem(dataItem, options); - } - // TODO: Set column width if item width > than current column width -} - -void wxMacDataBrowserListCtrlControl::MacGetColumnInfo( unsigned int row, unsigned int column, wxListItem& item ) -{ - wxMacDataItem* dataItem = GetItemFromLine(row); - wxASSERT_MSG( dataItem, wxT("could not obtain wxMacDataItem in MacGetColumnInfo. Is row a valid wxListCtrl row?") ); - // CS should this guard against dataItem = 0 ? , as item is not a pointer if (item) is not appropriate - //if (item) - { - wxMacListCtrlItem* listItem = static_cast(dataItem); - - if (!listItem->HasColumnInfo( column )) - return; - - wxListItem* oldItem = listItem->GetColumnInfo( column ); - - if (oldItem) - { - long mask = item.GetMask(); - if ( !mask ) - // by default, get everything for backwards compatibility - mask = -1; - - if ( mask & wxLIST_MASK_TEXT ) - item.SetText(oldItem->GetText()); - if ( mask & wxLIST_MASK_IMAGE ) - item.SetImage(oldItem->GetImage()); - if ( mask & wxLIST_MASK_DATA ) - item.SetData(oldItem->GetData()); - if ( mask & wxLIST_MASK_STATE ) - item.SetState(oldItem->GetState()); - if ( mask & wxLIST_MASK_WIDTH ) - item.SetWidth(oldItem->GetWidth()); - if ( mask & wxLIST_MASK_FORMAT ) - item.SetAlign(oldItem->GetAlign()); - - item.SetTextColour(oldItem->GetTextColour()); - item.SetBackgroundColour(oldItem->GetBackgroundColour()); - item.SetFont(oldItem->GetFont()); - } - } -} - -void wxMacDataBrowserListCtrlControl::MacInsertItem( unsigned int n, wxListItem* item ) -{ - - wxMacDataItemBrowserControl::MacInsert(n, new wxMacListCtrlItem() ); - MacSetColumnInfo(n, 0, item); -} - -wxMacListCtrlItem::wxMacListCtrlItem() -{ - m_rowItems = wxListItemList(); -} - -int wxMacListCtrlItem::GetColumnImageValue( unsigned int column ) -{ - if ( HasColumnInfo(column) ) - return GetColumnInfo(column)->GetImage(); - - return -1; -} - -void wxMacListCtrlItem::SetColumnImageValue( unsigned int column, int imageIndex ) -{ - if ( HasColumnInfo(column) ) - GetColumnInfo(column)->SetImage(imageIndex); -} - -wxString wxMacListCtrlItem::GetColumnTextValue( unsigned int column ) -{ -/* TODO CHECK REMOVE - if ( column == 0 ) - return GetLabel(); -*/ - if ( HasColumnInfo(column) ) - return GetColumnInfo(column)->GetText(); - - return wxEmptyString; -} - -void wxMacListCtrlItem::SetColumnTextValue( unsigned int column, const wxString& text ) -{ - if ( HasColumnInfo(column) ) - GetColumnInfo(column)->SetText(text); - -/* TODO CHECK REMOVE - // for compatibility with superclass APIs - if ( column == 0 ) - SetLabel(text); -*/ -} - -wxListItem* wxMacListCtrlItem::GetColumnInfo( unsigned int column ) -{ - wxASSERT_MSG( HasColumnInfo(column), wxT("invalid column index in wxMacListCtrlItem") ); - return m_rowItems[column]; -} - -bool wxMacListCtrlItem::HasColumnInfo( unsigned int column ) -{ - return !(m_rowItems.find( column ) == m_rowItems.end()); -} - -void wxMacListCtrlItem::SetColumnInfo( unsigned int column, wxListItem* item ) -{ - - if ( !HasColumnInfo(column) ) - { - wxListItem* listItem = new wxListItem(*item); - m_rowItems[column] = listItem; - } - else - { - wxListItem* listItem = GetColumnInfo( column ); - long mask = item->GetMask(); - if (mask & wxLIST_MASK_TEXT) - listItem->SetText(item->GetText()); - if (mask & wxLIST_MASK_DATA) - listItem->SetData(item->GetData()); - if (mask & wxLIST_MASK_IMAGE) - listItem->SetImage(item->GetImage()); - if (mask & wxLIST_MASK_STATE) - listItem->SetState(item->GetState()); - if (mask & wxLIST_MASK_FORMAT) - listItem->SetAlign(item->GetAlign()); - if (mask & wxLIST_MASK_WIDTH) - listItem->SetWidth(item->GetWidth()); - - if ( item->HasAttributes() ) - { - if ( listItem->HasAttributes() ) - listItem->GetAttributes()->AssignFrom(*item->GetAttributes()); - else - { - listItem->SetTextColour(item->GetTextColour()); - listItem->SetBackgroundColour(item->GetBackgroundColour()); - listItem->SetFont(item->GetFont()); - } - } - } -} - -int wxListCtrl::CalcColumnAutoWidth(int col) const -{ - int width = 0; - - for ( int i = 0; i < GetItemCount(); i++ ) - { - wxListItem info; - info.SetMask(wxLIST_MASK_TEXT | wxLIST_MASK_IMAGE); - info.SetId(i); - info.SetColumn(col); - GetItem(info); - - const wxFont font = info.GetFont(); - - int w = 0; - if ( font.IsOk() ) - GetTextExtent(info.GetText(), &w, NULL, NULL, NULL, &font); - else - GetTextExtent(info.GetText(), &w, NULL); - - w += 2 * kItemPadding; - - if ( info.GetImage() != -1 ) - w += kIconWidth; - - width = wxMax(width, w); - } - - return width; -} - -#endif // wxUSE_LISTCTRL - diff --git a/src/osx/carbon/mdi.cpp b/src/osx/carbon/mdi.cpp index 7b62670775..a53d474ab0 100644 --- a/src/osx/carbon/mdi.cpp +++ b/src/osx/carbon/mdi.cpp @@ -45,31 +45,7 @@ static const int IDM_WINDOWTILEVERT = 4005; void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) { -#if wxOSX_USE_CARBON // TODO REMOVE - if ( inWindowRef ) - { -// bool isHighlighted = IsWindowHighlited( inWindowRef ) ; -// if ( inActivate != isHighlighted ) -#ifndef __LP64__ - GrafPtr port ; - GetPort( &port ) ; - SetPortWindowPort( inWindowRef ) ; -#endif - HiliteWindow( inWindowRef , inActivate ) ; - ControlRef control = NULL ; - ::GetRootControl( inWindowRef , &control ) ; - if ( control ) - { - if ( inActivate ) - ::ActivateControl( control ) ; - else - ::DeactivateControl( control ) ; - } -#ifndef __LP64__ - SetPort( port ) ; -#endif - } -#elif defined(wxOSX_USE_COCOA) +#if defined(wxOSX_USE_COCOA) wxUnusedVar(inActivate); wxUnusedVar(inWindowRef); // TODO: implement me! diff --git a/src/osx/carbon/mediactrl.cpp b/src/osx/carbon/mediactrl.cpp deleted file mode 100644 index 7e20e45f41..0000000000 --- a/src/osx/carbon/mediactrl.cpp +++ /dev/null @@ -1,1235 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/mediactrl.cpp -// Purpose: Built-in Media Backends for Mac -// Author: Ryan Norton -// Modified by: -// Created: 11/07/04 -// Copyright: (c) 2004-2006 Ryan Norton -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -// OK, a casual overseer of this file may wonder why we don't use -// either CreateMovieControl or HIMovieView... -// -// CreateMovieControl -// 1) Need to dispose and create each time a new movie is loaded -// 2) Not that many real advantages -// 3) Progressively buggier in higher OSX versions -// (see main.c of QTCarbonShell sample for details) -// HIMovieView -// 1) Crashes on destruction in ALL cases on quite a few systems! -// (With the only real "alternative" is to simply not -// dispose of it and let it leak...) -// 2) Massive refreshing bugs with its movie controller between -// movies -// -// At one point we had a complete implementation for CreateMovieControl -// and on my (RN) local copy I had one for HIMovieView - but they -// were simply deemed to be too buggy/unuseful. HIMovieView could -// have been useful as well because it uses OpenGL contexts instead -// of GWorlds. Perhaps someday when someone comes out with some -// ingenious workarounds :). -//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#if wxUSE_MEDIACTRL - -#include "wx/mediactrl.h" - -#ifndef WX_PRECOMP - #include "wx/log.h" - #include "wx/timer.h" -#endif - -#if wxOSX_USE_CARBON -#define USE_QUICKTIME 1 -#else -#define USE_QUICKTIME 0 -#endif - -#if USE_QUICKTIME - -#include "wx/osx/private.h" -#include - -//--------------------------------------------------------------------------- -// Height and Width of movie controller in the movie control (apple samples) -//--------------------------------------------------------------------------- -#define wxMCWIDTH 320 -#define wxMCHEIGHT 16 - -//=========================================================================== -// BACKEND DECLARATIONS -//=========================================================================== - -//--------------------------------------------------------------------------- -// wxQTMediaBackend -//--------------------------------------------------------------------------- - -class WXDLLIMPEXP_MEDIA wxQTMediaBackend : public wxMediaBackendCommonBase -{ -public: - wxQTMediaBackend(); - virtual ~wxQTMediaBackend(); - - virtual bool CreateControl(wxControl* ctrl, wxWindow* parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxValidator& validator, - const wxString& name); - - virtual bool Load(const wxString& fileName); - virtual bool Load(const wxURI& location); - virtual bool Load(const wxURI& location, - const wxURI& WXUNUSED(proxy)) - { - return Load(location); - } - - virtual bool Play(); - virtual bool Pause(); - virtual bool Stop(); - - virtual wxMediaState GetState(); - - virtual bool SetPosition(wxLongLong where); - virtual wxLongLong GetPosition(); - virtual wxLongLong GetDuration(); - - virtual void Move(int x, int y, int w, int h); - wxSize GetVideoSize() const; - - virtual double GetPlaybackRate(); - virtual bool SetPlaybackRate(double dRate); - - virtual double GetVolume(); - virtual bool SetVolume(double); - - void Cleanup(); - void FinishLoad(); - - virtual bool ShowPlayerControls(wxMediaCtrlPlayerControls flags); - - virtual wxLongLong GetDownloadProgress(); - virtual wxLongLong GetDownloadTotal(); - - virtual void MacVisibilityChanged(); - - // - // ------ Implementation from now on -------- - // - bool DoPause(); - bool DoStop(); - - void DoLoadBestSize(); - void DoSetControllerVisible(wxMediaCtrlPlayerControls flags); - - wxLongLong GetDataSizeFromStart(TimeValue end); - - Boolean IsQuickTime4Installed(); - void DoNewMovieController(); - - static pascal void PPRMProc( - Movie theMovie, OSErr theErr, void* theRefCon); - - //TODO: Last param actually long - does this work on 64bit machines? - static pascal Boolean MCFilterProc(MovieController theController, - short action, void *params, long refCon); - - static pascal OSStatus WindowEventHandler( - EventHandlerCallRef inHandlerCallRef, - EventRef inEvent, void *inUserData ); - - wxSize m_bestSize; // Original movie size - Movie m_movie; // Movie instance - bool m_bPlaying; // Whether media is playing or not - class wxTimer* m_timer; // Timer for streaming the movie - MovieController m_mc; // MovieController instance - wxMediaCtrlPlayerControls m_interfaceflags; // Saved interface flags - - // Event handlers and UPPs/Callbacks - EventHandlerRef m_windowEventHandler; - EventHandlerUPP m_windowUPP; - - MoviePrePrerollCompleteUPP m_preprerollupp; - MCActionFilterWithRefConUPP m_mcactionupp; - - GWorldPtr m_movieWorld; //Offscreen movie GWorld - - friend class wxQTMediaEvtHandler; - - wxDECLARE_DYNAMIC_CLASS(wxQTMediaBackend); -}; - -// helper to hijack background erasing for the QT window -class WXDLLIMPEXP_MEDIA wxQTMediaEvtHandler : public wxEvtHandler -{ -public: - wxQTMediaEvtHandler(wxQTMediaBackend *qtb) - { - m_qtb = qtb; - - qtb->m_ctrl->Connect( - qtb->m_ctrl->GetId(), wxEVT_ERASE_BACKGROUND, - wxEraseEventHandler(wxQTMediaEvtHandler::OnEraseBackground), - NULL, this); - } - - void OnEraseBackground(wxEraseEvent& event); - -private: - wxQTMediaBackend *m_qtb; - - wxDECLARE_NO_COPY_CLASS(wxQTMediaEvtHandler); -}; - -//=========================================================================== -// IMPLEMENTATION -//=========================================================================== - - -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// wxQTMediaBackend -// -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -wxIMPLEMENT_DYNAMIC_CLASS(wxQTMediaBackend, wxMediaBackend); - -//Time between timer calls - this is the Apple recommondation to the TCL -//team I believe -#define MOVIE_DELAY 20 - -//--------------------------------------------------------------------------- -// wxQTMediaLoadTimer -// -// QT, esp. QT for Windows is very picky about how you go about -// async loading. If you were to go through a Windows message loop -// or a MoviesTask or both and then check the movie load state -// it would still return 1000 (loading)... even (pre)prerolling doesn't -// help. However, making a load timer like this works -//--------------------------------------------------------------------------- -class wxQTMediaLoadTimer : public wxTimer -{ -public: - wxQTMediaLoadTimer(wxQTMediaBackend* parent) : - m_parent(parent) {} - - void Notify() - { - ::MCIdle(m_parent->m_mc); - - // kMovieLoadStatePlayable is not enough on MAC: - // it plays, but IsMovieDone might return true (!) - // sure we need to wait until kMovieLoadStatePlaythroughOK - if (::GetMovieLoadState(m_parent->m_movie) >= 20000) - { - m_parent->FinishLoad(); - delete this; - } - } - -protected: - wxQTMediaBackend *m_parent; // Backend pointer -}; - -// -------------------------------------------------------------------------- -// wxQTMediaPlayTimer - Handle Asyncronous Playing -// -// 1) Checks to see if the movie is done, and if not continues -// streaming the movie -// 2) Sends the wxEVT_MEDIA_STOP event if we have reached the end of -// the movie. -// -------------------------------------------------------------------------- -class wxQTMediaPlayTimer : public wxTimer -{ -public: - wxQTMediaPlayTimer(wxQTMediaBackend* parent) : - m_parent(parent) {} - - void Notify() - { - // - // OK, a little explaining - basically originally - // we only called MoviesTask if the movie was actually - // playing (not paused or stopped)... this was before - // we realized MoviesTask actually handles repainting - // of the current frame - so if you were to resize - // or something it would previously not redraw that - // portion of the movie. - // - // So now we call MoviesTask always so that it repaints - // correctly. - // - ::MCIdle(m_parent->m_mc); - - // - // Handle the stop event - if the movie has reached - // the end, notify our handler - // - if (::IsMovieDone(m_parent->m_movie)) - { - if ( m_parent->SendStopEvent() ) - { - m_parent->Stop(); - wxASSERT(::GetMoviesError() == noErr); - - m_parent->QueueFinishEvent(); - } - } - } - -protected: - wxQTMediaBackend* m_parent; // Backend pointer -}; - - -//--------------------------------------------------------------------------- -// wxQTMediaBackend Constructor -// -// Sets m_timer to NULL signifying we havn't loaded anything yet -//--------------------------------------------------------------------------- -wxQTMediaBackend::wxQTMediaBackend() - : m_movie(NULL), m_bPlaying(false), m_timer(NULL) - , m_mc(NULL), m_interfaceflags(wxMEDIACTRLPLAYERCONTROLS_NONE) - , m_preprerollupp(NULL), m_movieWorld(NULL) -{ -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend Destructor -// -// 1) Cleans up the QuickTime movie instance -// 2) Decrements the QuickTime reference counter - if this reaches -// 0, QuickTime shuts down -// 3) Decrements the QuickTime Windows Media Layer reference counter - -// if this reaches 0, QuickTime shuts down the Windows Media Layer -//--------------------------------------------------------------------------- -wxQTMediaBackend::~wxQTMediaBackend() -{ - if (m_movie) - Cleanup(); - - // Cleanup for moviecontroller - if (m_mc) - { - // destroy wxQTMediaEvtHandler we pushed on it - m_ctrl->PopEventHandler(true); - RemoveEventHandler(m_windowEventHandler); - DisposeEventHandlerUPP(m_windowUPP); - - // Dispose of the movie controller - ::DisposeMovieController(m_mc); - m_mc = NULL; - - // Dispose of offscreen GWorld - ::DisposeGWorld(m_movieWorld); - } - - // Note that ExitMovies() is not necessary... - ExitMovies(); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::CreateControl -// -// 1) Initializes QuickTime -// 2) Creates the control window -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::CreateControl( - wxControl* ctrl, - wxWindow* parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxValidator& validator, - const wxString& name) -{ - if (!IsQuickTime4Installed()) - return false; - - EnterMovies(); - - wxMediaCtrl* mediactrl = (wxMediaCtrl*)ctrl; - - // - // Create window - // By default wxWindow(s) is created with a border - - // so we need to get rid of those - // - // Since we don't have a child window like most other - // backends, we don't need wxCLIP_CHILDREN - // - if ( !mediactrl->wxControl::Create( - parent, id, pos, size, - wxWindow::MacRemoveBordersFromStyle(style), - validator, name)) - { - return false; - } - -#if wxUSE_VALIDATORS - mediactrl->SetValidator(validator); -#endif - - m_ctrl = mediactrl; - return true; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::IsQuickTime4Installed -// -// Determines whether version 4 of QT is installed -// (Pretty much for Classic only) -//--------------------------------------------------------------------------- -Boolean wxQTMediaBackend::IsQuickTime4Installed() -{ - OSErr error; - long result; - - error = Gestalt(gestaltQuickTime, &result); - return (error == noErr) && (((result >> 16) & 0xffff) >= 0x0400); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Load (file version) -// -// 1) Get an FSSpec from the Windows path name -// 2) Open the movie -// 3) Obtain the movie instance from the movie resource -// 4) Close the movie resource -// 5) Finish loading -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::Load(const wxString& fileName) -{ - if (m_movie) - Cleanup(); - - ::ClearMoviesStickyError(); // clear previous errors so - // GetMoviesStickyError is useful - - OSErr err = noErr; - short movieResFile; - FSSpec sfFile; - - wxMacFilename2FSSpec( fileName, &sfFile ); - if (OpenMovieFile( &sfFile, &movieResFile, fsRdPerm ) != noErr) - return false; - - short movieResID = 0; - Str255 movieName; - - err = NewMovieFromFile( - &m_movie, - movieResFile, - &movieResID, - movieName, - newMovieActive, - NULL); // wasChanged - - // Do not use ::GetMoviesStickyError() here because it returns -2009 - // a.k.a. invalid track on valid mpegs - if (err == noErr && ::GetMoviesError() == noErr) - { - ::CloseMovieFile(movieResFile); - - // Create movie controller/control - DoNewMovieController(); - - FinishLoad(); - return true; - } - - return false; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Load (URL Version) -// -// 1) Build an escaped URI from location -// 2) Create a handle to store the URI string -// 3) Put the URI string inside the handle -// 4) Make a QuickTime URL data ref from the handle with the URI in it -// 5) Clean up the URI string handle -// 6) Do some prerolling -// 7) Finish Loading -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::Load(const wxURI& location) -{ - if (m_movie) - Cleanup(); - - ::ClearMoviesStickyError(); // clear previous errors so - // GetMoviesStickyError is useful - - wxString theURI = location.BuildURI(); - OSErr err; - - size_t len; - const char* theURIString; - -#if wxUSE_UNICODE - wxCharBuffer buf = wxConvLocal.cWC2MB(theURI.wc_str(), theURI.length(), &len); - theURIString = buf; -#else - theURIString = theURI; - len = theURI.length(); -#endif - - Handle theHandle = ::NewHandleClear(len + 1); - wxASSERT(theHandle); - - ::BlockMoveData(theURIString, *theHandle, len + 1); - - // create the movie from the handle that refers to the URI - err = ::NewMovieFromDataRef( - &m_movie, - newMovieActive | newMovieAsyncOK /* | newMovieIdleImportOK*/, - NULL, theHandle, - URLDataHandlerSubType); - - ::DisposeHandle(theHandle); - - if (err == noErr && ::GetMoviesStickyError() == noErr) - { - // Movie controller resets prerolling, so we must create first - DoNewMovieController(); - - long timeNow; - Fixed playRate; - - timeNow = ::GetMovieTime(m_movie, NULL); - wxASSERT(::GetMoviesError() == noErr); - - playRate = ::GetMoviePreferredRate(m_movie); - wxASSERT(::GetMoviesError() == noErr); - - // - // Note that the callback here is optional, - // but without it PrePrerollMovie can be buggy - // (see Apple ml). Also, some may wonder - // why we need this at all - this is because - // Apple docs say QuickTime streamed movies - // require it if you don't use a Movie Controller, - // which we don't by default. - // - m_preprerollupp = wxQTMediaBackend::PPRMProc; - ::PrePrerollMovie( m_movie, timeNow, playRate, - m_preprerollupp, (void*)this); - - return true; - } - - return false; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::DoNewMovieController -// -// Attaches movie to moviecontroller or creates moviecontroller -// if not created yet -//--------------------------------------------------------------------------- -void wxQTMediaBackend::DoNewMovieController() -{ - if (!m_mc) - { - // Get top level window ref for some mac functions - WindowRef wrTLW = (WindowRef) m_ctrl->MacGetTopLevelWindowRef(); - - // MovieController not set up yet, so we need to create a new one. - // You have to pass a valid movie to NewMovieController, evidently - ::SetMovieGWorld(m_movie, - (CGrafPtr) GetWindowPort(wrTLW), - NULL); - wxASSERT(::GetMoviesError() == noErr); - - Rect bounds = wxMacGetBoundsForControl( - m_ctrl, - m_ctrl->GetPosition(), - m_ctrl->GetSize()); - - m_mc = ::NewMovieController( - m_movie, &bounds, - mcTopLeftMovie | mcNotVisible /* | mcWithFrame */ ); - wxASSERT(::GetMoviesError() == noErr); - - ::MCDoAction(m_mc, 32, (void*)true); // mcActionSetKeysEnabled - wxASSERT(::GetMoviesError() == noErr); - - // Setup a callback so we can tell when the user presses - // play on the player controls - m_mcactionupp = wxQTMediaBackend::MCFilterProc; - ::MCSetActionFilterWithRefCon( m_mc, m_mcactionupp, (long)this ); - wxASSERT(::GetMoviesError() == noErr); - - // Part of a suggestion from Greg Hazel to repaint movie when idle - m_ctrl->PushEventHandler(new wxQTMediaEvtHandler(this)); - - // Create offscreen GWorld for where to "show" when window is hidden - Rect worldRect; - worldRect.left = worldRect.top = 0; - worldRect.right = worldRect.bottom = 1; - ::NewGWorld(&m_movieWorld, 0, &worldRect, NULL, NULL, 0); - - // Catch window messages: - // if we do not do this and if the user clicks the play - // button on the controller, for instance, nothing will happen... - EventTypeSpec theWindowEventTypes[] = - { - { kEventClassMouse, kEventMouseDown }, - { kEventClassMouse, kEventMouseUp }, - { kEventClassMouse, kEventMouseDragged }, - { kEventClassKeyboard, kEventRawKeyDown }, - { kEventClassKeyboard, kEventRawKeyRepeat }, - { kEventClassKeyboard, kEventRawKeyUp }, - { kEventClassWindow, kEventWindowUpdate }, - { kEventClassWindow, kEventWindowActivated }, - { kEventClassWindow, kEventWindowDeactivated } - }; - m_windowUPP = - NewEventHandlerUPP( wxQTMediaBackend::WindowEventHandler ); - InstallWindowEventHandler( - wrTLW, - m_windowUPP, - GetEventTypeCount( theWindowEventTypes ), theWindowEventTypes, - this, - &m_windowEventHandler ); - } - else - { - // MovieController already created: - // Just change the movie in it and we're good to go - Point thePoint; - thePoint.h = thePoint.v = 0; - ::MCSetMovie(m_mc, m_movie, - (WindowRef)m_ctrl->MacGetTopLevelWindowRef(), - thePoint); - wxASSERT(::GetMoviesError() == noErr); - } -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::FinishLoad -// -// Performs operations after a movie ready to play/loaded. -//--------------------------------------------------------------------------- -void wxQTMediaBackend::FinishLoad() -{ - // get the real size of the movie - DoLoadBestSize(); - - // show the player controls if the user wants to - if (m_interfaceflags) - DoSetControllerVisible(m_interfaceflags); - - // we want millisecond precision - ::SetMovieTimeScale(m_movie, 1000); - wxASSERT(::GetMoviesError() == noErr); - - // start movie progress timer - m_timer = new wxQTMediaPlayTimer(this); - wxASSERT(m_timer); - m_timer->Start(MOVIE_DELAY, wxTIMER_CONTINUOUS); - - // send loaded event and refresh size - NotifyMovieLoaded(); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::DoLoadBestSize -// -// Sets the best size of the control from the real size of the movie -//--------------------------------------------------------------------------- -void wxQTMediaBackend::DoLoadBestSize() -{ - // get the real size of the movie - Rect outRect; - ::GetMovieNaturalBoundsRect(m_movie, &outRect); - wxASSERT(::GetMoviesError() == noErr); - - // determine best size - m_bestSize.x = outRect.right - outRect.left; - m_bestSize.y = outRect.bottom - outRect.top; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Play -// -// Start the QT movie -// (Apple recommends mcActionPrerollAndPlay but that's QT 4.1+) -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::Play() -{ - Fixed fixRate = (Fixed) (wxQTMediaBackend::GetPlaybackRate() * 0x10000); - if (!fixRate) - fixRate = ::GetMoviePreferredRate(m_movie); - - wxASSERT(fixRate != 0); - - if (!m_bPlaying) - ::MCDoAction( m_mc, 8 /* mcActionPlay */, (void*) fixRate); - - bool result = (::GetMoviesError() == noErr); - if (result) - { - m_bPlaying = true; - QueuePlayEvent(); - } - - return result; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Pause -// -// Stop the movie -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::DoPause() -{ - // Stop the movie A.K.A. ::StopMovie(m_movie); - if (m_bPlaying) - { - ::MCDoAction( m_mc, 8 /*mcActionPlay*/, (void *) 0); - m_bPlaying = false; - return ::GetMoviesError() == noErr; - } - - // already paused - return true; -} - -bool wxQTMediaBackend::Pause() -{ - bool bSuccess = DoPause(); - if (bSuccess) - this->QueuePauseEvent(); - - return bSuccess; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Stop -// -// 1) Stop the movie -// 2) Seek to the beginning of the movie -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::DoStop() -{ - if (!wxQTMediaBackend::DoPause()) - return false; - - ::GoToBeginningOfMovie(m_movie); - return ::GetMoviesError() == noErr; -} - -bool wxQTMediaBackend::Stop() -{ - bool bSuccess = DoStop(); - if (bSuccess) - QueueStopEvent(); - - return bSuccess; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetPlaybackRate -// -// 1) Get the movie playback rate from ::GetMovieRate -//--------------------------------------------------------------------------- -double wxQTMediaBackend::GetPlaybackRate() -{ - return ( ((double)::GetMovieRate(m_movie)) / 0x10000); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::SetPlaybackRate -// -// 1) Convert dRate to Fixed and Set the movie rate through SetMovieRate -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::SetPlaybackRate(double dRate) -{ - ::SetMovieRate(m_movie, (Fixed) (dRate * 0x10000)); - return ::GetMoviesError() == noErr; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::SetPosition -// -// 1) Create a time record struct (TimeRecord) with appropriate values -// 2) Pass struct to SetMovieTime -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::SetPosition(wxLongLong where) -{ - TimeRecord theTimeRecord; - memset(&theTimeRecord, 0, sizeof(TimeRecord)); - theTimeRecord.value.lo = where.GetLo(); - theTimeRecord.value.hi = where.GetHi(); - theTimeRecord.scale = ::GetMovieTimeScale(m_movie); - theTimeRecord.base = ::GetMovieTimeBase(m_movie); - ::SetMovieTime(m_movie, &theTimeRecord); - - if (::GetMoviesError() != noErr) - return false; - - return true; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetPosition -// -// Calls GetMovieTime -//--------------------------------------------------------------------------- -wxLongLong wxQTMediaBackend::GetPosition() -{ - return ::GetMovieTime(m_movie, NULL); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetVolume -// -// Gets the volume through GetMovieVolume - which returns a 16 bit short - -// -// +--------+--------+ -// + (1) + (2) + -// +--------+--------+ -// -// (1) first 8 bits are value before decimal -// (2) second 8 bits are value after decimal -// -// Volume ranges from -1.0 (gain but no sound), 0 (no sound and no gain) to -// 1 (full gain and sound) -//--------------------------------------------------------------------------- -double wxQTMediaBackend::GetVolume() -{ - short sVolume = ::GetMovieVolume(m_movie); - - if (sVolume & (128 << 8)) //negative - no sound - return 0.0; - - return sVolume / 256.0; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::SetVolume -// -// Sets the volume through SetMovieVolume - which takes a 16 bit short - -// -// +--------+--------+ -// + (1) + (2) + -// +--------+--------+ -// -// (1) first 8 bits are value before decimal -// (2) second 8 bits are value after decimal -// -// Volume ranges from -1.0 (gain but no sound), 0 (no sound and no gain) to -// 1 (full gain and sound) -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::SetVolume(double dVolume) -{ - ::SetMovieVolume(m_movie, (short) (dVolume * 256)); - return true; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetDuration -// -// Calls GetMovieDuration -//--------------------------------------------------------------------------- -wxLongLong wxQTMediaBackend::GetDuration() -{ - return ::GetMovieDuration(m_movie); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetState -// -// Determines the current state - the timer keeps track of whether or not -// we are paused or stopped (if the timer is running we are playing) -//--------------------------------------------------------------------------- -wxMediaState wxQTMediaBackend::GetState() -{ - // Could use - // GetMovieActive/IsMovieDone/SetMovieActive - // combo if implemented that way - if (m_bPlaying) - return wxMEDIASTATE_PLAYING; - else if (!m_movie || wxQTMediaBackend::GetPosition() == 0) - return wxMEDIASTATE_STOPPED; - else - return wxMEDIASTATE_PAUSED; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Cleanup -// -// Diposes of the movie timer, Control if native, and stops and disposes -// of the QT movie -//--------------------------------------------------------------------------- -void wxQTMediaBackend::Cleanup() -{ - m_bPlaying = false; - wxDELETE(m_timer); - - // Stop the movie: - // Apple samples with CreateMovieControl typically - // install a event handler and do this on the dispose - // event, but we do it here for simplicity - // (It might keep playing for several seconds after - // control destruction if not) - wxQTMediaBackend::Pause(); - - // Dispose of control or remove movie from MovieController - Point thePoint; - thePoint.h = thePoint.v = 0; - ::MCSetVisible(m_mc, false); - ::MCSetMovie(m_mc, NULL, NULL, thePoint); - - ::DisposeMovie(m_movie); - m_movie = NULL; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetVideoSize -// -// Returns the actual size of the QT movie -//--------------------------------------------------------------------------- -wxSize wxQTMediaBackend::GetVideoSize() const -{ - return m_bestSize; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::Move -// -// Move the movie controller or movie control -// (we need to actually move the movie control manually...) -// Top 10 things to do with quicktime in March 93's issue -// of DEVELOP - very useful -// http:// www.mactech.com/articles/develop/issue_13/031-033_QuickTime_column.html -// OLD NOTE: Calling MCSetControllerBoundsRect without detaching -// supposively resulted in a crash back then. Current code even -// with CFM classic runs fine. If there is ever a problem, -// take out the if 0 lines below -//--------------------------------------------------------------------------- -void wxQTMediaBackend::Move(int x, int y, int w, int h) -{ - if (m_timer) - { - m_ctrl->GetParent()->MacWindowToRootWindow(&x, &y); - Rect theRect = {y, x, y + h, x + w}; - -#if 0 // see note above - ::MCSetControllerAttached(m_mc, false); - wxASSERT(::GetMoviesError() == noErr); -#endif - - ::MCSetControllerBoundsRect(m_mc, &theRect); - wxASSERT(::GetMoviesError() == noErr); - -#if 0 // see note above - if (m_interfaceflags) - { - ::MCSetVisible(m_mc, true); - wxASSERT(::GetMoviesError() == noErr); - } -#endif - } -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::DoSetControllerVisible -// -// Utility function that takes care of showing the moviecontroller -// and showing/hiding the particular controls on it -//--------------------------------------------------------------------------- -void wxQTMediaBackend::DoSetControllerVisible( - wxMediaCtrlPlayerControls flags) -{ - ::MCSetVisible(m_mc, true); - - // Take care of subcontrols - if (::GetMoviesError() == noErr) - { - long mcFlags = 0; - ::MCDoAction(m_mc, 39/*mcActionGetFlags*/, (void*)&mcFlags); - - if (::GetMoviesError() == noErr) - { - mcFlags |= ( //(1<<0)/*mcFlagSuppressMovieFrame*/ | - (1 << 3)/*mcFlagsUseWindowPalette*/ - | ((flags & wxMEDIACTRLPLAYERCONTROLS_STEP) - ? 0 : (1 << 1)/*mcFlagSuppressStepButtons*/) - | ((flags & wxMEDIACTRLPLAYERCONTROLS_VOLUME) - ? 0 : (1 << 2)/*mcFlagSuppressSpeakerButton*/) - //if we take care of repainting ourselves - // | (1 << 4) /*mcFlagDontInvalidate*/ - ); - - ::MCDoAction(m_mc, 38/*mcActionSetFlags*/, (void*)mcFlags); - } - } - - // Adjust height and width of best size for movie controller - // if the user wants it shown - m_bestSize.x = m_bestSize.x > wxMCWIDTH ? m_bestSize.x : wxMCWIDTH; - m_bestSize.y += wxMCHEIGHT; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::ShowPlayerControls -// -// Shows/Hides subcontrols on the media control -//--------------------------------------------------------------------------- -bool wxQTMediaBackend::ShowPlayerControls(wxMediaCtrlPlayerControls flags) -{ - if (!m_mc) - return false; // no movie controller... - - bool bSizeChanged = false; - - // if the controller is visible and we want to hide it do so - if (m_interfaceflags && !flags) - { - bSizeChanged = true; - DoLoadBestSize(); - ::MCSetVisible(m_mc, false); - } - else if (!m_interfaceflags && flags) // show controller if hidden - { - bSizeChanged = true; - DoSetControllerVisible(flags); - } - - // readjust parent sizers - if (bSizeChanged) - { - NotifyMovieSizeChanged(); - - // remember state in case of loading new media - m_interfaceflags = flags; - } - - return ::GetMoviesError() == noErr; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetDataSizeFromStart -// -// Calls either GetMovieDataSize or GetMovieDataSize64 with a value -// of 0 for the starting value -//--------------------------------------------------------------------------- -wxLongLong wxQTMediaBackend::GetDataSizeFromStart(TimeValue end) -{ -#if 0 // old pre-qt4 way - return ::GetMovieDataSize(m_movie, 0, end) -#else // qt4 way - wide llDataSize; - ::GetMovieDataSize64(m_movie, 0, end, &llDataSize); - return wxLongLong(llDataSize.hi, llDataSize.lo); -#endif -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetDownloadProgress -//--------------------------------------------------------------------------- -wxLongLong wxQTMediaBackend::GetDownloadProgress() -{ -#if 0 // hackish and slow - Handle hMovie = NewHandle(0); - PutMovieIntoHandle(m_movie, hMovie); - long lSize = GetHandleSize(hMovie); - DisposeHandle(hMovie); - - return lSize; -#else - TimeValue tv; - if (::GetMaxLoadedTimeInMovie(m_movie, &tv) != noErr) - { - wxLogDebug(wxT("GetMaxLoadedTimeInMovie failed")); - return 0; - } - - return wxQTMediaBackend::GetDataSizeFromStart(tv); -#endif -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::GetDownloadTotal -//--------------------------------------------------------------------------- -wxLongLong wxQTMediaBackend::GetDownloadTotal() -{ - return wxQTMediaBackend::GetDataSizeFromStart( - ::GetMovieDuration(m_movie) - ); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::MacVisibilityChanged -// -// The main problem here is that Windows quicktime, for example, -// renders more directly to a HWND. Mac quicktime does not do this -// and instead renders to the port of the WindowRef/WindowPtr on top -// of everything else/all other windows. -// -// So, for example, if you were to have a CreateTabsControl/wxNotebook -// and change pages, even if you called HIViewSetVisible/SetControlVisibility -// directly the movie will still continue playing on top of everything else -// if you went to a different tab. -// -// Note that another issue, and why we call MCSetControllerPort instead -// of SetMovieGWorld directly, is that in addition to rendering on -// top of everything else the last created controller steals mouse and -// other input from everything else in the window, including other -// controllers. Setting the port of it releases this behaviour. -//--------------------------------------------------------------------------- -void wxQTMediaBackend::MacVisibilityChanged() -{ - if(!m_mc || !m_ctrl->m_bLoaded) - return; //not initialized yet - - if(m_ctrl->IsShownOnScreen()) - { - //The window is being shown again, so set the GWorld of the - //controller back to the port of the parent WindowRef - WindowRef wrTLW = - (WindowRef) m_ctrl->MacGetTopLevelWindowRef(); - - ::MCSetControllerPort(m_mc, (CGrafPtr) GetWindowPort(wrTLW)); - wxASSERT(::GetMoviesError() == noErr); - } - else - { - //We are being hidden - set the GWorld of the controller - //to the offscreen GWorld - ::MCSetControllerPort(m_mc, m_movieWorld); - wxASSERT(::GetMoviesError() == noErr); - } -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::OnEraseBackground -// -// Suggestion from Greg Hazel to repaint the movie when idle -// (on pause also) -//--------------------------------------------------------------------------- -void wxQTMediaEvtHandler::OnEraseBackground(wxEraseEvent& WXUNUSED(evt)) -{ - // Work around Nasty OSX drawing bug: - // http://lists.apple.com/archives/QuickTime-API/2002/Feb/msg00311.html - WindowRef wrTLW = (WindowRef) m_qtb->m_ctrl->MacGetTopLevelWindowRef(); - - RgnHandle region = ::MCGetControllerBoundsRgn(m_qtb->m_mc); - ::MCInvalidate(m_qtb->m_mc, wrTLW, region); - ::MCIdle(m_qtb->m_mc); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::PPRMProc (static) -// -// Called when done PrePrerolling the movie. -// Note that in 99% of the cases this does nothing... -// Anyway we set up the loading timer here to tell us when the movie is done -//--------------------------------------------------------------------------- -pascal void wxQTMediaBackend::PPRMProc( - Movie theMovie, - OSErr WXUNUSED_UNLESS_DEBUG(theErr), - void* theRefCon) -{ - wxASSERT( theMovie ); - wxASSERT( theRefCon ); - wxASSERT( theErr == noErr ); - - wxQTMediaBackend* pBE = (wxQTMediaBackend*) theRefCon; - - long lTime = ::GetMovieTime(theMovie,NULL); - Fixed rate = ::GetMoviePreferredRate(theMovie); - ::PrerollMovie(theMovie,lTime,rate); - pBE->m_timer = new wxQTMediaLoadTimer(pBE); - pBE->m_timer->Start(MOVIE_DELAY); -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::MCFilterProc (static) -// -// Callback for when the movie controller receives a message -//--------------------------------------------------------------------------- -pascal Boolean wxQTMediaBackend::MCFilterProc( - MovieController WXUNUSED(theController), - short action, - void * WXUNUSED(params), - long refCon) -{ - wxQTMediaBackend* pThis = (wxQTMediaBackend*)refCon; - - switch (action) - { - case 1: - // don't process idle events - break; - - case 8: - // play button triggered - MC will set movie to opposite state - // of current - playing ? paused : playing - pThis->m_bPlaying = !(pThis->m_bPlaying); - break; - - default: - break; - } - - return 0; -} - -//--------------------------------------------------------------------------- -// wxQTMediaBackend::WindowEventHandler [static] -// -// Event callback for the top level window of our control that passes -// messages to our moviecontroller so it can receive mouse clicks etc. -//--------------------------------------------------------------------------- -pascal OSStatus wxQTMediaBackend::WindowEventHandler( - EventHandlerCallRef WXUNUSED(inHandlerCallRef), - EventRef inEvent, - void *inUserData) -{ - wxQTMediaBackend* be = (wxQTMediaBackend*) inUserData; - - // Only process keyboard messages on this window if it actually - // has focus, otherwise it will steal keystrokes from other windows! - // As well as when it is not loaded properly as it - // will crash in MCIsPlayerEvent - if((GetEventClass(inEvent) == kEventClassKeyboard && - wxWindow::FindFocus() != be->m_ctrl) - || !be->m_ctrl->m_bLoaded) - return eventNotHandledErr; - - // Pass the event onto the movie controller - EventRecord theEvent; - ConvertEventRefToEventRecord( inEvent, &theEvent ); - OSStatus err; - - // TODO: Apple says MCIsPlayerEvent is depreciated and - // MCClick, MCKey, MCIdle etc. should be used - // (RN: Of course that's what they say about - // CreateMovieControl and HIMovieView as well, LOL!) - err = ::MCIsPlayerEvent( be->m_mc, &theEvent ); - - // Pass on to other event handlers if not handled- i.e. wx - if (err != noErr) - return noErr; - else - return eventNotHandledErr; -} - -#endif - -// in source file that contains stuff you don't directly use -#include "wx/html/forcelnk.h" -FORCE_LINK_ME(basewxmediabackends) - -#endif // wxUSE_MEDIACTRL diff --git a/src/osx/carbon/menu.cpp b/src/osx/carbon/menu.cpp deleted file mode 100644 index 06a703dfd4..0000000000 --- a/src/osx/carbon/menu.cpp +++ /dev/null @@ -1,436 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/menu.cpp -// Purpose: wxMenu, wxMenuBar, wxMenuItem -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// headers & declarations -// ============================================================================ - -// wxWidgets headers -// ----------------- - -#include "wx/wxprec.h" - -#include "wx/menu.h" - -#ifndef WX_PRECOMP - #include "wx/log.h" - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/frame.h" - #include "wx/menuitem.h" -#endif - -#include "wx/osx/private.h" -#include "wx/stockitem.h" - -// other standard headers -// ---------------------- -#include - -// under carbon there's no such thing as a MenuItemRef, everything is done -// on the 'parent' menu via index APIs (first line having index 1 !) -// so to make things still work, we store the wxMenuItemImpl instance as a -// RefCon at the respective menu line - -class wxMenuItemCarbonImpl : public wxMenuItemImpl -{ -public : - wxMenuItemCarbonImpl( wxMenuItem* peer ) : wxMenuItemImpl(peer) - { - // the parent menu ref is only set, once the item has been attached - m_parentMenuRef = NULL; - } - - ~wxMenuItemCarbonImpl(); - - void SetBitmap( const wxBitmap& bitmap ) - { - MenuItemIndex i = FindMenuItemIndex() ; - if ( i > 0 ) - { - if ( bitmap.IsOk() ) - { -#if wxUSE_BMPBUTTON - ControlButtonContentInfo info ; - wxMacCreateBitmapButton( &info , bitmap ) ; - if ( info.contentType != kControlNoContent ) - { - if ( info.contentType == kControlContentIconRef ) - SetMenuItemIconHandle( m_parentMenuRef, i , - kMenuIconRefType , (Handle) info.u.iconRef ) ; - else if ( info.contentType == kControlContentCGImageRef ) - SetMenuItemIconHandle( m_parentMenuRef, i , - kMenuCGImageRefType , (Handle) info.u.imageRef ) ; - } - wxMacReleaseBitmapButton( &info ) ; -#endif - } - } - } - - void Enable( bool enable ) - { - MenuItemIndex i = FindMenuItemIndex() ; - if ( i > 0 ) - { - - if ( GetWXPeer()->GetId() == wxApp::s_macPreferencesMenuItemId) - { - if ( enable ) - EnableMenuCommand( NULL , kHICommandPreferences ) ; - else - DisableMenuCommand( NULL , kHICommandPreferences ) ; - } - else if ( GetWXPeer()->GetId() == wxApp::s_macExitMenuItemId) - { - if ( enable ) - EnableMenuCommand( NULL , kHICommandQuit ) ; - else - DisableMenuCommand( NULL , kHICommandQuit ) ; - } - - if ( enable ) - EnableMenuItem(m_parentMenuRef , i); - else - DisableMenuItem(m_parentMenuRef , i); - - if ( GetWXPeer()->IsSubMenu() ) - { - UMAEnableMenuItem( GetWXPeer()->GetSubMenu()->GetHMenu() , 0 , enable ) ; - } - } - } - - void Check( bool check ) - { - MenuItemIndex i = FindMenuItemIndex() ; - if ( i > 0 ) - { - if ( check ) - ::SetItemMark( m_parentMenuRef, i, 0x12 ) ; // checkmark - else - ::SetItemMark( m_parentMenuRef, i, 0 ) ; // no mark - } - } - - void Hide( bool hide ) - { - MenuItemIndex i = FindMenuItemIndex() ; - if ( i > 0 ) - { - if ( hide ) - ChangeMenuItemAttributes( m_parentMenuRef, i, kMenuItemAttrHidden, 0 ); - else - ChangeMenuItemAttributes( m_parentMenuRef, i, 0 , kMenuItemAttrHidden ); - } - } - - void SetLabel( const wxString& text, wxAcceleratorEntry *entry ) - { - MenuItemIndex i = FindMenuItemIndex() ; - if ( i > 0 ) - { - SetMenuItemTextWithCFString( m_parentMenuRef, i, wxCFStringRef(text)); - UMASetMenuItemShortcut( m_parentMenuRef, i , entry ) ; - } - } - - void * GetHMenuItem() { return NULL; } - - // Carbon Only - - void AttachToParent( MenuRef parentMenuRef, MenuItemIndex index ) - { - m_parentMenuRef = parentMenuRef; - if ( m_parentMenuRef && index > 0 ) - SetMenuItemRefCon( m_parentMenuRef, index, (URefCon) m_peer ); - } - - MenuItemIndex FindMenuItemIndex() - { - MenuItemIndex hit = 0 ; - if ( m_parentMenuRef ) - { - for ( MenuItemIndex i = 1 ; i <= CountMenuItems(m_parentMenuRef) ; ++i ) - { - URefCon storedRef = 0; - GetMenuItemRefCon(m_parentMenuRef, i, &storedRef ); - if ( storedRef == (URefCon) m_peer ) - { - hit = i; - break; - } - } - } - return hit; - } -protected : - MenuRef m_parentMenuRef; -} ; - -// -// wxMenuImpl -// - -class wxMenuCarbonImpl : public wxMenuImpl -{ -public : - wxMenuCarbonImpl( wxMenu* peer , MenuRef menu , MenuRef oldMenu , SInt16 menuId) - : wxMenuImpl(peer), m_osxMenu(menu), m_oldMenuRef(oldMenu), m_menuId(menuId) - { - } - - virtual ~wxMenuCarbonImpl(); - - virtual void InsertOrAppend(wxMenuItem *pItem, size_t pos) - { - // MacOS counts menu items from 1 and inserts after, therefore having the - // same effect as wx 0 based and inserting before, we must correct pos - // after however for updates to be correct - - MenuItemIndex index = pos; - if ( pos == (size_t) -1 ) - index = CountMenuItems(m_osxMenu); - - if ( pItem->IsSeparator() ) - { - InsertMenuItemTextWithCFString( m_osxMenu, CFSTR(""), index, kMenuItemAttrSeparator, 0); - // now switch to the Carbon 1 based counting - index += 1 ; - } - else - { - InsertMenuItemTextWithCFString( m_osxMenu, CFSTR("placeholder"), index, 0, 0 ); - - // now switch to the Carbon 1 based counting - index += 1 ; - if ( pItem->IsSubMenu() ) - { - MenuRef submenu = pItem->GetSubMenu()->GetHMenu(); - SetMenuItemHierarchicalMenu(m_osxMenu, index, submenu); - // carbon is using the title of the submenu, eg in the menubar - SetMenuTitleWithCFString(submenu, wxCFStringRef(pItem->GetItemLabelText())); - } - else - { - SetMenuItemCommandID( m_osxMenu, index , wxIdToMacCommand(pItem->GetId()) ) ; - } - } - - wxMenuItemCarbonImpl* impl = (wxMenuItemCarbonImpl*) pItem->GetPeer(); - impl->AttachToParent( m_osxMenu, index ); - // only now can all settings be updated correctly - pItem->UpdateItemText(); - pItem->UpdateItemStatus(); - pItem->UpdateItemBitmap(); - } - - virtual void Remove( wxMenuItem *pItem ) - { - wxMenuItemCarbonImpl* impl = (wxMenuItemCarbonImpl*) pItem->GetPeer(); - if ( impl ) - { - MenuItemIndex i = impl->FindMenuItemIndex(); - if ( i > 0 ) - { - DeleteMenuItem(m_osxMenu , i); - impl->AttachToParent( NULL, 0 ); - } - } - } - - virtual void MakeRoot() - { - SetRootMenu( m_osxMenu ); - } - - virtual void SetTitle( const wxString& text ) - { - SetMenuTitleWithCFString(m_osxMenu, wxCFStringRef(text)); - } - - WXHMENU GetHMenu() { return m_osxMenu; } - - virtual void PopUp( wxWindow *WXUNUSED(win), int x, int y ) - { - long menuResult = ::PopUpMenuSelect(m_osxMenu, y, x, 0) ; - if ( HiWord(menuResult) != 0 ) - { - MenuCommand macid; - GetMenuItemCommandID( GetMenuHandle(HiWord(menuResult)) , LoWord(menuResult) , &macid ); - int id = wxMacCommandToId( macid ); - wxMenuItem* item = NULL ; - wxMenu* realmenu ; - item = m_peer->FindItem( id, &realmenu ) ; - if ( item ) - { - m_peer->HandleCommandProcess(item, NULL ); - } - } - } - - static wxMenuImpl* Create( wxMenu* peer, const wxString& title ); - static wxMenuImpl* CreateRootMenu( wxMenu* peer ); -protected : - wxCFRef m_osxMenu; - MenuRef m_oldMenuRef; - SInt16 m_menuId; -} ; - -// static const short kwxMacAppleMenuId = 1 ; - -// Find an item given the Macintosh Menu Reference - -WX_DECLARE_HASH_MAP(WXHMENU, wxMenu*, wxPointerHash, wxPointerEqual, MacMenuMap); - -static MacMenuMap wxWinMacMenuList; - -wxMenu *wxFindMenuFromMacMenu(WXHMENU inMenuRef) -{ - MacMenuMap::iterator node = wxWinMacMenuList.find(inMenuRef); - - return (node == wxWinMacMenuList.end()) ? NULL : node->second; -} - -void wxAssociateMenuWithMacMenu(WXHMENU inMenuRef, wxMenu *menu) ; -void wxAssociateMenuWithMacMenu(WXHMENU inMenuRef, wxMenu *menu) -{ - // adding NULL MenuRef is (first) surely a result of an error and - // (secondly) breaks menu command processing - wxCHECK_RET( inMenuRef != (WXHMENU) NULL, wxT("attempt to add a NULL MenuRef to menu list") ); - - wxWinMacMenuList[inMenuRef] = menu; -} - -void wxRemoveMacMenuAssociation(wxMenu *menu) ; -void wxRemoveMacMenuAssociation(wxMenu *menu) -{ - // iterate over all the elements in the class - MacMenuMap::iterator it; - for ( it = wxWinMacMenuList.begin(); it != wxWinMacMenuList.end(); ++it ) - { - if ( it->second == menu ) - { - wxWinMacMenuList.erase(it); - break; - } - } -} - -wxMenuCarbonImpl::~wxMenuCarbonImpl() -{ - wxRemoveMacMenuAssociation( GetWXPeer() ); - // restore previous menu - m_osxMenu.reset(); - if ( m_menuId > 0 ) - MacDeleteMenu(m_menuId); - if ( m_oldMenuRef ) - MacInsertMenu(m_oldMenuRef, -1); -} - -wxMenuImpl* wxMenuImpl::Create( wxMenu* peer, const wxString& title ) -{ - // create the menu - static SInt16 s_macNextMenuId = 3; - SInt16 menuId = s_macNextMenuId++; - // save existing menu in case we're embedding into an application - // or sharing outside UI elements. - WXHMENU oldMenu = GetMenuHandle(menuId); - if ( oldMenu ) - MacDeleteMenu(menuId); - WXHMENU menu = NULL; - CreateNewMenu( menuId , 0 , &menu ) ; - if ( !menu ) - { - wxLogLastError(wxT("CreateNewMenu failed")); - if ( oldMenu ) - MacInsertMenu(oldMenu, -1); - return NULL; - } - - wxMenuImpl* c = new wxMenuCarbonImpl( peer, menu, oldMenu, menuId ); - c->SetTitle(title); - wxAssociateMenuWithMacMenu( menu , peer ) ; - return c; -} - -// -// -// - -wxMenuItemCarbonImpl::~wxMenuItemCarbonImpl() -{ -} - - -wxMenuItemImpl* wxMenuItemImpl::Create( wxMenuItem* peer, - wxMenu * WXUNUSED(pParentMenu), - int WXUNUSED(id), - const wxString& WXUNUSED(text), - wxAcceleratorEntry *WXUNUSED(entry), - const wxString& WXUNUSED(strHelp), - wxItemKind WXUNUSED(kind), - wxMenu *WXUNUSED(pSubMenu) ) -{ - wxMenuItemImpl* c = NULL; - - c = new wxMenuItemCarbonImpl( peer ); - return c; -} - -void wxInsertMenuItemsInMenu(wxMenu* menu, MenuRef wm, MenuItemIndex insertAfter) -{ - wxMenuItemList::compatibility_iterator node; - wxMenuItem *item; - wxMenu *subMenu = NULL ; - bool newItems = false; - - for (node = menu->GetMenuItems().GetFirst(); node; node = node->GetNext()) - { - item = (wxMenuItem *)node->GetData(); - subMenu = item->GetSubMenu() ; - if (subMenu) - { - wxInsertMenuItemsInMenu(subMenu, (MenuRef)subMenu->GetHMenu(), 0); - } - if ( item->IsSeparator() ) - { - if ( wm && newItems) - InsertMenuItemTextWithCFString( wm, - CFSTR(""), insertAfter, kMenuItemAttrSeparator, 0); - - newItems = false; - } - else - { - wxAcceleratorEntry* - entry = wxAcceleratorEntry::Create( item->GetItemLabel() ) ; - - MenuItemIndex winListPos = (MenuItemIndex)-1; - OSStatus err = GetIndMenuItemWithCommandID(wm, - wxIdToMacCommand ( item->GetId() ), 1, NULL, &winListPos); - - if ( wm && err == menuItemNotFoundErr ) - { - // NB: the only way to determine whether or not we should add - // a separator is to know if we've added menu items to the menu - // before the separator. - newItems = true; - UMAInsertMenuItem(wm, wxStripMenuCodes(item->GetItemLabel()) , wxFont::GetDefaultEncoding(), insertAfter, entry); - SetMenuItemCommandID( wm , insertAfter+1 , wxIdToMacCommand ( item->GetId() ) ) ; - SetMenuItemRefCon( wm , insertAfter+1 , (URefCon) item ) ; - } - - delete entry ; - } - } -} - - diff --git a/src/osx/carbon/menuitem.cpp b/src/osx/carbon/menuitem.cpp deleted file mode 100644 index b2ea37bbed..0000000000 --- a/src/osx/carbon/menuitem.cpp +++ /dev/null @@ -1,24 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/menuitem.cpp -// Purpose: wxMenuItem implementation -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/menuitem.h" -#include "wx/stockitem.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/menu.h" -#endif // WX_PRECOMP - -#include "wx/osx/private.h" - -// because on mac carbon everything is done through MenuRef APIs both implementation -// classes are in menu.cpp diff --git a/src/osx/carbon/mimetmac.cpp b/src/osx/carbon/mimetmac.cpp deleted file mode 100644 index aebcb41396..0000000000 --- a/src/osx/carbon/mimetmac.cpp +++ /dev/null @@ -1,1958 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/mimetmac.cpp -// Purpose: Mac Carbon implementation for wx MIME-related classes -// Author: Ryan Norton -// Modified by: -// Created: 04/16/2005 -// Copyright: (c) 2005 Ryan Norton () -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// -// TODO: Search Info[-macos](classic).plist dictionary in addition -// to Internet Config database. -// -// Maybe try a brainstorm a way to change the wxMimeTypesManager API -// to get info from a file instead/addition to current get all stuff -// API so that we can use Launch Services to get MIME type info. -// -// Implement GetIcon from one of the FinderInfo functions - or -// use Launch Services and search that app's plist for the icon. -// -// Put some special juice in for the print command. -// - -// for compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#if wxUSE_MIMETYPE - -#include "wx/osx/mimetype.h" - -#ifndef WX_PRECOMP - #include "wx/dynarray.h" - #include "wx/string.h" - #include "wx/intl.h" - #include "wx/log.h" - - #if wxUSE_GUI - #include "wx/icon.h" - #endif -#endif - -#include "wx/file.h" -#include "wx/confbase.h" - -#include "wx/osx/private.h" - -// other standard headers -#include - -#ifndef __DARWIN__ - #include - #include -#endif - -#ifndef __LP64__ -// START CODE SAMPLE FROM TECHNOTE 1002 (http://developer.apple.com/technotes/tn/tn1002.html) - -// IsRemoteVolume can be used to find out if the -// volume referred to by vRefNum is a remote volume -// located somewhere on a network. the volume's attribute -// flags (copied from the GetVolParmsInfoBuffer structure) -// are returned in the longword pointed to by vMAttrib. -OSErr IsRemoteVolume(short vRefNum, Boolean *isRemote, long *vMAttrib) -{ - HParamBlockRec volPB; - GetVolParmsInfoBuffer volinfo; - OSErr err; - - volPB.ioParam.ioVRefNum = vRefNum; - volPB.ioParam.ioNamePtr = NULL; - volPB.ioParam.ioBuffer = (Ptr)&volinfo; - volPB.ioParam.ioReqCount = sizeof(volinfo); - err = PBHGetVolParmsSync( &volPB ); - if (err == noErr) - { - *isRemote = (volinfo.vMServerAdr != 0); - *vMAttrib = volinfo.vMAttrib; - } - - return err; -} - -// BuildVolumeList fills the array pointed to by vols with -// a list of the currently mounted volumes. If includeRemote -// is true, then remote server volumes will be included in -// the list. When remote server volumes are included in the -// list, they will be added to the end of the list. On entry, -// *count should contain the size of the array pointed to by -// vols. On exit, *count will be set to the number of id numbers -// placed in the array. If vMAttribMask is non-zero, then -// only volumes with matching attributes are added to the -// list of volumes. bits in the vMAttribMask should use the -// same encoding as bits in the vMAttrib field of -// the GetVolParmsInfoBuffer structure. -OSErr BuildVolumeList(Boolean includeRemote, short *vols, - long *count, long vMAttribMask) -{ - HParamBlockRec volPB; - Boolean isRemote; - OSErr err = noErr; - long nlocal, nremote; - long vMAttrib; - - // set up and check parameters - volPB.volumeParam.ioNamePtr = NULL; - nlocal = nremote = 0; - if (*count == 0) - return noErr; - - // iterate through volumes - for (volPB.volumeParam.ioVolIndex = 1; - PBHGetVInfoSync(&volPB) == noErr; - volPB.volumeParam.ioVolIndex++) - { - // skip remote volumes, if necessary - err = IsRemoteVolume(volPB.volumeParam.ioVRefNum, &isRemote, &vMAttrib); - if (err != noErr) - goto bail; - - if ((includeRemote || !isRemote) && ((vMAttrib & vMAttribMask) == vMAttribMask)) - { - // add local volumes at the front; remote volumes at the end - if (isRemote) - vols[nlocal + nremote++] = volPB.volumeParam.ioVRefNum; - else - { - if (nremote > 0) - BlockMoveData( - vols + nlocal, - vols + nlocal + 1, - nremote * sizeof(short) ); - vols[nlocal++] = volPB.volumeParam.ioVRefNum; - } - - // list full? - if ((nlocal + nremote) >= *count) - break; - } - } - -bail: - *count = (nlocal + nremote); - - return err; -} - - -// FindApplication iterates through mounted volumes -// searching for an application with the given creator -// type. If includeRemote is true, then remote volumes -// will be searched (after local ones) for an application -// with the creator type. -// -// Hacked to output to appName -// -#define kMaxVols 20 - -OSErr FindApplication(OSType appCreator, Boolean includeRemote, Str255 appName, FSSpec* appSpec) -{ - short rRefNums[kMaxVols]; - long i, volCount; - DTPBRec desktopPB; - OSErr err; - - // get a list of volumes - with desktop files - volCount = kMaxVols; - err = BuildVolumeList(includeRemote, rRefNums, &volCount, (1 << bHasDesktopMgr) ); - if (err != noErr) - return err; - - // iterate through the list - for (i=0; iname[0] == 0 ) - { - result = FSMakeFSSpecCompat(spec->vRefNum, spec->parID, spec->name, &tempSpec); - } - else - { -#endif - - // Make a copy of the input FSSpec that can be modified - BlockMoveData( spec, &tempSpec, sizeof(FSSpec) ); - - if ( result == noErr ) - { - if ( tempSpec.parID == fsRtParID ) - { - // object is a volume - // Add a colon to make it a full pathname - ++tempSpec.name[0]; - tempSpec.name[tempSpec.name[0]] = ':'; - - // We're done - result = PtrToHand(&tempSpec.name[1], fullPath, tempSpec.name[0]); - } - else - { - // object isn't a volume - - // Is the object a file or a directory? - pb.dirInfo.ioNamePtr = tempSpec.name; - pb.dirInfo.ioVRefNum = tempSpec.vRefNum; - pb.dirInfo.ioDrDirID = tempSpec.parID; - pb.dirInfo.ioFDirIndex = 0; - result = PBGetCatInfoSync( &pb ); - - // Allow file/directory name at end of path to not exist. - realResult = result; - if ((result == noErr) || (result == fnfErr)) - { - // if the object is a directory, append a colon so full pathname ends with colon - if ((result == noErr) && (pb.hFileInfo.ioFlAttrib & kioFlAttribDirMask) != 0) - { - ++tempSpec.name[0]; - tempSpec.name[tempSpec.name[0]] = ':'; - } - - // Put the object name in first - result = PtrToHand( &tempSpec.name[1], fullPath, tempSpec.name[0] ); - if ( result == noErr ) - { - // Get the ancestor directory names - pb.dirInfo.ioNamePtr = tempSpec.name; - pb.dirInfo.ioVRefNum = tempSpec.vRefNum; - pb.dirInfo.ioDrParID = tempSpec.parID; - - // loop until we have an error or find the root directory - do - { - pb.dirInfo.ioFDirIndex = -1; - pb.dirInfo.ioDrDirID = pb.dirInfo.ioDrParID; - result = PBGetCatInfoSync(&pb); - if ( result == noErr ) - { - // Append colon to directory name - ++tempSpec.name[0]; - tempSpec.name[tempSpec.name[0]] = ':'; - - // Add directory name to beginning of fullPath - (void)Munger(*fullPath, 0, NULL, 0, &tempSpec.name[1], tempSpec.name[0]); - result = MemError(); - } - } - while ( (result == noErr) && (pb.dirInfo.ioDrDirID != fsRtDirID) ); - } - } - } - } - - if ( result == noErr ) - { - // Return the length - *fullPathLength = GetHandleSize( *fullPath ); - result = realResult; // return realResult in case it was fnfErr - } - else - { - // Dispose of the handle and return NULL and zero length - if ( *fullPath != NULL ) - { - DisposeHandle( *fullPath ); - *fullPath = NULL; - } - *fullPathLength = 0; - } - - return result; -} -#endif // LP64 -// -// On the mac there are two ways to open a file - one is through apple events and the -// finder, another is through mime types. -// -// So, really there are two ways to implement wxFileType... -// -// Mime types are only available on OS 8.1+ through the InternetConfig API -// -// Much like the old-style file manager, it has 3 levels of flexibility for its methods - -// Low - which means you have to iterate yourself through the mime database -// Medium - which lets you sort of cache the database if you want to use lowlevel functions -// High - which requires access to the database every time -// -// We want to be efficient (i.e. professional :) ) about it, so we use a combo of low -// and mid-level functions -// -// TODO: Should we call ICBegin/ICEnd? Then where? -// - -// debug helper -inline void wxLogMimeDebug(const wxChar* WXUNUSED_UNLESS_DEBUG(szMsg), OSStatus WXUNUSED_UNLESS_DEBUG(status)) -{ - wxLogDebug(wxString::Format(wxT("%s LINE:%i OSERROR:%i"), szMsg, __LINE__, (int)status)); -} - -// in case we're compiling in non-GUI mode -class WXDLLIMPEXP_FWD_CORE wxIcon; - -bool wxFileTypeImpl::SetCommand(const wxString& WXUNUSED(cmd), const wxString& WXUNUSED(verb), bool WXUNUSED(overwriteprompt)) -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - return false; -} - -bool wxFileTypeImpl::SetDefaultIcon(const wxString& WXUNUSED(strIcon), int WXUNUSED(index)) -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - return false; -} - -bool wxFileTypeImpl::GetOpenCommand(wxString *openCmd, - const wxFileType::MessageParameters& params) const -{ - wxString cmd = GetCommand(wxT("open")); - - *openCmd = wxFileType::ExpandCommand(cmd, params); - - return !openCmd->empty(); -} - -bool -wxFileTypeImpl::GetPrintCommand( - wxString *printCmd, - const wxFileType::MessageParameters& params) const -{ - wxString cmd = GetCommand(wxT("print")); - - *printCmd = wxFileType::ExpandCommand(cmd, params); - - return !printCmd->empty(); -} - -// -// Internet Config vs. Launch Services -// -// From OS 8 on there was internet config... -// However, OSX and its finder does not use info -// from Internet Config at all - the Internet Config -// database ONLY CONTAINS APPS THAT ARE CLASSIC APPS -// OR REGISTERED THROUGH INTERNET CONFIG -// -// Therefore on OSX in order for the open command to be useful -// we need to go straight to launch services -// - -//on darwin, use launch services - -#include - -wxString wxFileTypeImpl::GetCommand(const wxString& verb) const -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - if (verb == wxT("open")) - { - ICMapEntry entry; - ICGetMapEntry( (ICInstance) m_manager->m_hIC, - (Handle) m_manager->m_hDatabase, - m_lIndex, &entry); - - wxString sCurrentExtension = wxMacMakeStringFromPascal(entry.extension); - sCurrentExtension = sCurrentExtension.Right(sCurrentExtension.length()-1 ); - - //type, creator, ext, roles, outapp (FSRef), outappurl - CFURLRef cfurlAppPath; - OSStatus status = LSGetApplicationForInfo( kLSUnknownType, - kLSUnknownCreator, - wxCFStringRef(sCurrentExtension, wxLocale::GetSystemEncoding()), - kLSRolesAll, - NULL, - &cfurlAppPath ); - - if (status == noErr) - { - CFStringRef cfsUnixPath = CFURLCopyFileSystemPath(cfurlAppPath, kCFURLPOSIXPathStyle); - CFRelease(cfurlAppPath); - - // PHEW! Success! - // Since a filename might have spaces in it, so surround it with quotes - if (cfsUnixPath) - { - wxString resultStr; - - resultStr = - wxString(wxT("'")) - + wxCFStringRef(cfsUnixPath).AsString(wxLocale::GetSystemEncoding()) - + wxString(wxT("'")); - - return resultStr; - } - } - else - { - wxLogDebug(wxString::Format(wxT("%i - %s - %i"), - __LINE__, - wxT("LSGetApplicationForInfo failed."), - (int)status)); - } - } - - return wxEmptyString; -} - -bool wxFileTypeImpl::GetDescription(wxString *desc) const -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - ICMapEntry entry; - ICGetMapEntry( (ICInstance) m_manager->m_hIC, - (Handle) m_manager->m_hDatabase, m_lIndex, &entry ); - - *desc = wxMacMakeStringFromPascal( entry.entryName ); - - return true; -} - -bool wxFileTypeImpl::GetExtensions(wxArrayString& extensions) -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - ICMapEntry entry; - ICGetMapEntry( (ICInstance) m_manager->m_hIC, - (Handle) m_manager->m_hDatabase, m_lIndex, &entry ); - - //entry has period in it - wxString sCurrentExtension = wxMacMakeStringFromPascal( entry.extension ); - extensions.Add( sCurrentExtension.Right( sCurrentExtension.length() - 1 ) ); - - return true; -} - -bool wxFileTypeImpl::GetMimeType(wxString *mimeType) const -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - ICMapEntry entry; - ICGetMapEntry( (ICInstance) m_manager->m_hIC, - (Handle) m_manager->m_hDatabase, m_lIndex, &entry ); - - *mimeType = wxMacMakeStringFromPascal(entry.MIMEType); - - return true; -} - -bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const -{ - wxString s; - - if (GetMimeType(&s)) - { - mimeTypes.Clear(); - mimeTypes.Add(s); - - return true; - } - - return false; -} - -bool wxFileTypeImpl::GetIcon(wxIconLocation *WXUNUSED(icon)) const -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - // no such file type or no value or incorrect icon entry - return false; -} - -size_t wxFileTypeImpl::GetAllCommands(wxArrayString * verbs, - wxArrayString * commands, - const wxFileType::MessageParameters& params) const -{ - wxASSERT_MSG( m_manager != NULL , wxT("Bad wxFileType") ); - - wxString sCommand; - size_t ulCount = 0; - - if (GetOpenCommand(&sCommand, params)) - { - verbs->Add(wxString(wxT("open"))); - commands->Add(sCommand); - ++ulCount; - } - - return ulCount; -} - -void wxMimeTypesManagerImpl::Initialize(int WXUNUSED(mailcapStyles), const wxString& WXUNUSED(extraDir)) -{ - wxASSERT_MSG(m_hIC == NULL, wxT("Already initialized wxMimeTypesManager!")); - - // some apps (non-wx) use the 'plst' resource instead -#if 0 - CFBundleRef cfbMain = CFBundleGetMainBundle(); - wxCFDictionary cfdInfo( CFBundleGetInfoDictionary(cfbMain), wxCF_RETAIN ); - wxString sLog; - cfdInfo.PrintOut(sLog); - wxLogDebug(sLog); -#endif - - // start Internet Config - log if there's an error - // the second param is the signature of the application, also known - // as resource ID 0. However, as per some recent discussions, we may not - // have a signature for this app, so a generic 'APPL' which is the executable - // type will work for now. - OSStatus status = ICStart( (ICInstance*)&m_hIC, 'APPL' ); - - if (status != noErr) - { - wxLogDebug(wxT("Could not initialize wxMimeTypesManager!")); - wxFAIL; - m_hIC = NULL; - - return; - } - - ICAttr attr; - m_hDatabase = (void**) NewHandle(0); - status = ICFindPrefHandle( (ICInstance) m_hIC, kICMapping, &attr, (Handle) m_hDatabase ); - - //the database file can be corrupt (on OSX its - //~/Library/Preferences/com.apple.internetconfig.plist) - //- bail if it is - if (status != noErr) - { - ClearData(); - wxLogDebug(wxT("Corrupt MIME database!")); - return; - } - - //obtain the number of entries in the map - status = ICCountMapEntries( (ICInstance) m_hIC, (Handle) m_hDatabase, &m_lCount ); - wxASSERT( status == noErr ); - -#if 0 - //debug stuff - ICMapEntry entry; - long pos; - - for (long i = 1; i <= m_lCount; ++i) - { - OSStatus status = ICGetIndMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, i, &pos, &entry ); - - if (status == noErr) - { - wxString sCreator = wxMacMakeStringFromPascal(entry.creatorAppName); - wxString sCurrentExtension = wxMacMakeStringFromPascal(entry.extension); - wxString sMIMEType = wxMacMakeStringFromPascal(entry.MIMEType); - - wxFileTypeImpl impl; - impl.Init(this, pos); - - if (sMIMEType == wxT("text/html") && sCurrentExtension == wxT(".html")) - { - wxString cmd; - - impl.GetOpenCommand( &cmd, wxFileType::MessageParameters (wxT("http://www.google.com"))); - wxPrintf(wxT("APP: [%s]\n"), cmd.c_str()); - } - } - } -#endif -} - -void wxMimeTypesManagerImpl::ClearData() -{ - if (m_hIC != NULL) - { - DisposeHandle( (Handle)m_hDatabase ); - - // this can return an error, but we don't really care that much about it - ICStop( (ICInstance)m_hIC ); - m_hIC = NULL; - } -} - -// -// Q) Iterating through the map - why does it use if (err == noErr) instead of just asserting? -// A) Some intermediate indexes are bad while subsequent ones may be good. Its weird, I know. -// - -// extension -> file type -wxFileType* wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& e) -{ - wxASSERT_MSG( m_hIC != NULL, wxT("wxMimeTypesManager not Initialized!") ); - - //low level functions - iterate through the database - ICMapEntry entry; - long pos; - - for (long i = 1; i <= m_lCount; ++i) - { - OSStatus status = ICGetIndMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, i, &pos, &entry ); - - if (status == noErr) - { - wxString sCurrentExtension = wxMacMakeStringFromPascal(entry.extension); - if ( sCurrentExtension.Right(sCurrentExtension.length() - 1) == e ) // entry has period in it - { - wxFileType* pFileType = new wxFileType(); - pFileType->m_impl->Init((wxMimeTypesManagerImpl*)this, pos); - - return pFileType; - } - } - } - - return NULL; -} - -// MIME type -> extension -> file type -wxFileType* wxMimeTypesManagerImpl::GetFileTypeFromMimeType(const wxString& mimeType) -{ - wxASSERT_MSG( m_hIC != NULL, wxT("wxMimeTypesManager not Initialized!") ); - - ICMapEntry entry; - long pos; - - // low level functions - iterate through the database - for (long i = 1; i <= m_lCount; ++i) - { - OSStatus status = ICGetIndMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, i, &pos, &entry ); - wxASSERT_MSG( status == noErr, wxString::Format(wxT("Error: %d"), (int)status) ); - - if (status == noErr) - { - if ( wxMacMakeStringFromPascal(entry.MIMEType) == mimeType) - { - wxFileType* pFileType = new wxFileType(); - pFileType->m_impl->Init((wxMimeTypesManagerImpl*)this, pos); - - return pFileType; - } - } - } - - return NULL; -} - -size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes) -{ - wxASSERT_MSG( m_hIC != NULL, wxT("wxMimeTypesManager not Initialized!") ); - - ICMapEntry entry; - long pos, lStartCount; - - // low level functions - iterate through the database - lStartCount = (long) mimetypes.GetCount(); - for (long i = 1; i <= m_lCount; ++i) - { - OSStatus status = ICGetIndMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, i, &pos, &entry ); - if ( status == noErr ) - mimetypes.Add( wxMacMakeStringFromPascal(entry.MIMEType) ); - } - - return mimetypes.GetCount() - lStartCount; -} - -pascal OSStatus MoreProcGetProcessTypeSignature( - const ProcessSerialNumberPtr pPSN, - OSType *pProcessType, - OSType *pCreator) -{ - OSStatus anErr = noErr; - ProcessInfoRec infoRec; - ProcessSerialNumber localPSN; - - infoRec.processInfoLength = sizeof(ProcessInfoRec); - infoRec.processName = NULL; -#ifndef __LP64__ - infoRec.processAppSpec = NULL; -#endif - - if ( pPSN == NULL ) - { - localPSN.highLongOfPSN = 0; - localPSN.lowLongOfPSN = kCurrentProcess; - } - else - { - localPSN = *pPSN; - } - - anErr = GetProcessInformation(&localPSN, &infoRec); - if (anErr == noErr) - { - *pProcessType = infoRec.processType; - *pCreator = infoRec.processSignature; - } - - return anErr; -} - -// -// -// TODO: clean this up, its messy -// -// -// - -#include "wx/osx/core/cfstring.h" - -#define wxCF_RELEASE true -#define wxCF_RETAIN false - -// ---------------------------------------------------------------------------- -// wxCFDictionary -// ---------------------------------------------------------------------------- - -class wxCFDictionary -{ -public: - wxCFDictionary(CFTypeRef ref) - { - m_cfmdRef = (CFMutableDictionaryRef) ref; - } - - wxCFDictionary(CFIndex cfiSize = 0) - { - CFDictionaryKeyCallBacks kcbs; - CFDictionaryValueCallBacks vcbs; - BuildKeyCallbacks(&kcbs); - BuildValueCallbacks(&vcbs); - - m_cfmdRef = CFDictionaryCreateMutable( - kCFAllocatorDefault, cfiSize, &kcbs, &vcbs ); - } - - ~wxCFDictionary() - { Clear(); } - - void Clear() - { - if (m_cfmdRef) - CFRelease(m_cfmdRef); - } - - static const void* RetainProc(CFAllocatorRef, const void* v) - { return (const void*) CFRetain(v); } - - static void ReleaseProc(CFAllocatorRef, const void* v) - { CFRelease(v); } - - void MakeMutable(CFIndex cfiSize = 0) - { - CFDictionaryRef oldref = (CFDictionaryRef) m_cfmdRef; - - m_cfmdRef = CFDictionaryCreateMutableCopy( - kCFAllocatorDefault, cfiSize, oldref ); - - CFRelease( oldref ); - } - - void BuildKeyCallbacks(CFDictionaryKeyCallBacks* pCbs) - { - pCbs->version = 0; - pCbs->retain = RetainProc; - pCbs->release = ReleaseProc; - pCbs->copyDescription = NULL; - pCbs->equal = NULL; - pCbs->hash = NULL; - } - - void BuildValueCallbacks(CFDictionaryValueCallBacks* pCbs) - { - pCbs->version = 0; - pCbs->retain = RetainProc; - pCbs->release = ReleaseProc; - pCbs->copyDescription = NULL; - pCbs->equal = NULL; - } - - operator CFTypeRef () const - { return (CFTypeRef)m_cfmdRef; } - - CFDictionaryRef GetCFDictionary() const - { return (CFDictionaryRef)m_cfmdRef; } - - CFMutableDictionaryRef GetCFMutableDictionary() - { return (CFMutableDictionaryRef) m_cfmdRef; } - - CFTypeRef operator [] (CFTypeRef cftEntry) const - { - wxASSERT(IsValid()); - return (CFTypeRef) CFDictionaryGetValue((CFDictionaryRef)m_cfmdRef, cftEntry); - } - - CFIndex GetCount() const - { - wxASSERT(IsValid()); - return CFDictionaryGetCount((CFDictionaryRef)m_cfmdRef); - } - - void Add(CFTypeRef cftKey, CFTypeRef cftValue) - { - wxASSERT(IsValid()); - wxASSERT(Exists(cftKey) == false); - CFDictionaryAddValue(m_cfmdRef, cftKey, cftValue); - } - - void Remove(CFTypeRef cftKey) - { - wxASSERT(IsValid()); - wxASSERT(Exists(cftKey)); - CFDictionaryRemoveValue(m_cfmdRef, cftKey); - } - - void Set(CFTypeRef cftKey, CFTypeRef cftValue) - { - wxASSERT(IsValid()); - wxASSERT(Exists(cftKey)); - CFDictionarySetValue(m_cfmdRef, cftKey, cftValue); - } - - bool Exists(CFTypeRef cftKey) const - { - wxASSERT(IsValid()); - return CFDictionaryContainsKey((CFDictionaryRef)m_cfmdRef, cftKey); - } - - bool IsOk() const - { return m_cfmdRef != NULL; } - - bool IsValid() const - { return IsOk() && CFGetTypeID((CFTypeRef)m_cfmdRef) == CFDictionaryGetTypeID(); } - - void PrintOut(wxString& sMessage) - { - PrintOutDictionary(sMessage, m_cfmdRef); - } - - static void PrintOutDictionary(wxString& sMessage, CFDictionaryRef cfdRef) - { - CFIndex cfiCount = CFDictionaryGetCount(cfdRef); - CFTypeRef* pKeys = new CFTypeRef[cfiCount]; - CFTypeRef* pValues = new CFTypeRef[cfiCount]; - - CFDictionaryGetKeysAndValues(cfdRef, pKeys, pValues); - - for (CFIndex i = 0; i < cfiCount; ++i) - { - wxString sKey = wxCFStringRef(CFCopyTypeIDDescription(CFGetTypeID(pKeys[i]))).AsString(); - wxString sValue = wxCFStringRef(CFCopyTypeIDDescription(CFGetTypeID(pValues[i]))).AsString(); - - sMessage << - wxString::Format(wxT("[{#%d} Key : %s]"), (int) i, - sKey.c_str()); - - PrintOutType(sMessage, sKey, pKeys[i]); - - sMessage << - wxString::Format(wxT("\n\t[Value : %s]"), - sValue.c_str()); - - PrintOutType(sMessage, sValue, pValues[i]); - - sMessage << wxT("\n"); - } - - delete [] pKeys; - delete [] pValues; - } - - static void PrintOutArray(wxString& sMessage, CFArrayRef cfaRef) - { - for (CFIndex i = 0; i < CFArrayGetCount(cfaRef); ++i) - { - wxString sValue = wxCFStringRef(CFCopyTypeIDDescription(CFGetTypeID( - CFArrayGetValueAtIndex(cfaRef, i) - ))).AsString(); - - sMessage << - wxString::Format(wxT("\t\t[{#%d} ArrayValue : %s]\n"), (int) i, - sValue.c_str()); - - PrintOutType(sMessage, sValue, CFArrayGetValueAtIndex(cfaRef, i)); - } - } - - static void PrintOutType(wxString& sMessage, const wxString& sValue, CFTypeRef cfRef) - { - sMessage << wxT(" {"); - - if (sValue == wxT("CFString")) - { - sMessage << wxCFStringRef(wxCFRetain((CFStringRef)cfRef)).AsString(); - } - else if (sValue == wxT("CFNumber")) - { - int nOut; - CFNumberGetValue((CFNumberRef)cfRef, kCFNumberIntType, &nOut); - sMessage << nOut; - } - else if (sValue == wxT("CFDictionary")) - { - PrintOutDictionary(sMessage, (CFDictionaryRef)cfRef); - } - else if (sValue == wxT("CFArray")) - { - PrintOutArray(sMessage, (CFArrayRef)cfRef); - } - else if (sValue == wxT("CFBoolean")) - { - sMessage << (cfRef == kCFBooleanTrue ? wxT("true") : wxT("false")); - } - else if (sValue == wxT("CFURL")) - { - sMessage << wxCFStringRef(CFURLCopyPath((CFURLRef) cfRef)).AsString(); - } - else - { - sMessage << wxT("*****UNKNOWN TYPE******"); - } - - sMessage << wxT("} "); - } - -#if wxUSE_MIMETYPE - void MakeValidXML(); -#endif - - CFTypeRef WriteAsXML() - { - return CFPropertyListCreateXMLData(kCFAllocatorDefault, m_cfmdRef); - } - - bool ReadAsXML(CFTypeRef cfData, wxString* pErrorMsg = NULL) - { - Clear(); - CFStringRef cfsError=NULL; - m_cfmdRef = (CFMutableDictionaryRef) CFPropertyListCreateFromXMLData( - kCFAllocatorDefault, - (CFDataRef)cfData, - kCFPropertyListMutableContainersAndLeaves, - &cfsError ); - if (cfsError) - { - if (pErrorMsg) - *pErrorMsg = wxCFStringRef(cfsError).AsString(); - else - CFRelease(cfsError); - } - - return m_cfmdRef != NULL; - } - -private: - CFMutableDictionaryRef m_cfmdRef; -}; - -// ---------------------------------------------------------------------------- -// wxCFArray -// ---------------------------------------------------------------------------- - -class wxCFArray -{ -public: - wxCFArray(CFTypeRef ref) - { - m_cfmaRef = (CFMutableArrayRef)ref; - } - - wxCFArray(CFIndex cfiSize = 0) : m_cfmaRef(NULL) - { Create(cfiSize); } - - ~wxCFArray() - { Clear(); } - - void MakeMutable(CFIndex cfiSize = 0) - { - wxASSERT(IsValid()); - - CFMutableArrayRef oldref = m_cfmaRef; - m_cfmaRef = CFArrayCreateMutableCopy( - kCFAllocatorDefault, - cfiSize, - (CFArrayRef)oldref); - CFRelease(oldref); - } - - void BuildCallbacks(CFArrayCallBacks* pCbs) - { - pCbs->version = 0; - pCbs->retain = RetainProc; - pCbs->release = ReleaseProc; - pCbs->copyDescription = NULL; - pCbs->equal = NULL; - } - - void Create(CFIndex cfiSize = 0) - { - Clear(); - CFArrayCallBacks cb; - BuildCallbacks(&cb); - - m_cfmaRef = CFArrayCreateMutable(kCFAllocatorDefault, cfiSize, &cb); - } - - void Clear() - { if (m_cfmaRef) CFRelease(m_cfmaRef); } - - static const void* RetainProc(CFAllocatorRef, const void* v) - { return (const void*) CFRetain(v); } - - static void ReleaseProc(CFAllocatorRef, const void* v) - { CFRelease(v); } - - operator CFTypeRef () const - { return (CFTypeRef)m_cfmaRef; } - - CFArrayRef GetCFArray() const - { return (CFArrayRef)m_cfmaRef; } - - CFMutableArrayRef GetCFMutableArray() - { return (CFMutableArrayRef) m_cfmaRef; } - - CFTypeRef operator [] (CFIndex cfiIndex) const - { - wxASSERT(IsValid()); - return (CFTypeRef) CFArrayGetValueAtIndex((CFArrayRef)m_cfmaRef, cfiIndex); - } - - CFIndex GetCount() - { - wxASSERT(IsValid()); - return CFArrayGetCount((CFArrayRef)m_cfmaRef); - } - - void Add(CFTypeRef cftValue) - { - wxASSERT(IsValid()); - CFArrayAppendValue(m_cfmaRef, cftValue); - } - - void Remove(CFIndex cfiIndex) - { - wxASSERT(IsValid()); - wxASSERT(cfiIndex < GetCount()); - CFArrayRemoveValueAtIndex(m_cfmaRef, cfiIndex); - } - - void Set(CFIndex cfiIndex, CFTypeRef cftValue) - { - wxASSERT(IsValid()); - wxASSERT(cfiIndex < GetCount()); - CFArraySetValueAtIndex(m_cfmaRef, cfiIndex, cftValue); - } - - bool IsOk() const - { return m_cfmaRef != NULL; } - - bool IsValid() const - { - return IsOk() && CFGetTypeID((CFTypeRef)m_cfmaRef) == CFArrayGetTypeID(); - } - -#if wxUSE_MIMETYPE - void MakeValidXML(); -#endif - -private: - CFMutableArrayRef m_cfmaRef; -}; - -// ---------------------------------------------------------------------------- -// wxCFNumber -// ---------------------------------------------------------------------------- - -class wxCFNumber -{ -public: - wxCFNumber(int nValue) - { - m_cfnRef = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &nValue); - } - - wxCFNumber(CFTypeRef ref) : m_cfnRef((CFNumberRef)ref) - { - } - - virtual ~wxCFNumber() - { - if (m_cfnRef) - CFRelease(m_cfnRef); - } - - operator CFTypeRef() const - { return (CFTypeRef) m_cfnRef; } - - int GetValue() - { - int nOut; - CFNumberGetValue( m_cfnRef, kCFNumberIntType, &nOut ); - - return nOut; - } - - bool IsOk() - { return m_cfnRef != NULL; } - -private: - CFNumberRef m_cfnRef; -}; - -// ---------------------------------------------------------------------------- -// wxCFURL -// ---------------------------------------------------------------------------- - -class wxCFURL -{ -public: - wxCFURL(CFTypeRef ref = NULL) : m_cfurlRef((CFURLRef)ref) - { - } - - wxCFURL(const wxCFStringRef& URLString, CFTypeRef BaseURL = NULL) - { - Create(URLString, BaseURL); - } - - void Create(const wxCFStringRef& URLString, CFTypeRef BaseURL = NULL) - { - m_cfurlRef = CFURLCreateWithString( - kCFAllocatorDefault, - (CFStringRef)(CFTypeRef)URLString, - (CFURLRef) BaseURL); - } - - virtual ~wxCFURL() - { - if (m_cfurlRef) - CFRelease(m_cfurlRef); - } - - wxString BuildWXString() - { - return wxCFStringRef(CFURLCopyPath(m_cfurlRef)).AsString(); - } - - operator CFTypeRef() const - { return (CFTypeRef)m_cfurlRef; } - - bool IsOk() - { return m_cfurlRef != NULL; } - -private: - CFURLRef m_cfurlRef; -}; - -// ---------------------------------------------------------------------------- -// wxCFData -// ---------------------------------------------------------------------------- - -#define wxCFDATA_RELEASEBUFFER 1 - -class wxCFData -{ -public: - wxCFData(CFTypeRef ref) : m_cfdaRef((CFDataRef)ref) - { - } - - wxCFData(const UInt8* pBytes, CFIndex len, bool bKeep = wxCFDATA_RELEASEBUFFER) - { - if (bKeep == wxCFDATA_RELEASEBUFFER) - { - m_cfdaRef = CFDataCreateWithBytesNoCopy - (kCFAllocatorDefault, pBytes, len, kCFAllocatorDefault); - } - else - { - m_cfdaRef = CFDataCreate(kCFAllocatorDefault, pBytes, len); - } - } - - virtual ~wxCFData() - { - if (m_cfdaRef) - CFRelease(m_cfdaRef); - } - - const UInt8* GetValue() - { return CFDataGetBytePtr(m_cfdaRef); } - - CFIndex GetCount() - { return CFDataGetLength(m_cfdaRef); } - - operator CFTypeRef() const - { return (CFTypeRef)m_cfdaRef; } - - bool IsOk() - { return m_cfdaRef != NULL; } - -private: - CFDataRef m_cfdaRef; -}; - -void wxCFDictionary::MakeValidXML() -{ - CFIndex cfiCount = GetCount(); - CFTypeRef* pKeys = new CFTypeRef[cfiCount]; - CFTypeRef* pValues = new CFTypeRef[cfiCount]; - - CFDictionaryGetKeysAndValues(m_cfmdRef, pKeys, pValues); - - // for plist xml format, all dictionary keys must be cfstrings and - // no values in the dictionary or subkeys/values can be NULL; - // additionally, CFURLs are not allowed - for (CFIndex i = 0; i < cfiCount; ++i) - { - // must be an array, dictionary, string, bool, or int and cannot be null - // and dictionaries can only contain cfstring keys - CFTypeRef cfRef = pValues[i]; - if (!pKeys[i] || - CFGetTypeID(pKeys[i]) != CFStringGetTypeID() || - !cfRef) - { - Remove(pKeys[i]); - --i; - --cfiCount; - delete [] pKeys; - delete [] pValues; - pKeys = new CFTypeRef[cfiCount]; - pValues = new CFTypeRef[cfiCount]; - CFDictionaryGetKeysAndValues(m_cfmdRef, pKeys, pValues); - } - else if (CFGetTypeID(cfRef) == CFArrayGetTypeID()) - { - CFRetain(cfRef); - wxCFArray cfaCurrent(cfRef); - cfaCurrent.MakeMutable(); - cfaCurrent.MakeValidXML(); - Set(pKeys[i], cfaCurrent); - } - else if (CFGetTypeID(cfRef) == CFDictionaryGetTypeID()) - { - CFRetain(cfRef); - wxCFDictionary cfdCurrent(cfRef); - cfdCurrent.MakeMutable(); - cfdCurrent.MakeValidXML(); - Set(pKeys[i], cfdCurrent); - } - else if ( CFGetTypeID(cfRef) != CFStringGetTypeID() && - CFGetTypeID(cfRef) != CFNumberGetTypeID() && - CFGetTypeID(cfRef) != CFBooleanGetTypeID() ) - { - Remove(pKeys[i]); - --i; - --cfiCount; - delete [] pKeys; - delete [] pValues; - pKeys = new CFTypeRef[cfiCount]; - pValues = new CFTypeRef[cfiCount]; - CFDictionaryGetKeysAndValues(m_cfmdRef, pKeys, pValues); - } - } - - delete [] pValues; - delete [] pKeys; -} - -void wxCFArray::MakeValidXML() -{ - for (CFIndex i = 0; i < GetCount(); ++i) - { - //must be an array, dictionary, string, bool, or int and cannot be null - //and dictionaries can only contain cfstring keys - CFTypeRef cfRef = (*this)[i]; - if (!cfRef) - { - Remove(i); - --i; - } - else if (CFGetTypeID(cfRef) == CFArrayGetTypeID()) - { - CFRetain(cfRef); - wxCFArray cfaCurrent(cfRef); - cfaCurrent.MakeMutable(); - cfaCurrent.MakeValidXML(); - Set(i, cfaCurrent); - } - else if (CFGetTypeID(cfRef) == CFDictionaryGetTypeID()) - { - CFRetain(cfRef); - wxCFDictionary cfdCurrent(cfRef); - cfdCurrent.MakeMutable(); - cfdCurrent.MakeValidXML(); - Set(i, cfdCurrent); - } - else if ( CFGetTypeID(cfRef) != CFStringGetTypeID() && - CFGetTypeID(cfRef) != CFNumberGetTypeID() && - CFGetTypeID(cfRef) != CFBooleanGetTypeID() ) - { - Remove(i); - --i; - } - } -} - -// -// -// -// END TODO -// -// -// - -wxFileType* wxMimeTypesManagerImpl::Associate(const wxFileTypeInfo& ftInfo) -{ - bool bInfoSuccess = false; - - const wxArrayString& asExtensions = ftInfo.GetExtensions(); - size_t dwFoundIndex = 0; - if (!asExtensions.GetCount()) - { - wxLogDebug(wxT("Must have extension to associate with")); - } - - // Find and write to Info.plist in main bundle (note that some other - // apps have theirs named differently, i.e. IE's is named Info-macos.plist - // some apps (non-wx) use the 'plst' resource instead - CFBundleRef cfbMain = CFBundleGetMainBundle(); - if (cfbMain) - { - UInt32 dwBundleType, dwBundleCreator; - CFBundleGetPackageInfo(cfbMain, &dwBundleType, &dwBundleCreator); - - // if launching terminal non-app, version will be 'BNDL' (generic bundle, maybe in other cases too), - // which will give us the incorrect info.plist path - // otherwise it will be 'APPL', or in the case of a framework, 'FMWK' - if (dwBundleType == 'APPL') - { - wxCFURL cfurlBundleLoc((CFTypeRef)CFBundleCopyBundleURL(cfbMain)); -// wxCFURL cfurlBundleLoc((CFTypeRef)CFBundleCopyExecutableURL(cfbMain)); - wxString sInfoPath; -// sInfoPath << wxT("file://"); - sInfoPath << cfurlBundleLoc.BuildWXString(); - sInfoPath << wxT("Contents/Info.plist"); - -// wxCFDictionary cfdInfo( CFBundleGetInfoDictionary(cfbMain), wxCF_RETAIN ); - wxCFDictionary cfdInfo; - bool bInfoOpenSuccess = false; - wxFile indictfile; - if (indictfile.Open(sInfoPath, wxFile::read)) - { - CFIndex cfiBufLen = (CFIndex) indictfile.Length(); - const UInt8* pBuffer = new UInt8[cfiBufLen]; - indictfile.Read((void*)pBuffer, cfiBufLen); - wxCFData cfdaInDict(pBuffer, cfiBufLen); - wxString sError; - bInfoOpenSuccess = cfdInfo.ReadAsXML(cfdaInDict, &sError); - if (!bInfoOpenSuccess) - { - wxLogDebug(sError); - } - indictfile.Close(); - } - - if (bInfoOpenSuccess) - { - cfdInfo.MakeMutable( cfdInfo.GetCount() + 1 ); - - wxCFArray cfaDocTypes( wxCFRetain( cfdInfo[ wxCFStringRef(wxT("CFBundleDocumentTypes")) ] ) ); - - bool bAddDocTypesArrayToDictionary = !cfaDocTypes.IsOk(); - if (bAddDocTypesArrayToDictionary) - cfaDocTypes.Create(); - else - cfaDocTypes.MakeMutable( cfaDocTypes.GetCount() + 1 ); - - bool bEntryFound = false; - - // search for duplicates - CFIndex i; - for (i = 0; i < cfaDocTypes.GetCount(); ++i) - { - wxCFDictionary cfdDocTypeEntry( wxCFRetain( cfaDocTypes[i] ) ); - - // A lot of apps don't support MIME types for some reason - // so we go by extensions only - wxCFArray cfaExtensions( wxCFRetain( cfdDocTypeEntry[ wxCFStringRef(wxT("CFBundleTypeExtensions")) ] ) ); - - if (!cfaExtensions.IsOk()) - continue; - - for (CFIndex iExt = 0; iExt < cfaExtensions.GetCount(); ++iExt) - { - for (size_t iWXExt = 0; iWXExt < asExtensions.GetCount(); ++iWXExt) - { - if (asExtensions[iWXExt] == - wxCFStringRef( wxCFRetain( (CFStringRef) cfaExtensions[iExt] ) ).AsString()) - { - bEntryFound = true; - dwFoundIndex = iWXExt; - - break; - } - } //end of wxstring array - - if (bEntryFound) - break; - } //end for cf array - - if (bEntryFound) - break; - } //end for doctypes - - wxCFDictionary cfdNewEntry; - - if (!ftInfo.GetDescription().empty()) - { - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeName")), - wxCFStringRef(ftInfo.GetDescription()) ); - } - - if (!ftInfo.GetIconFile().empty()) - { - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeIconFile")), - wxCFStringRef(ftInfo.GetIconFile()) ); - } - - wxCFArray cfaOSTypes; - wxCFArray cfaExtensions; - wxCFArray cfaMimeTypes; - - //OSTypes is a cfarray of four-char-codes - '****' for unrestricted - cfaOSTypes.Add( wxCFStringRef(wxT("****")) ); - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeOSTypes")), cfaOSTypes ); - - //'*' for unrestricted - if (ftInfo.GetExtensionsCount() != 0) - { - for (size_t iExtension = 0; iExtension < ftInfo.GetExtensionsCount(); ++iExtension) - { - cfaExtensions.Add( wxCFStringRef( asExtensions[iExtension] ) ); - } - - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeExtensions")), cfaExtensions ); - } - - if (!ftInfo.GetMimeType().empty()) - { - cfaMimeTypes.Add( wxCFStringRef(ftInfo.GetMimeType()) ); - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeMIMETypes")), cfaMimeTypes ); - } - - // Editor - can perform all actions - // Viewer - all actions except manipulation/saving - // None - can perform no actions - cfdNewEntry.Add( wxCFStringRef(wxT("CFBundleTypeRole")), wxCFStringRef(wxT("Editor")) ); - - // Is application bundled? - cfdNewEntry.Add( wxCFStringRef(wxT("LSTypeIsPackage")), kCFBooleanTrue ); - - if (bEntryFound) - cfaDocTypes.Set(i, cfdNewEntry); - else - cfaDocTypes.Add(cfdNewEntry); - - // set the doc types array in the muted dictionary - if (bAddDocTypesArrayToDictionary) - cfdInfo.Add(wxCFStringRef(wxT("CFBundleDocumentTypes")), cfaDocTypes); - else - cfdInfo.Set(wxCFStringRef(wxT("CFBundleDocumentTypes")), cfaDocTypes); - - cfdInfo.MakeValidXML(); - - wxFile outdictfile; - if (outdictfile.Open(sInfoPath, wxFile::write)) - { - wxCFData cfdaInfo(cfdInfo.WriteAsXML()); - if (cfdaInfo.IsOk()) - { - if (outdictfile.Write(cfdaInfo.GetValue(), cfdaInfo.GetCount()) != - (wxFileOffset)cfdaInfo.GetCount()) - { - wxLogDebug(wxT("error in writing to file")); - } - else - { - bInfoSuccess = true; - -//#if defined(__DARWIN__) -// //force launch services to update its database for the finder -// OSStatus status = LSRegisterURL((CFURLRef)(CFTypeRef)cfurlBundleLoc, true); -// if (status != noErr) -// { -// wxLogDebug(wxT("LSRegisterURL Failed.")); -// } -//#endif - } - outdictfile.Close(); - } - else - { - outdictfile.Close(); - wxLogDebug(wxT("Could not read in new dictionary")); - } - } - else - { - wxLogDebug(wxString(wxT("Could not open [")) + - sInfoPath + wxT("] for writing.")); - } - } - else - { - wxLogDebug(wxT("No info dictionary in main bundle")); - } - } - else - { - wxLogDebug(wxT("Can only call associate from bundled app within XXX.app")); - } - } - else - { - wxLogDebug(wxT("No main bundle")); - } - - if (!bInfoSuccess) - return NULL; - - // on mac you have to embed it into the mac's file reference resource ('FREF' I believe) - // or, alternately, you could just add an entry to m_hDatabase, but you'd need to get - // the app's signature somehow... - - OSType processType, creator; - OSStatus status = MoreProcGetProcessTypeSignature(NULL, &processType, &creator); - - if (status == noErr) - { - Str255 psCreatorName; -#ifndef __LP64__ - FSSpec dummySpec; - status = FindApplication(creator, false, psCreatorName, &dummySpec); -#else - FSRef fsref; - status = LSFindApplicationForInfo( creator, NULL, NULL, &fsref ,NULL); - HFSUniStr255 name; - status = FSGetCatalogInfo(&fsref, kFSCatInfoNone, NULL, &name, NULL, NULL); - CFStringRef str = FSCreateStringFromHFSUniStr( 0 , &name ); - CFStringGetPascalString(str, psCreatorName, 256, CFStringGetSystemEncoding()); - CFRelease( str ); -#endif - - if (status == noErr) - { - //get the file type if it exists - - //if it really does then modify the database then save it, - //otherwise we need to create a whole new entry - wxFileType* pFileType = GetFileTypeFromExtension(asExtensions[dwFoundIndex]); - if (pFileType) - { - ICMapEntry entry; - ICGetMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, - pFileType->m_impl->m_lIndex, &entry ); - - memcpy(entry.creatorAppName, psCreatorName, sizeof(Str255)); - entry.fileCreator = creator; - - status = ICSetMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, - pFileType->m_impl->m_lIndex, &entry ); - - //success - if (status == noErr) - { - return pFileType; - - //kICAttrNoChange means we don't care about attributes such as - //locking in the database -// status = ICSetPrefHandle((ICInstance) m_hIC, kICMapping, -// kICAttrNoChange, (Handle) m_hDatabase); -// if (status == noErr) -// return pFileType; -// else -// { -// wxLogDebug(wxString::Format(wxT("%i - %s"), (int)status, wxT("ICSetPrefHandle failed."))); -// } - } - else - { - wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("ICSetMapEntry failed."))); - } - - // failure - cleanup - delete pFileType; - } - else - { - // TODO: Maybe force all 3 of these to be non-empty? - Str255 psExtension, psMimeType, psDescription; - - wxMacStringToPascal(wxString(wxT(".")) + ftInfo.GetExtensions()[0], psExtension); - wxMacStringToPascal(ftInfo.GetMimeType(), psMimeType); - wxMacStringToPascal(ftInfo.GetDescription(), psDescription); - - Str255 psPostCreatorName; - wxMacStringToPascal(wxEmptyString, psPostCreatorName); - - //add the entry to the database - ICMapEntry entry; - entry.totalLength = sizeof(ICMapEntry); - entry.fixedLength = kICMapFixedLength; - entry.version = 0; - entry.fileType = 0; //TODO: File type? - entry.fileCreator = creator; - entry.postCreator = 0; - entry.flags = kICMapDataForkBit; //TODO: Maybe resource is valid by default too? - PLstrcpy( entry.extension , psExtension ) ; - memcpy(entry.creatorAppName, psCreatorName, sizeof(Str255)); - memcpy(entry.postAppName, psPostCreatorName, sizeof(Str255)); - memcpy(entry.MIMEType, psMimeType, sizeof(Str255)); - memcpy(entry.entryName, psDescription, sizeof(Str255)); - - status = ICAddMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, &entry); - if (status == noErr) - { - return GetFileTypeFromExtension(ftInfo.GetMimeType()); - -// kICAttrNoChange means we don't care about attributes such as -// locking in the database -// status = ICSetPrefHandle((ICInstance) m_hIC, kICMapping, -// kICAttrNoChange, (Handle) m_hDatabase); - - // return the entry in the database if successful -// if (status == noErr) -// return GetFileTypeFromExtension(ftInfo.GetMimeType()); -// else -// { -// wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("ICSetPrefHandle failed."))); - // } - } - else - { - wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("ICAppMapEntry failed."))); - } - } - } // end if FindApplcation was successful - else - { - wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("FindApplication failed."))); - } - } // end if it could obtain app's signature - else - { - wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("GetProcessSignature failed."))); - } - - return NULL; -} - -bool -wxMimeTypesManagerImpl::Unassociate(wxFileType *pFileType) -{ - wxASSERT(pFileType); - bool bInfoSuccess = false; - - wxArrayString asExtensions; - pFileType->GetExtensions(asExtensions); - - if (!asExtensions.GetCount()) - { - wxLogDebug(wxT("Must have extension to disassociate")); - return false; - } - - // Find and write to Info.plist in main bundle (note that some other - // apps have theirs named differently, i.e. IE's is named Info-macos.plist - // some apps (non-wx) use the 'plst' resource instead - CFBundleRef cfbMain = CFBundleGetMainBundle(); - if (cfbMain) - { - UInt32 dwBundleType, dwBundleCreator; - CFBundleGetPackageInfo(cfbMain, &dwBundleType, &dwBundleCreator); - - // if launching terminal non-app, version will be 'BNDL' (generic bundle, maybe in other cases too), - // which will give us the incorrect info.plist path - // otherwise it will be 'APPL', or in the case of a framework, 'FMWK' - if (dwBundleType == 'APPL') - { - - wxCFURL cfurlBundleLoc((CFTypeRef)CFBundleCopyBundleURL(cfbMain)); -// wxCFURL cfurlBundleLoc((CFTypeRef)CFBundleCopyExecutableURL(cfbMain)); - wxString sInfoPath; -// sInfoPath << wxT("file://"); - sInfoPath << cfurlBundleLoc.BuildWXString(); - sInfoPath << wxT("Contents/Info.plist"); - -// wxCFDictionary cfdInfo( (CFTypeRef) CFBundleGetInfoDictionary(cfbMain), wxCF_RETAIN ); - wxCFDictionary cfdInfo; - bool bInfoOpenSuccess = false; - wxFile indictfile; - if (indictfile.Open(sInfoPath, wxFile::read)) - { - CFIndex cfiBufLen = (CFIndex) indictfile.Length(); - const UInt8* pBuffer = new UInt8[cfiBufLen]; - indictfile.Read((void*)pBuffer, cfiBufLen); - wxCFData cfdaInDict(pBuffer, cfiBufLen); - wxString sError; - bInfoOpenSuccess = cfdInfo.ReadAsXML(cfdaInDict, &sError); - if (!bInfoOpenSuccess) - { - wxLogDebug(sError); - } - indictfile.Close(); - } - - if (bInfoOpenSuccess) - { - cfdInfo.MakeMutable( cfdInfo.GetCount() + 1 ); - - wxCFArray cfaDocTypes( wxCFRetain( cfdInfo[ wxCFStringRef(wxT("CFBundleDocumentTypes")) ] ) ); - - if (cfaDocTypes.IsOk()) - { - bool bEntryFound = false; - - //search for duplicate - CFIndex i; - for (i = 0; i < cfaDocTypes.GetCount(); ++i) - { - wxCFDictionary cfdDocTypeEntry( wxCFRetain( cfaDocTypes[i] ) ); - - //A lot of apps dont do to mime types for some reason - //so we go by extensions only - wxCFArray cfaExtensions( wxCFRetain( cfdDocTypeEntry[ wxCFStringRef(wxT("CFBundleTypeExtensions")) ]) ); - - if (!cfaExtensions.IsOk()) - continue; - - for (CFIndex iExt = 0; iExt < cfaExtensions.GetCount(); ++iExt) - { - for (size_t iWXExt = 0; iWXExt < asExtensions.GetCount(); ++iWXExt) - { - if (asExtensions[iWXExt] == - wxCFStringRef( wxCFRetain( (CFStringRef) cfaExtensions[iExt] ) ).AsString()) - { - bEntryFound = true; - cfaDocTypes.Remove(i); - cfdInfo.Set( wxCFStringRef(wxT("CFBundleDocumentTypes")) , cfaDocTypes ); - break; - } - } //end of wxstring array - - if (bEntryFound) - break; - } //end for cf array - - if (bEntryFound) - break; - }//end for doctypes - - if (bEntryFound) - { - cfdInfo.MakeValidXML(); - - wxFile outdictfile; - if (outdictfile.Open(sInfoPath, wxFile::write)) - { - wxCFData cfdaInfo(cfdInfo.WriteAsXML()); - if (cfdaInfo.IsOk()) - { - if (outdictfile.Write(cfdaInfo.GetValue(), cfdaInfo.GetCount()) != - (wxFileOffset)cfdaInfo.GetCount()) - { - wxLogDebug(wxT("error in writing to file")); - } - else - { - bInfoSuccess = true; - -//#if defined(__DARWIN__) -// //force launch services to update its database for the finder -// OSStatus status = LSRegisterURL((CFURLRef)(CFTypeRef)cfurlBundleLoc, true); -// if (status != noErr) -// { -// wxLogDebug(wxT("LSRegisterURL Failed.")); -// } -//#endif - } - outdictfile.Close(); - } - else - { - outdictfile.Close(); - wxLogDebug(wxT("Could not read in new dictionary")); - } - } - else - { - wxLogDebug( - wxString(wxT("Could not open [")) + - sInfoPath + wxT("] for writing.")); - } - } - else - { - wxLogDebug(wxT("Entry not found to remove")); - - wxString sPrintOut; - wxCFDictionary::PrintOutArray(sPrintOut, (CFArrayRef)(CFTypeRef)cfaDocTypes); - wxLogDebug(sPrintOut); - - for (size_t i = 0; i < asExtensions.GetCount(); ++i) - { - wxLogDebug(asExtensions[i]); - } - } - } - else - { - wxLogDebug(wxT("No doc types array found")); - wxString sPrintOut; cfdInfo.PrintOut(sPrintOut); wxLogDebug(sPrintOut); - } - } - else - { - wxLogDebug(wxT("No info dictionary in main bundle")); - } - } - else - { - wxLogDebug(wxT("Can only call associate from bundled app within XXX.app")); - } - } - else - { - wxLogDebug(wxT("No main bundle")); - } - - if (!bInfoSuccess) - return false; - - // this should be as easy as removing the entry from the database - // and then saving the database - OSStatus status = ICDeleteMapEntry( (ICInstance) m_hIC, (Handle) m_hDatabase, - pFileType->m_impl->m_lIndex); - - if (status == noErr) - { - return true; - - //kICAttrNoChange means we don't care about attributes such as - //locking in the database -// status = ICSetPrefHandle((ICInstance) m_hIC, kICMapping, -// kICAttrNoChange, (Handle) m_hDatabase); - -// if (status == noErr) -// { -// return true; -// } -// else -// { -// wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("ICSetPrefHandle failed."))); -// } - } - else - { - wxLogDebug(wxString::Format(wxT("%i - %s"), __LINE__, wxT("ICDeleteMapEntry failed."))); - } - - return false; -} - -#if 0 - CFWriteStreamRef cfwsInfo = CFWriteStreamCreateWithFile( - kCFAllocatorDefault, - (CFURLRef) (CFTypeRef)cfurlInfoLoc ); - -// CFShow(cfdInfo); - if (cfwsInfo) - { - Boolean bOpened = CFWriteStreamOpen(cfwsInfo); - if (bOpened) - { - CFStringRef cfsError; - CFIndex cfiWritten = CFPropertyListWriteToStream((CFPropertyListRef)(CFTypeRef)cfdInfo, - cfwsInfo, - kCFPropertyListXMLFormat_v1_0, //100 - &cfsError); - if (cfsError && cfiWritten == 0) - { - wxLogDebug(wxCFStringRef(cfsError).BuildWXString()); - wxString sMessage; - cfdInfo.PrintOut(sMessage); - wxLogDebug(sMessage); - } - else - { - bInfoSuccess = true; -//#if defined(__DARWIN__) -// //force launch services to update its database for the finder -// OSStatus status = LSRegisterURL((CFURLRef)(CFTypeRef)cfurlBundleLoc, true); -// if (status != noErr) -// { -// wxLogDebug(wxT("LSRegisterURL Failed.")); -// } -//#endif - } - - CFWriteStreamClose(cfwsInfo); -#endif - -#endif //wxUSE_MIMETYPE diff --git a/src/osx/carbon/msgdlg.cpp b/src/osx/carbon/msgdlg.cpp deleted file mode 100644 index 4c57159db1..0000000000 --- a/src/osx/carbon/msgdlg.cpp +++ /dev/null @@ -1,275 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/msgdlg.cpp -// Purpose: wxMessageDialog -// Author: Stefan Csomor -// Modified by: -// Created: 04/01/98 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/msgdlg.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/app.h" -#endif - -#include "wx/thread.h" -#include "wx/modalhook.h" -#include "wx/osx/uma.h" - - -wxIMPLEMENT_CLASS(wxMessageDialog, wxDialog); - - -wxMessageDialog::wxMessageDialog(wxWindow *parent, - const wxString& message, - const wxString& caption, - long style, - const wxPoint& WXUNUSED(pos)) - : wxMessageDialogBase(parent, message, caption, style) -{ -} - -int wxMessageDialog::ShowModal() -{ - WX_HOOK_MODAL_DIALOG(); - - int resultbutton = wxID_CANCEL; - - const long style = GetMessageDialogStyle(); - - wxASSERT_MSG( (style & 0x3F) != wxYES, - "this style is not supported on Mac" ); - - AlertType alertType = kAlertPlainAlert; - - switch ( GetEffectiveIcon() ) - { - case wxICON_ERROR: - alertType = kAlertStopAlert; - break; - - case wxICON_WARNING: - alertType = kAlertCautionAlert; - break; - - case wxICON_QUESTION: - case wxICON_INFORMATION: - alertType = kAlertNoteAlert; - break; - } - - // (the standard alert has two slots [title, text] - // for the three wxStrings [caption, message, extended message]) - // - // if the extended text is empty we use the caption and - // the message (for backwards compatibility) - // - // if the extended text is not empty we ignore the caption - // and use the message and the extended message - - - wxString msgtitle,msgtext; - if(m_extendedMessage.IsEmpty()) - { - if ( m_caption.IsEmpty() ) - msgtitle = m_message; - else - { - msgtitle = m_caption; - msgtext = m_message; - } - } - else - { - msgtitle = m_message; - msgtext = m_extendedMessage; - } - - - if ( !wxIsMainThread() ) - { - CFStringRef defaultButtonTitle = NULL; - CFStringRef alternateButtonTitle = NULL; - CFStringRef otherButtonTitle = NULL; - - wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() ); - wxCFStringRef cfText( msgtext, GetFont().GetEncoding() ); - - wxCFStringRef cfNoString( GetNoLabel().c_str(), GetFont().GetEncoding() ); - wxCFStringRef cfYesString( GetYesLabel().c_str(), GetFont().GetEncoding() ); - wxCFStringRef cfOKString( GetOKLabel().c_str() , GetFont().GetEncoding()) ; - wxCFStringRef cfCancelString( GetCancelLabel().c_str(), GetFont().GetEncoding() ); - - int buttonId[4] = { 0, 0, 0, wxID_CANCEL /* time-out */ }; - - if (style & wxYES_NO) - { - if ( style & wxNO_DEFAULT ) - { - defaultButtonTitle = cfNoString; - alternateButtonTitle = cfYesString; - buttonId[0] = wxID_NO; - buttonId[1] = wxID_YES; - } - else - { - defaultButtonTitle = cfYesString; - alternateButtonTitle = cfNoString; - buttonId[0] = wxID_YES; - buttonId[1] = wxID_NO; - } - if (style & wxCANCEL) - { - otherButtonTitle = cfCancelString; - buttonId[2] = wxID_CANCEL; - } - } - else - { - // the MSW implementation even shows an OK button if it is not specified, we'll do the same - buttonId[0] = wxID_OK; - // using null as default title does not work on earlier systems - defaultButtonTitle = cfOKString; - if (style & wxCANCEL) - { - alternateButtonTitle = cfCancelString; - buttonId[1] = wxID_CANCEL; - } - } - - CFOptionFlags exitButton; - OSStatus err = CFUserNotificationDisplayAlert( - 0, alertType, NULL, NULL, NULL, cfTitle, cfText, - defaultButtonTitle, alternateButtonTitle, otherButtonTitle, &exitButton ); - if (err == noErr) - resultbutton = buttonId[exitButton]; - } - else - { - short result; - - AlertStdCFStringAlertParamRec param; - wxCFStringRef cfNoString( GetNoLabel().c_str(), GetFont().GetEncoding() ); - wxCFStringRef cfYesString( GetYesLabel().c_str(), GetFont().GetEncoding() ); - wxCFStringRef cfOKString( GetOKLabel().c_str(), GetFont().GetEncoding() ); - wxCFStringRef cfCancelString( GetCancelLabel().c_str(), GetFont().GetEncoding() ); - - wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() ); - wxCFStringRef cfText = msgtext.IsEmpty() ? wxCFStringRef() : wxCFStringRef( msgtext, GetFont().GetEncoding() ); - - param.movable = true; - param.flags = 0; - param.version = kStdCFStringAlertVersionOne; - - bool skipDialog = false; - - if (style & wxYES_NO) - { - if (style & wxCANCEL) - { - param.defaultText = cfYesString; - param.cancelText = cfCancelString; - param.otherText = cfNoString; - param.helpButton = false; - param.defaultButton = style & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; - param.cancelButton = kAlertStdAlertCancelButton; - } - else - { - param.defaultText = cfYesString; - param.cancelText = NULL; - param.otherText = cfNoString; - param.helpButton = false; - param.defaultButton = style & wxNO_DEFAULT ? kAlertStdAlertOtherButton : kAlertStdAlertOKButton; - param.cancelButton = 0; - } - } - // the MSW implementation even shows an OK button if it is not specified, we'll do the same - else - { - if (style & wxCANCEL) - { - // that's a cancel missing - param.defaultText = cfOKString; - param.cancelText = cfCancelString; - param.otherText = NULL; - param.helpButton = false; - param.defaultButton = kAlertStdAlertOKButton; - param.cancelButton = 0; - } - else - { - param.defaultText = cfOKString; - param.cancelText = NULL; - param.otherText = NULL; - param.helpButton = false; - param.defaultButton = kAlertStdAlertOKButton; - param.cancelButton = 0; - } - } - - param.position = kWindowDefaultPosition; - if ( !skipDialog ) - { - DialogRef alertRef; - CreateStandardAlert( alertType, cfTitle, cfText, ¶m, &alertRef ); - wxDialog::OSXBeginModalDialog(); - RunStandardAlert( alertRef, NULL, &result ); - wxDialog::OSXEndModalDialog(); - } - else - { - return wxID_CANCEL; - } - - if (style & wxOK) - { - switch ( result ) - { - case 1: - resultbutton = wxID_OK; - break; - - case 2: - // TODO: add Cancel button - // if (style & wxCANCEL) - // resultbutton = wxID_CANCEL; - break; - - case 3: - default: - break; - } - } - else if (style & wxYES_NO) - { - switch ( result ) - { - case 1: - resultbutton = wxID_YES; - break; - - case 2: - if (!(style & wxCANCEL)) - resultbutton = wxID_CANCEL; - break; - - case 3: - resultbutton = wxID_NO; - break; - - default: - break; - } - } - } - - SetReturnCode(resultbutton); - - return resultbutton; -} diff --git a/src/osx/carbon/nonownedwnd.cpp b/src/osx/carbon/nonownedwnd.cpp deleted file mode 100644 index a5b543d944..0000000000 --- a/src/osx/carbon/nonownedwnd.cpp +++ /dev/null @@ -1,1697 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/nonownedwnd.cpp -// Purpose: implementation of wxNonOwnedWindow -// Author: Stefan Csomor -// Created: 2008-03-24 -// Copyright: (c) Stefan Csomor 2008 -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" -#endif // WX_PRECOMP - -#include "wx/hashmap.h" -#include "wx/evtloop.h" -#include "wx/tooltip.h" -#include "wx/nonownedwnd.h" - -#include "wx/osx/private.h" -#include "wx/settings.h" -#include "wx/frame.h" - -#if wxUSE_SYSTEM_OPTIONS - #include "wx/sysopt.h" -#endif - -// ============================================================================ -// wxNonOwnedWindow implementation -// ============================================================================ - -// unified title and toolbar constant - not in Tiger headers, so we duplicate it here -#define kWindowUnifiedTitleAndToolbarAttribute (1 << 7) - -wxIMPLEMENT_DYNAMIC_CLASS(wxNonOwnedWindowCarbonImpl , wxNonOwnedWindowImpl); - -WXWindow wxNonOwnedWindowCarbonImpl::GetWXWindow() const -{ - return (WXWindow) m_macWindow; -} -void wxNonOwnedWindowCarbonImpl::Raise() -{ - ::SelectWindow( m_macWindow ) ; -} - -void wxNonOwnedWindowCarbonImpl::Lower() -{ - ::SendBehind( m_macWindow , NULL ) ; -} - -void wxNonOwnedWindowCarbonImpl::ShowWithoutActivating() -{ - bool plainTransition = true; - -#if wxUSE_SYSTEM_OPTIONS - if ( wxSystemOptions::HasOption(wxMAC_WINDOW_PLAIN_TRANSITION) ) - plainTransition = ( wxSystemOptions::GetOptionInt( wxMAC_WINDOW_PLAIN_TRANSITION ) == 1 ) ; -#endif - - if ( plainTransition ) - ::ShowWindow( (WindowRef)m_macWindow ); - else - ::TransitionWindow( (WindowRef)m_macWindow, kWindowZoomTransitionEffect, kWindowShowTransitionAction, NULL ); -} - -bool wxNonOwnedWindowCarbonImpl::Show(bool show) -{ - bool plainTransition = true; - -#if wxUSE_SYSTEM_OPTIONS - if ( wxSystemOptions::HasOption(wxMAC_WINDOW_PLAIN_TRANSITION) ) - plainTransition = ( wxSystemOptions::GetOptionInt( wxMAC_WINDOW_PLAIN_TRANSITION ) == 1 ) ; -#endif - - if (show) - { - ShowWithoutActivating(); - ::SelectWindow( (WindowRef)m_macWindow ) ; - } - else - { -#if wxOSX_USE_CARBON - if ( plainTransition ) - ::HideWindow( (WindowRef)m_macWindow ); - else - ::TransitionWindow( (WindowRef)m_macWindow, kWindowZoomTransitionEffect, kWindowHideTransitionAction, NULL ); -#endif - } - return true; -} - -void wxNonOwnedWindowCarbonImpl::Update() -{ - HIWindowFlush(m_macWindow) ; -} - -bool wxNonOwnedWindowCarbonImpl::SetTransparent(wxByte alpha) -{ - OSStatus result = SetWindowAlpha((WindowRef)m_macWindow, (CGFloat)((alpha)/255.0)); - return result == noErr; -} - -bool wxNonOwnedWindowCarbonImpl::SetBackgroundColour(const wxColour& col ) -{ - if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) ) - { - SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDocumentWindowBackground, false ) ; - m_wxPeer->SetBackgroundStyle(wxBG_STYLE_SYSTEM); - // call directly if object is not yet completely constructed - if ( m_wxPeer->GetNonOwnedPeer() == NULL ) - SetBackgroundStyle(wxBG_STYLE_SYSTEM); - } - else if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) ) - { - SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ; - m_wxPeer->SetBackgroundStyle(wxBG_STYLE_SYSTEM); - // call directly if object is not yet completely constructed - if ( m_wxPeer->GetNonOwnedPeer() == NULL ) - SetBackgroundStyle(wxBG_STYLE_SYSTEM); - } - return true; -} - -void wxNonOwnedWindowCarbonImpl::SetExtraStyle( long exStyle ) -{ - if ( m_macWindow != NULL ) - { - bool metal = exStyle & wxFRAME_EX_METAL ; - - if ( MacGetMetalAppearance() != metal ) - { - if ( MacGetUnifiedAppearance() ) - MacSetUnifiedAppearance( !metal ) ; - - MacSetMetalAppearance( metal ) ; - } - } -} - -bool wxNonOwnedWindowCarbonImpl::SetBackgroundStyle(wxBackgroundStyle style) -{ - if ( style == wxBG_STYLE_TRANSPARENT ) - { - OSStatus err = HIWindowChangeFeatures( m_macWindow, 0, kWindowIsOpaque ); - verify_noerr( err ); - err = ReshapeCustomWindow( m_macWindow ); - verify_noerr( err ); - } - - return true ; -} - -bool wxNonOwnedWindowCarbonImpl::CanSetTransparent() -{ - return true; -} - -void wxNonOwnedWindowCarbonImpl::GetContentArea( int &left , int &top , int &width , int &height ) const -{ - Rect content, structure ; - - GetWindowBounds( m_macWindow, kWindowStructureRgn , &structure ) ; - GetWindowBounds( m_macWindow, kWindowContentRgn , &content ) ; - - left = content.left - structure.left ; - top = content.top - structure.top ; - width = content.right - content.left ; - height = content.bottom - content.top ; -} - -void wxNonOwnedWindowCarbonImpl::MoveWindow(int x, int y, int width, int height) -{ - Rect bounds = { y , x , y + height , x + width } ; - verify_noerr(SetWindowBounds( (WindowRef) m_macWindow, kWindowStructureRgn , &bounds )) ; -} - -void wxNonOwnedWindowCarbonImpl::GetPosition( int &x, int &y ) const -{ - Rect bounds ; - - verify_noerr(GetWindowBounds((WindowRef) m_macWindow, kWindowStructureRgn , &bounds )) ; - - x = bounds.left ; - y = bounds.top ; -} - -void wxNonOwnedWindowCarbonImpl::GetSize( int &width, int &height ) const -{ - Rect bounds ; - - verify_noerr(GetWindowBounds((WindowRef) m_macWindow, kWindowStructureRgn , &bounds )) ; - - width = bounds.right - bounds.left ; - height = bounds.bottom - bounds.top ; -} - -bool wxNonOwnedWindowCarbonImpl::MacGetUnifiedAppearance() const -{ - return MacGetWindowAttributes() & kWindowUnifiedTitleAndToolbarAttribute ; -} - -void wxNonOwnedWindowCarbonImpl::MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear ) -{ - ChangeWindowAttributes( m_macWindow, attributesToSet, attributesToClear ) ; -} - -wxUint32 wxNonOwnedWindowCarbonImpl::MacGetWindowAttributes() const -{ - UInt32 attr = 0 ; - GetWindowAttributes( m_macWindow, &attr ) ; - return attr ; -} - -void wxNonOwnedWindowCarbonImpl::MacSetMetalAppearance( bool set ) -{ - if ( MacGetUnifiedAppearance() ) - MacSetUnifiedAppearance( false ) ; - - MacChangeWindowAttributes( set ? kWindowMetalAttribute : kWindowNoAttributes , - set ? kWindowNoAttributes : kWindowMetalAttribute ) ; -} - -bool wxNonOwnedWindowCarbonImpl::MacGetMetalAppearance() const -{ - return MacGetWindowAttributes() & kWindowMetalAttribute ; -} - -void wxNonOwnedWindowCarbonImpl::MacSetUnifiedAppearance( bool set ) -{ - if ( MacGetMetalAppearance() ) - MacSetMetalAppearance( false ) ; - - MacChangeWindowAttributes( set ? kWindowUnifiedTitleAndToolbarAttribute : kWindowNoAttributes , - set ? kWindowNoAttributes : kWindowUnifiedTitleAndToolbarAttribute) ; - - // For some reason, Tiger uses white as the background color for this appearance, - // while most apps using it use the typical striped background. Restore that behaviour - // for wx. - // TODO: Determine if we need this on Leopard as well. (should be harmless either way, - // though) - // since when creating the peering is not yet completely set-up we call both setters - // explicitly - m_wxPeer->SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW) ) ; - SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW) ) ; -} - - -// ---------------------------------------------------------------------------- -// globals -// ---------------------------------------------------------------------------- - -static pascal long wxShapedMacWindowDef(short varCode, WindowRef window, SInt16 message, SInt32 param); - -WXDLLEXPORT void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent ); - -// --------------------------------------------------------------------------- -// Carbon Events -// --------------------------------------------------------------------------- - -static const EventTypeSpec eventList[] = -{ - // TODO: remove control related event like key and mouse (except for WindowLeave events) - - { kEventClassKeyboard, kEventRawKeyDown } , - { kEventClassKeyboard, kEventRawKeyRepeat } , - { kEventClassKeyboard, kEventRawKeyUp } , - { kEventClassKeyboard, kEventRawKeyModifiersChanged } , - - { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } , - { kEventClassTextInput, kEventTextInputUpdateActiveInputArea } , - - { kEventClassWindow , kEventWindowShown } , - { kEventClassWindow , kEventWindowActivated } , - { kEventClassWindow , kEventWindowDeactivated } , - { kEventClassWindow , kEventWindowBoundsChanging } , - { kEventClassWindow , kEventWindowBoundsChanged } , - { kEventClassWindow , kEventWindowClose } , - { kEventClassWindow , kEventWindowGetRegion } , - - // we have to catch these events on the toplevel window level, - // as controls don't get the raw mouse events anymore - - { kEventClassMouse , kEventMouseDown } , - { kEventClassMouse , kEventMouseUp } , - { kEventClassMouse , kEventMouseWheelMoved } , - { kEventClassMouse , kEventMouseMoved } , - { kEventClassMouse , kEventMouseDragged } , -} ; - -static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - // call DoFindFocus instead of FindFocus, because for Composite Windows(like WxGenericListCtrl) - // FindFocus does not return the actual focus window, but the enclosing window - wxWindow* focus = wxWindow::DoFindFocus(); - if ( focus == NULL ) - focus = data ? ((wxNonOwnedWindowImpl*) data)->GetWXPeer() : NULL ; - - unsigned char charCode ; - wxChar uniChar[2] ; - uniChar[0] = 0; - uniChar[1] = 0; - - UInt32 keyCode ; - UInt32 modifiers ; - UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ; - -#if wxUSE_UNICODE - ByteCount dataSize = 0 ; - if ( GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, 0 , &dataSize, NULL ) == noErr ) - { - UniChar buf[2] ; - int numChars = dataSize / sizeof( UniChar) + 1; - - UniChar* charBuf = buf ; - - if ( numChars * 2 > 4 ) - charBuf = new UniChar[ numChars ] ; - GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, dataSize , NULL , charBuf ) ; - charBuf[ numChars - 1 ] = 0; - - wxMBConvUTF16 converter ; - converter.MB2WC( uniChar , (const char*)charBuf , 2 ) ; - - if ( numChars * 2 > 4 ) - delete[] charBuf ; - } -#endif // wxUSE_UNICODE - - GetEventParameter( event, kEventParamKeyMacCharCodes, typeChar, NULL, 1, NULL, &charCode ); - GetEventParameter( event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode ); - GetEventParameter( event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers ); - - UInt32 message = (keyCode << 8) + charCode; - switch ( GetEventKind( event ) ) - { - case kEventRawKeyRepeat : - case kEventRawKeyDown : - { - WXEVENTREF formerEvent = wxTheApp->MacGetCurrentEvent() ; - WXEVENTHANDLERCALLREF formerHandler = wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - if ( /* focus && */ wxTheApp->MacSendKeyDownEvent( - focus , message , modifiers , when , uniChar[0] ) ) - { - result = noErr ; - } - wxTheApp->MacSetCurrentEvent( formerEvent , formerHandler ) ; - } - break ; - - case kEventRawKeyUp : - if ( /* focus && */ wxTheApp->MacSendKeyUpEvent( - focus , message , modifiers , when , uniChar[0] ) ) - { - result = noErr ; - } - break ; - - case kEventRawKeyModifiersChanged : - { - wxKeyEvent event(wxEVT_KEY_DOWN); - - event.m_shiftDown = modifiers & shiftKey; - event.m_rawControlDown = modifiers & controlKey; - event.m_altDown = modifiers & optionKey; - event.m_controlDown = event.m_metaDown = modifiers & cmdKey; - -#if wxUSE_UNICODE - event.m_uniChar = uniChar[0] ; -#endif - - event.SetTimestamp(when); - event.SetEventObject(focus); - - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & controlKey ) - { - event.m_keyCode = WXK_RAW_CONTROL ; - event.SetEventType( ( modifiers & controlKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->HandleWindowEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & shiftKey ) - { - event.m_keyCode = WXK_SHIFT ; - event.SetEventType( ( modifiers & shiftKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->HandleWindowEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & optionKey ) - { - event.m_keyCode = WXK_ALT ; - event.SetEventType( ( modifiers & optionKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->HandleWindowEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & cmdKey ) - { - event.m_keyCode = WXK_CONTROL; - event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->HandleWindowEvent( event ) ; - } - - wxApp::s_lastModifiers = modifiers ; - } - break ; - - default: - break; - } - - return result ; -} - -// we don't interfere with foreign controls on our toplevel windows, therefore we always give back eventNotHandledErr -// for windows that we didn't create (like eg Scrollbars in a databrowser), or for controls where we did not handle the -// mouse down at all -// -// This handler can also be called from app level where data (ie target window) may be null or a non wx window - -EventMouseButton g_lastButton = 0 ; -bool g_lastButtonWasFakeRight = false ; - -WXDLLEXPORT void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent ) -{ - UInt32 modifiers = cEvent.GetParameter(kEventParamKeyModifiers, typeUInt32) ; - Point screenMouseLocation = cEvent.GetParameter(kEventParamMouseLocation) ; - - // these parameters are not given for all events - EventMouseButton button = 0 ; - UInt32 clickCount = 0 ; - UInt32 mouseChord = 0; - - cEvent.GetParameter( kEventParamMouseButton, typeMouseButton , &button ) ; - cEvent.GetParameter( kEventParamClickCount, typeUInt32 , &clickCount ) ; - // the chord is the state of the buttons pressed currently - cEvent.GetParameter( kEventParamMouseChord, typeUInt32 , &mouseChord ) ; - - wxevent.m_x = screenMouseLocation.h; - wxevent.m_y = screenMouseLocation.v; - wxevent.m_shiftDown = modifiers & shiftKey; - wxevent.m_rawControlDown = modifiers & controlKey; - wxevent.m_altDown = modifiers & optionKey; - wxevent.m_controlDown = wxevent.m_metaDown = modifiers & cmdKey; - wxevent.m_clickCount = clickCount; - wxevent.SetTimestamp( cEvent.GetTicks() ) ; - - // a control click is interpreted as a right click - bool thisButtonIsFakeRight = false ; - if ( button == kEventMouseButtonPrimary && (modifiers & controlKey) ) - { - button = kEventMouseButtonSecondary ; - thisButtonIsFakeRight = true ; - } - - // otherwise we report double clicks by connecting a left click with a ctrl-left click - if ( clickCount > 1 && button != g_lastButton ) - clickCount = 1 ; - - // we must make sure that our synthetic 'right' button corresponds in - // mouse down, moved and mouse up, and does not deliver a right down and left up - - if ( cEvent.GetKind() == kEventMouseDown ) - { - g_lastButton = button ; - g_lastButtonWasFakeRight = thisButtonIsFakeRight ; - } - - if ( button == 0 ) - { - g_lastButton = 0 ; - g_lastButtonWasFakeRight = false ; - } - else if ( g_lastButton == kEventMouseButtonSecondary && g_lastButtonWasFakeRight ) - button = g_lastButton ; - - // Adjust the chord mask to remove the primary button and add the - // secondary button. It is possible that the secondary button is - // already pressed, e.g. on a mouse connected to a laptop, but this - // possibility is ignored here: - if( thisButtonIsFakeRight && ( mouseChord & 1U ) ) - mouseChord = ((mouseChord & ~1U) | 2U); - - if(mouseChord & 1U) - wxevent.m_leftDown = true ; - if(mouseChord & 2U) - wxevent.m_rightDown = true ; - if(mouseChord & 4U) - wxevent.m_middleDown = true ; - - // translate into wx types - switch ( cEvent.GetKind() ) - { - case kEventMouseDown : - switch ( button ) - { - case kEventMouseButtonPrimary : - wxevent.SetEventType( clickCount > 1 ? wxEVT_LEFT_DCLICK : wxEVT_LEFT_DOWN ) ; - break ; - - case kEventMouseButtonSecondary : - wxevent.SetEventType( clickCount > 1 ? wxEVT_RIGHT_DCLICK : wxEVT_RIGHT_DOWN ) ; - break ; - - case kEventMouseButtonTertiary : - wxevent.SetEventType( clickCount > 1 ? wxEVT_MIDDLE_DCLICK : wxEVT_MIDDLE_DOWN ) ; - break ; - - default: - break ; - } - break ; - - case kEventMouseUp : - switch ( button ) - { - case kEventMouseButtonPrimary : - wxevent.SetEventType( wxEVT_LEFT_UP ) ; - break ; - - case kEventMouseButtonSecondary : - wxevent.SetEventType( wxEVT_RIGHT_UP ) ; - break ; - - case kEventMouseButtonTertiary : - wxevent.SetEventType( wxEVT_MIDDLE_UP ) ; - break ; - - default: - break ; - } - break ; - // TODO http://developer.apple.com/qa/qa2005/qa1453.html - // add declaration for 10.4 and change to kEventMouseScroll - case kEventMouseWheelMoved : - { - wxevent.SetEventType( wxEVT_MOUSEWHEEL ) ; - - EventMouseWheelAxis axis = cEvent.GetParameter(kEventParamMouseWheelAxis, typeMouseWheelAxis) ; - SInt32 delta = cEvent.GetParameter(kEventParamMouseWheelDelta, typeSInt32) ; - - wxevent.m_wheelRotation = delta; - wxevent.m_wheelDelta = 1; - wxevent.m_linesPerAction = 1; - wxevent.m_columnsPerAction = 1; - if ( axis == kEventMouseWheelAxisX ) - wxevent.m_wheelAxis = wxMOUSE_WHEEL_HORIZONTAL; - } - break ; - - case kEventMouseEntered : - case kEventMouseExited : - case kEventMouseDragged : - case kEventMouseMoved : - wxevent.SetEventType( wxEVT_MOTION ) ; - break; - default : - break ; - } -} - -#define NEW_CAPTURE_HANDLING 1 - -pascal OSStatus -wxMacTopLevelMouseEventHandler(EventHandlerCallRef WXUNUSED(handler), - EventRef event, - void *data) -{ - wxNonOwnedWindow* toplevelWindow = data ? ((wxNonOwnedWindowImpl*) data)->GetWXPeer() : NULL ; - - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - Point screenMouseLocation = cEvent.GetParameter(kEventParamMouseLocation) ; - Point windowMouseLocation = screenMouseLocation ; - - WindowRef window = NULL; - short windowPart = ::FindWindow(screenMouseLocation, &window); - - wxWindow* currentMouseWindow = NULL ; - ControlRef control = NULL ; - -#if NEW_CAPTURE_HANDLING - if ( wxApp::s_captureWindow ) - { - window = (WindowRef) wxApp::s_captureWindow->MacGetTopLevelWindowRef() ; - windowPart = inContent ; - } -#endif - - if ( window ) - { - QDGlobalToLocalPoint( GetWindowPort( window ), &windowMouseLocation ); - - if ( wxApp::s_captureWindow -#if !NEW_CAPTURE_HANDLING - && wxApp::s_captureWindow->MacGetTopLevelWindowRef() == (WXWindow) window && windowPart == inContent -#endif - ) - { - currentMouseWindow = wxApp::s_captureWindow ; - } - else if ( (IsWindowActive(window) && windowPart == inContent) ) - { - ControlPartCode part ; - control = FindControlUnderMouse( windowMouseLocation , window , &part ) ; - // if there is no control below the mouse position, send the event to the toplevel window itself - if ( control == 0 ) - { - currentMouseWindow = (wxWindow*) toplevelWindow ; - } - else - { - currentMouseWindow = (wxWindow*) wxFindWindowFromWXWidget( (WXWidget) control ) ; -#ifndef __WXUNIVERSAL__ - if ( currentMouseWindow == NULL && cEvent.GetKind() == kEventMouseMoved ) - { -#if wxUSE_TOOLBAR - // for wxToolBar to function we have to send certaint events to it - // instead of its children (wxToolBarTools) - ControlRef parent ; - GetSuperControl(control, &parent ); - wxWindow *wxparent = (wxWindow*) wxFindWindowFromWXWidget((WXWidget) parent ) ; - if ( wxparent && wxparent->IsKindOf( CLASSINFO( wxToolBar ) ) ) - currentMouseWindow = wxparent ; -#endif - } -#endif - } - - // disabled windows must not get any input messages - if ( currentMouseWindow && !currentMouseWindow->MacIsReallyEnabled() ) - currentMouseWindow = NULL; - } - } - - wxMouseEvent wxevent(wxEVT_LEFT_DOWN); - SetupMouseEvent( wxevent , cEvent ) ; - - // handle all enter / leave events - - if ( currentMouseWindow != g_MacLastWindow ) - { - if ( g_MacLastWindow ) - { - wxMouseEvent eventleave(wxevent); - eventleave.SetEventType( wxEVT_LEAVE_WINDOW ); - g_MacLastWindow->ScreenToClient( &eventleave.m_x, &eventleave.m_y ); - eventleave.SetEventObject( g_MacLastWindow ) ; - wxevent.SetId( g_MacLastWindow->GetId() ) ; - -#if wxUSE_TOOLTIPS - wxToolTip::RelayEvent( g_MacLastWindow , eventleave); -#endif - - g_MacLastWindow->HandleWindowEvent(eventleave); - } - - if ( currentMouseWindow ) - { - wxMouseEvent evententer(wxevent); - evententer.SetEventType( wxEVT_ENTER_WINDOW ); - currentMouseWindow->ScreenToClient( &evententer.m_x, &evententer.m_y ); - evententer.SetEventObject( currentMouseWindow ) ; - wxevent.SetId( currentMouseWindow->GetId() ) ; - -#if wxUSE_TOOLTIPS - wxToolTip::RelayEvent( currentMouseWindow , evententer ); -#endif - - currentMouseWindow->HandleWindowEvent(evententer); - } - - g_MacLastWindow = currentMouseWindow ; - } - - if ( windowPart == inMenuBar ) - { - // special case menu bar, as we are having a low-level runloop we must do it ourselves - if ( cEvent.GetKind() == kEventMouseDown ) - { - ::MenuSelect( screenMouseLocation ) ; - ::HiliteMenu(0); - result = noErr ; - } - } - else if ( window && windowPart == inProxyIcon ) - { - // special case proxy icon bar, as we are having a low-level runloop we must do it ourselves - if ( cEvent.GetKind() == kEventMouseDown ) - { - if ( ::TrackWindowProxyDrag( window, screenMouseLocation ) != errUserWantsToDragWindow ) - { - // TODO Track change of file path and report back - result = noErr ; - } - } - } - else if ( currentMouseWindow ) - { - wxWindow *currentMouseWindowParent = currentMouseWindow->GetParent(); - - currentMouseWindow->ScreenToClient( &wxevent.m_x , &wxevent.m_y ) ; - - wxevent.SetEventObject( currentMouseWindow ) ; - wxevent.SetId( currentMouseWindow->GetId() ) ; - - // make tooltips current - -#if wxUSE_TOOLTIPS - if ( wxevent.GetEventType() == wxEVT_MOTION ) - wxToolTip::RelayEvent( currentMouseWindow , wxevent ); -#endif - - if ( currentMouseWindow->HandleWindowEvent(wxevent) ) - { - if ( currentMouseWindowParent && - !currentMouseWindowParent->GetChildren().Member(currentMouseWindow) ) - currentMouseWindow = NULL; - - result = noErr; - } - else - { - // if the user code did _not_ handle the event, then perform the - // default processing - if ( wxevent.GetEventType() == wxEVT_LEFT_DOWN ) - { - // ... that is set focus to this window - if (currentMouseWindow->CanAcceptFocus() && wxWindow::FindFocus()!=currentMouseWindow) - currentMouseWindow->SetFocus(); - } - } - - if ( cEvent.GetKind() == kEventMouseUp && wxApp::s_captureWindow ) - { - wxApp::s_captureWindow = NULL ; - // update cursor ? - } - - // update cursor - - wxWindow* cursorTarget = currentMouseWindow ; - wxPoint cursorPoint( wxevent.m_x , wxevent.m_y ) ; - - extern wxCursor gGlobalCursor; - - if (!gGlobalCursor.IsOk()) - { - while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) ) - { - cursorTarget = cursorTarget->GetParent() ; - if ( cursorTarget ) - cursorPoint += cursorTarget->GetPosition(); - } - } - - } - else // currentMouseWindow == NULL - { - if (toplevelWindow && !control) - { - extern wxCursor gGlobalCursor; - if (!gGlobalCursor.IsOk()) - { - // update cursor when over toolbar and titlebar etc. - wxSTANDARD_CURSOR->MacInstall() ; - } - } - - // don't mess with controls we don't know about - // for some reason returning eventNotHandledErr does not lead to the correct behaviour - // so we try sending them the correct control directly - if ( cEvent.GetKind() == kEventMouseDown && toplevelWindow && control ) - { - EventModifiers modifiers = cEvent.GetParameter(kEventParamKeyModifiers, typeUInt32) ; - Point clickLocation = windowMouseLocation ; - - HIPoint hiPoint ; - hiPoint.x = clickLocation.h ; - hiPoint.y = clickLocation.v ; - HIViewConvertPoint( &hiPoint , (ControlRef) toplevelWindow->GetHandle() , control ) ; - clickLocation.h = (int)hiPoint.x ; - clickLocation.v = (int)hiPoint.y ; - - HandleControlClick( control , clickLocation , modifiers , (ControlActionUPP ) -1 ) ; - result = noErr ; - } - } - - return result ; -} - -static pascal OSStatus -wxNonOwnedWindowEventHandler(EventHandlerCallRef WXUNUSED(handler), - EventRef event, - void *data) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - // WindowRef windowRef = cEvent.GetParameter(kEventParamDirectObject) ; - wxNonOwnedWindow* toplevelWindow = data ? ((wxNonOwnedWindowImpl*) data)->GetWXPeer() : NULL; - - switch ( GetEventKind( event ) ) - { - case kEventWindowActivated : - { - toplevelWindow->HandleActivated( cEvent.GetTicks() , true) ; - // we still sending an eventNotHandledErr in order to allow for default processing - } - break ; - - case kEventWindowDeactivated : - { - toplevelWindow->HandleActivated( cEvent.GetTicks() , false) ; - // we still sending an eventNotHandledErr in order to allow for default processing - } - break ; - - case kEventWindowShown : - toplevelWindow->Refresh() ; - result = noErr ; - break ; - - case kEventWindowClose : - toplevelWindow->Close() ; - result = noErr ; - break ; - - case kEventWindowBoundsChanged : - { - UInt32 attributes = cEvent.GetParameter(kEventParamAttributes, typeUInt32) ; - Rect newRect = cEvent.GetParameter(kEventParamCurrentBounds) ; - wxRect r( newRect.left , newRect.top , newRect.right - newRect.left , newRect.bottom - newRect.top ) ; - if ( attributes & kWindowBoundsChangeSizeChanged ) - { - toplevelWindow->HandleResized(cEvent.GetTicks() ) ; - } - - if ( attributes & kWindowBoundsChangeOriginChanged ) - { - toplevelWindow->HandleMoved(cEvent.GetTicks() ) ; - } - - result = noErr ; - } - break ; - - case kEventWindowBoundsChanging : - { - UInt32 attributes = cEvent.GetParameter(kEventParamAttributes,typeUInt32) ; - Rect newRect = cEvent.GetParameter(kEventParamCurrentBounds) ; - - if ( (attributes & kWindowBoundsChangeSizeChanged) || (attributes & kWindowBoundsChangeOriginChanged) ) - { - // all (Mac) rects are in content area coordinates, all wxRects in structure coordinates - int left , top , width , height ; - // structure width - int swidth, sheight; - - toplevelWindow->GetNonOwnedPeer()->GetContentArea(left, top, width, height); - toplevelWindow->GetNonOwnedPeer()->GetSize(swidth, sheight); - int deltawidth = swidth - width; - int deltaheight = sheight - height; - wxRect adjustR( - newRect.left - left, - newRect.top - top, - newRect.right - newRect.left + deltawidth, - newRect.bottom - newRect.top + deltaheight ) ; - - toplevelWindow->HandleResizing( cEvent.GetTicks(), &adjustR ); - - const Rect adjustedRect = { adjustR.y + top , adjustR.x + left , adjustR.y + top + adjustR.height - deltaheight , - adjustR.x + left + adjustR.width - deltawidth } ; - if ( !EqualRect( &newRect , &adjustedRect ) ) - cEvent.SetParameter( kEventParamCurrentBounds , &adjustedRect ) ; - } - - result = noErr ; - } - break ; - - case kEventWindowGetRegion : - { - if ( toplevelWindow->GetBackgroundStyle() == wxBG_STYLE_TRANSPARENT ) - { - WindowRegionCode windowRegionCode ; - - // Fetch the region code that is being queried - GetEventParameter( event, - kEventParamWindowRegionCode, - typeWindowRegionCode, NULL, - sizeof windowRegionCode, NULL, - &windowRegionCode ) ; - - // If it is the opaque region code then set the - // region to empty and return noErr to stop event - // propagation - if ( windowRegionCode == kWindowOpaqueRgn ) { - RgnHandle region; - GetEventParameter( event, - kEventParamRgnHandle, - typeQDRgnHandle, NULL, - sizeof region, NULL, - ®ion) ; - SetEmptyRgn(region) ; - result = noErr ; - } - } - } - break ; - - default : - break ; - } - - return result ; -} - -// mix this in from window.cpp -pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) ; - -static pascal OSStatus wxNonOwnedEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - switch ( GetEventClass( event ) ) - { - case kEventClassTextInput : - { - // TODO remove as soon as all events are on implementation classes only - wxNonOwnedWindow* toplevelWindow = data ? ((wxNonOwnedWindowImpl*) data)->GetWXPeer() : NULL; - - result = wxMacUnicodeTextEventHandler( handler, event , toplevelWindow ) ; - } - break ; - - case kEventClassKeyboard : - result = KeyboardEventHandler( handler, event , data ) ; - break ; - - case kEventClassWindow : - result = wxNonOwnedWindowEventHandler( handler, event , data ) ; - break ; - - case kEventClassMouse : - result = wxMacTopLevelMouseEventHandler( handler, event , data ) ; - break ; - - default : - break ; - } - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxNonOwnedEventHandler ) - -// --------------------------------------------------------------------------- -// Support functions for shaped windows, based on Apple's CustomWindow sample at -// http://developer.apple.com/samplecode/Sample_Code/Human_Interface_Toolbox/Mac_OS_High_Level_Toolbox/CustomWindow.htm -// --------------------------------------------------------------------------- - -static void wxShapedMacWindowGetPos(WindowRef window, Rect* inRect) -{ - GetWindowPortBounds(window, inRect); - Point pt = { inRect->top ,inRect->left }; - QDLocalToGlobalPoint( GetWindowPort( window ), &pt ); - inRect->bottom += pt.v - inRect->top; - inRect->right += pt.h - inRect->left; - inRect->top = pt.v; - inRect->left = pt.h; -} - -static SInt32 wxShapedMacWindowGetFeatures(WindowRef WXUNUSED(window), SInt32 param) -{ - /*------------------------------------------------------ - Define which options your custom window supports. - --------------------------------------------------------*/ - //just enable everything for our demo - *(OptionBits*)param = - //kWindowCanGrow | - //kWindowCanZoom | - kWindowCanCollapse | - //kWindowCanGetWindowRegion | - //kWindowHasTitleBar | - //kWindowSupportsDragHilite | - kWindowCanDrawInCurrentPort | - //kWindowCanMeasureTitle | - kWindowWantsDisposeAtProcessDeath | - kWindowSupportsGetGrowImageRegion | - kWindowDefSupportsColorGrafPort; - - return 1; -} - -// The content region is left as a rectangle matching the window size, this is -// so the origin in the paint event, and etc. still matches what the -// programmer expects. -static void wxShapedMacWindowContentRegion(WindowRef window, RgnHandle rgn) -{ - SetEmptyRgn(rgn); - wxNonOwnedWindow* win = wxNonOwnedWindow::GetFromWXWindow((WXWindow)window); - if (win) - { - Rect r ; - wxShapedMacWindowGetPos( window, &r ) ; - RectRgn( rgn , &r ) ; - } -} - -// The structure region is set to the shape given to the SetShape method. -static void wxShapedMacWindowStructureRegion(WindowRef window, RgnHandle rgn) -{ - RgnHandle cachedRegion = (RgnHandle) GetWRefCon(window); - - SetEmptyRgn(rgn); - if (cachedRegion) - { - Rect windowRect; - wxShapedMacWindowGetPos(window, &windowRect); // how big is the window - CopyRgn(cachedRegion, rgn); // make a copy of our cached region - OffsetRgn(rgn, windowRect.left, windowRect.top); // position it over window - //MapRgn(rgn, &mMaskSize, &windowRect); //scale it to our actual window size - } -} - -static SInt32 wxShapedMacWindowGetRegion(WindowRef window, SInt32 param) -{ - GetWindowRegionPtr rgnRec = (GetWindowRegionPtr)param; - - if (rgnRec == NULL) - return paramErr; - - switch (rgnRec->regionCode) - { - case kWindowStructureRgn: - wxShapedMacWindowStructureRegion(window, rgnRec->winRgn); - break; - - case kWindowContentRgn: - wxShapedMacWindowContentRegion(window, rgnRec->winRgn); - break; - - default: - SetEmptyRgn(rgnRec->winRgn); - break; - } - - return noErr; -} - -// Determine the region of the window which was hit -// -static SInt32 wxShapedMacWindowHitTest(WindowRef window, SInt32 param) -{ - Point hitPoint; - static RgnHandle tempRgn = NULL; - - if (tempRgn == NULL) - tempRgn = NewRgn(); - - // get the point clicked - SetPt( &hitPoint, LoWord(param), HiWord(param) ); - - // Mac OS 8.5 or later - wxShapedMacWindowStructureRegion(window, tempRgn); - if (PtInRgn( hitPoint, tempRgn )) //in window content region? - return wInContent; - - // no significant area was hit - return wNoHit; -} - -static pascal long wxShapedMacWindowDef(short WXUNUSED(varCode), WindowRef window, SInt16 message, SInt32 param) -{ - switch (message) - { - case kWindowMsgHitTest: - return wxShapedMacWindowHitTest(window, param); - - case kWindowMsgGetFeatures: - return wxShapedMacWindowGetFeatures(window, param); - - // kWindowMsgGetRegion is sent during CreateCustomWindow and ReshapeCustomWindow - case kWindowMsgGetRegion: - return wxShapedMacWindowGetRegion(window, param); - - default: - break; - } - - return 0; -} - -// implementation - -typedef struct -{ - wxPoint m_position ; - wxSize m_size ; - bool m_wasResizable ; -} FullScreenData ; - -wxNonOwnedWindowCarbonImpl::wxNonOwnedWindowCarbonImpl() -{ -} - -wxNonOwnedWindowCarbonImpl::wxNonOwnedWindowCarbonImpl( wxNonOwnedWindow* nonownedwnd) : wxNonOwnedWindowImpl( nonownedwnd) -{ - m_macEventHandler = NULL; - m_macWindow = NULL; - m_macFullScreenData = NULL ; -} - -wxNonOwnedWindowCarbonImpl::~wxNonOwnedWindowCarbonImpl() -{ -#if wxUSE_TOOLTIPS - wxToolTip::NotifyWindowDelete(m_macWindow) ; -#endif - - if ( m_macEventHandler ) - { - ::RemoveEventHandler((EventHandlerRef) m_macEventHandler); - m_macEventHandler = NULL ; - } - - if ( m_macWindow && !m_wxPeer->IsNativeWindowWrapper()) - DisposeWindow( m_macWindow ); - - FullScreenData *data = (FullScreenData *) m_macFullScreenData ; - delete data ; - m_macFullScreenData = NULL ; - - m_macWindow = NULL; - -} - -void wxNonOwnedWindowCarbonImpl::WillBeDestroyed() -{ - if ( m_macEventHandler ) - { - ::RemoveEventHandler((EventHandlerRef) m_macEventHandler); - m_macEventHandler = NULL ; - } -} - -static void wxNonOwnedWindowInstallTopLevelWindowEventHandler(WindowRef window, EventHandlerRef* handler, void *ref) -{ - InstallWindowEventHandler(window, GetwxNonOwnedEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, ref, handler ); -} - -bool wxNonOwnedWindowCarbonImpl::SetShape(const wxRegion& region) -{ - // Make a copy of the region - RgnHandle shapeRegion = NewRgn(); - HIShapeGetAsQDRgn( region.GetWXHRGN(), shapeRegion ); - - // Dispose of any shape region we may already have - RgnHandle oldRgn = (RgnHandle)GetWRefCon( (WindowRef) m_wxPeer->GetWXWindow() ); - if ( oldRgn ) - DisposeRgn(oldRgn); - - // Save the region so we can use it later - SetWRefCon((WindowRef) m_wxPeer->GetWXWindow(), (URefCon)shapeRegion); - - // inform the window manager that the window has changed shape - ReshapeCustomWindow((WindowRef) m_wxPeer->GetWXWindow()); - - return true; -} - - -void wxNonOwnedWindowCarbonImpl::MacInstallTopLevelWindowEventHandler() -{ - if ( m_macEventHandler != NULL ) - { - verify_noerr( ::RemoveEventHandler( (EventHandlerRef) m_macEventHandler ) ) ; - } - wxNonOwnedWindowInstallTopLevelWindowEventHandler(MAC_WXHWND(m_macWindow),(EventHandlerRef *)&m_macEventHandler,this); -} - -void wxNonOwnedWindowCarbonImpl::Create( - wxWindow* WXUNUSED(parent), - WXWindow nativeWindow ) -{ - m_macWindow = nativeWindow; -} - -void wxNonOwnedWindowCarbonImpl::Create( - wxWindow* parent, - const wxPoint& pos, - const wxSize& size, - long style, long extraStyle, - const wxString& WXUNUSED(name) ) -{ - - OSStatus err = noErr ; - Rect theBoundsRect; - - int x = (int)pos.x; - int y = (int)pos.y; - - int w = size.x; - int h = size.y; - - ::SetRect(&theBoundsRect, x, y , x + w, y + h); - - // translate the window attributes in the appropriate window class and attributes - WindowClass wclass = 0; - WindowAttributes attr = kWindowNoAttributes ; - WindowGroupRef group = NULL ; - bool activationScopeSet = false; - WindowActivationScope activationScope = kWindowActivationScopeNone; - - if ( style & wxFRAME_TOOL_WINDOW ) - { - if ( - ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) || - ( style & wxSYSTEM_MENU ) || ( style & wxCAPTION ) || - ( style & wxTINY_CAPTION) - ) - { - if ( ( style & wxSTAY_ON_TOP ) ) - wclass = kUtilityWindowClass; - else - wclass = kFloatingWindowClass ; - - if ( ( style & wxTINY_CAPTION) ) - attr |= kWindowSideTitlebarAttribute ; - } - else - { - if ( style & wxNO_BORDER ) - { - wclass = kSimpleWindowClass ; - } - else - { - wclass = kPlainWindowClass ; - } - activationScopeSet = true; - activationScope = kWindowActivationScopeNone; - } - } - else if ( ( style & wxPOPUP_WINDOW ) ) - { - if ( ( style & wxBORDER_NONE ) ) - { - wclass = kHelpWindowClass ; // has no border - attr |= kWindowNoShadowAttribute; - } - else - { - wclass = kPlainWindowClass ; // has a single line border, it will have to do for now - } - group = GetWindowGroupOfClass(kFloatingWindowClass) ; - // make sure we don't deactivate something - activationScopeSet = true; - activationScope = kWindowActivationScopeNone; - } - else if ( ( style & wxCAPTION ) ) - { - wclass = kDocumentWindowClass ; - attr |= kWindowInWindowMenuAttribute ; - } - else if ( ( style & wxFRAME_DRAWER ) ) - { - wclass = kDrawerWindowClass; - } - else - { - if ( ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) || - ( style & wxCLOSE_BOX ) || ( style & wxSYSTEM_MENU ) ) - { - wclass = kDocumentWindowClass ; - } - else if ( ( style & wxNO_BORDER ) ) - { - wclass = kSimpleWindowClass ; - } - else - { - wclass = kPlainWindowClass ; - } - } - - if ( wclass != kPlainWindowClass ) - { - if ( ( style & wxMINIMIZE_BOX ) ) - attr |= kWindowCollapseBoxAttribute ; - - if ( ( style & wxMAXIMIZE_BOX ) ) - attr |= kWindowFullZoomAttribute ; - - if ( ( style & wxRESIZE_BORDER ) ) - attr |= kWindowResizableAttribute ; - - if ( ( style & wxCLOSE_BOX) ) - attr |= kWindowCloseBoxAttribute ; - } - attr |= kWindowLiveResizeAttribute; - - if ( ( style &wxSTAY_ON_TOP) ) - group = GetWindowGroupOfClass(kUtilityWindowClass) ; - - if ( ( style & wxFRAME_FLOAT_ON_PARENT ) ) - group = GetWindowGroupOfClass(kFloatingWindowClass) ; - - if ( group == NULL && parent != NULL ) - { - WindowRef parenttlw = (WindowRef) parent->MacGetTopLevelWindowRef(); - if( parenttlw ) - group = GetWindowGroupParent( GetWindowGroup( parenttlw ) ); - } - - attr |= kWindowCompositingAttribute; -#if 0 // TODO : decide on overall handling of high dpi screens (pixel vs userscale) - attr |= kWindowFrameworkScaledAttribute; -#endif - - if ( ( style &wxFRAME_SHAPED) ) - { - WindowDefSpec customWindowDefSpec; - customWindowDefSpec.defType = kWindowDefProcPtr; - customWindowDefSpec.u.defProc = -#ifdef __LP64__ - (WindowDefUPP) wxShapedMacWindowDef; -#else - NewWindowDefUPP(wxShapedMacWindowDef); -#endif - err = ::CreateCustomWindow( &customWindowDefSpec, wclass, - attr, &theBoundsRect, - (WindowRef*) &m_macWindow); - } - else - { - err = ::CreateNewWindow( wclass , attr , &theBoundsRect , (WindowRef*)&m_macWindow ) ; - } - - if ( err == noErr && m_macWindow != NULL && group != NULL ) - SetWindowGroup( (WindowRef) m_macWindow , group ) ; - - wxCHECK_RET( err == noErr, wxT("Mac OS error when trying to create new window") ); - - // setup a separate group for each window, so that overlays can be handled easily - - WindowGroupRef overlaygroup = NULL; - verify_noerr( CreateWindowGroup( kWindowGroupAttrMoveTogether | kWindowGroupAttrLayerTogether | kWindowGroupAttrHideOnCollapse, &overlaygroup )); - verify_noerr( SetWindowGroupParent( overlaygroup, GetWindowGroup( (WindowRef) m_macWindow ))); - verify_noerr( SetWindowGroup( (WindowRef) m_macWindow , overlaygroup )); - - if ( activationScopeSet ) - { - verify_noerr( SetWindowActivationScope( (WindowRef) m_macWindow , activationScope )); - } - - // the create commands are only for content rect, - // so we have to set the size again as structure bounds - SetWindowBounds( m_macWindow , kWindowStructureRgn , &theBoundsRect ) ; - - // Causes the inner part of the window not to be metal - // if the style is used before window creation. -#if 0 // TARGET_API_MAC_OSX - if ( m_macUsesCompositing && m_macWindow != NULL ) - { - if ( GetExtraStyle() & wxFRAME_EX_METAL ) - MacSetMetalAppearance( true ) ; - } -#endif - - if ( m_macWindow != NULL ) - { - MacSetUnifiedAppearance( true ) ; - } - - HIViewRef growBoxRef = 0 ; - err = HIViewFindByID( HIViewGetRoot( m_macWindow ), kHIViewWindowGrowBoxID, &growBoxRef ); - if ( err == noErr && growBoxRef != 0 ) - HIGrowBoxViewSetTransparent( growBoxRef, true ) ; - - // the frame window event handler - InstallStandardEventHandler( GetWindowEventTarget(m_macWindow) ) ; - MacInstallTopLevelWindowEventHandler() ; - - if ( extraStyle & wxFRAME_EX_METAL) - MacSetMetalAppearance(true); - - if ( ( style &wxFRAME_SHAPED) ) - { - // default shape matches the window size - wxRegion rgn( 0, 0, w, h ); - SetShape( rgn ); - } -} - -bool wxNonOwnedWindowCarbonImpl::ShowWithEffect(bool show, - wxShowEffect effect, - unsigned timeout) -{ - WindowTransitionEffect transition = 0 ; - switch( effect ) - { - case wxSHOW_EFFECT_ROLL_TO_LEFT: - case wxSHOW_EFFECT_ROLL_TO_RIGHT: - case wxSHOW_EFFECT_ROLL_TO_TOP: - case wxSHOW_EFFECT_ROLL_TO_BOTTOM: - case wxSHOW_EFFECT_SLIDE_TO_LEFT: - case wxSHOW_EFFECT_SLIDE_TO_RIGHT: - case wxSHOW_EFFECT_SLIDE_TO_TOP: - case wxSHOW_EFFECT_SLIDE_TO_BOTTOM: - transition = kWindowGenieTransitionEffect; - break; - case wxSHOW_EFFECT_BLEND: - transition = kWindowFadeTransitionEffect; - break; - case wxSHOW_EFFECT_EXPAND: - // having sheets would be fine, but this might lead to a repositioning -#if 0 - if ( GetParent() ) - transition = kWindowSheetTransitionEffect; - else -#endif - transition = kWindowZoomTransitionEffect; - break; - - case wxSHOW_EFFECT_NONE: - // wxNonOwnedWindow is supposed to call Show() itself in this case - wxFAIL_MSG( "ShowWithEffect() shouldn't be called" ); - return false; - - case wxSHOW_EFFECT_MAX: - wxFAIL_MSG( "invalid effect flag" ); - return false; - } - - TransitionWindowOptions options; - options.version = 0; - options.duration = timeout / 1000.0; - options.window = transition == kWindowSheetTransitionEffect ? (WindowRef) m_wxPeer->GetParent()->MacGetTopLevelWindowRef() :0; - options.userData = 0; - - wxSize size = wxGetDisplaySize(); - Rect bounds; - GetWindowBounds( (WindowRef)m_macWindow, kWindowStructureRgn, &bounds ); - CGRect hiBounds = CGRectMake( bounds.left, bounds.top, bounds.right - bounds.left, bounds.bottom - bounds.top ); - - switch ( effect ) - { - case wxSHOW_EFFECT_ROLL_TO_RIGHT: - case wxSHOW_EFFECT_SLIDE_TO_RIGHT: - hiBounds.origin.x = 0; - hiBounds.size.width = 0; - break; - - case wxSHOW_EFFECT_ROLL_TO_LEFT: - case wxSHOW_EFFECT_SLIDE_TO_LEFT: - hiBounds.origin.x = size.x; - hiBounds.size.width = 0; - break; - - case wxSHOW_EFFECT_ROLL_TO_TOP: - case wxSHOW_EFFECT_SLIDE_TO_TOP: - hiBounds.origin.y = size.y; - hiBounds.size.height = 0; - break; - - case wxSHOW_EFFECT_ROLL_TO_BOTTOM: - case wxSHOW_EFFECT_SLIDE_TO_BOTTOM: - hiBounds.origin.y = 0; - hiBounds.size.height = 0; - break; - - default: - break; // direction doesn't make sense - } - - ::TransitionWindowWithOptions - ( - (WindowRef)m_macWindow, - transition, - show ? kWindowShowTransitionAction : kWindowHideTransitionAction, - transition == kWindowGenieTransitionEffect ? &hiBounds : NULL, - false, - &options - ); - - if ( show ) - { - ::SelectWindow( (WindowRef)m_macWindow ) ; - } - - return true; -} - -void wxNonOwnedWindowCarbonImpl::SetTitle( const wxString& title, wxFontEncoding encoding ) -{ - SetWindowTitleWithCFString( m_macWindow , wxCFStringRef( title , encoding ) ) ; -} - -bool wxNonOwnedWindowCarbonImpl::IsMaximized() const -{ - return IsWindowInStandardState( m_macWindow , NULL , NULL ) ; -} - -bool wxNonOwnedWindowCarbonImpl::IsIconized() const -{ - return IsWindowCollapsed((WindowRef)GetWXWindow() ) ; -} - -void wxNonOwnedWindowCarbonImpl::Iconize( bool iconize ) -{ - if ( IsWindowCollapsable( m_macWindow ) ) - CollapseWindow( m_macWindow , iconize ) ; -} - -void wxNonOwnedWindowCarbonImpl::Maximize(bool maximize) -{ - Point idealSize = { 0 , 0 } ; - if ( maximize ) - { - HIRect bounds ; - HIWindowGetAvailablePositioningBounds(kCGNullDirectDisplay,kHICoordSpace72DPIGlobal, - &bounds); - idealSize.h = bounds.size.width; - idealSize.v = bounds.size.height; - } - ZoomWindowIdeal( (WindowRef)GetWXWindow() , maximize ? inZoomOut : inZoomIn , &idealSize ) ; -} - -bool wxNonOwnedWindowCarbonImpl::IsFullScreen() const -{ - return m_macFullScreenData != NULL ; -} - -bool wxNonOwnedWindowCarbonImpl::EnableFullScreenView(bool WXUNUSED(enable)) -{ - return false; -} - -bool wxNonOwnedWindowCarbonImpl::ShowFullScreen(bool show, long style) -{ - if ( show ) - { - FullScreenData *data = (FullScreenData *)m_macFullScreenData ; - delete data ; - data = new FullScreenData() ; - - m_macFullScreenData = data ; - data->m_position = m_wxPeer->GetPosition() ; - data->m_size = m_wxPeer->GetSize() ; -#if wxOSX_USE_CARBON - WindowAttributes attr = 0; - GetWindowAttributes((WindowRef) GetWXWindow(), &attr); - data->m_wasResizable = attr & kWindowResizableAttribute; - if ( style & wxFULLSCREEN_NOMENUBAR ) - HideMenuBar() ; -#endif - - wxRect client = wxGetClientDisplayRect() ; - - int left, top, width, height ; - int x, y, w, h ; - - x = client.x ; - y = client.y ; - w = client.width ; - h = client.height ; - - GetContentArea( left, top, width, height ) ; - int outerwidth, outerheight; - GetSize( outerwidth, outerheight ); - - if ( style & wxFULLSCREEN_NOCAPTION ) - { - y -= top ; - h += top ; - // avoid adding the caption twice to the height - outerheight -= top; - } - - if ( style & wxFULLSCREEN_NOBORDER ) - { - x -= left ; - w += outerwidth - width; - h += outerheight - height; - } - - if ( style & wxFULLSCREEN_NOTOOLBAR ) - { - // TODO - } - - if ( style & wxFULLSCREEN_NOSTATUSBAR ) - { - // TODO - } - - m_wxPeer->SetSize( x , y , w, h ) ; - if ( data->m_wasResizable ) - { -#if wxOSX_USE_CARBON - ChangeWindowAttributes( (WindowRef) GetWXWindow() , kWindowNoAttributes , kWindowResizableAttribute ) ; -#endif - } - } - else if ( m_macFullScreenData != NULL ) - { - FullScreenData *data = (FullScreenData *) m_macFullScreenData ; -#if wxOSX_USE_CARBON - ShowMenuBar() ; - if ( data->m_wasResizable ) - ChangeWindowAttributes( (WindowRef) GetWXWindow() , kWindowResizableAttribute , kWindowNoAttributes ) ; -#endif - m_wxPeer->SetPosition( data->m_position ) ; - m_wxPeer->SetSize( data->m_size ) ; - - delete data ; - m_macFullScreenData = NULL ; - } - - return true; -} - -// Attracts the users attention to this window if the application is -// inactive (should be called when a background event occurs) - -static pascal void wxMacNMResponse( NMRecPtr ptr ) -{ - NMRemove( ptr ) ; - DisposePtr( (Ptr)ptr ) ; -} - -void wxNonOwnedWindowCarbonImpl::RequestUserAttention(int WXUNUSED(flags)) -{ - NMRecPtr notificationRequest = (NMRecPtr) NewPtr( sizeof( NMRec) ) ; - - memset( notificationRequest , 0 , sizeof(*notificationRequest) ) ; - notificationRequest->qType = nmType ; - notificationRequest->nmMark = 1 ; - notificationRequest->nmIcon = 0 ; - notificationRequest->nmSound = 0 ; - notificationRequest->nmStr = NULL ; - notificationRequest->nmResp = wxMacNMResponse ; - - verify_noerr( NMInstall( notificationRequest ) ) ; -} - -void wxNonOwnedWindowCarbonImpl::ScreenToWindow( int *x, int *y ) -{ - HIPoint p = CGPointMake( (x ? *x : 0), (y ? *y : 0) ); - HIViewRef contentView ; - // TODO check toolbar offset - HIViewFindByID( HIViewGetRoot( m_macWindow ), kHIViewWindowContentID , &contentView) ; - HIPointConvert( &p, kHICoordSpace72DPIGlobal, NULL, kHICoordSpaceView, contentView ); - if ( x ) - *x = (int)p.x; - if ( y ) - *y = (int)p.y; -} - -void wxNonOwnedWindowCarbonImpl::WindowToScreen( int *x, int *y ) -{ - HIPoint p = CGPointMake( (x ? *x : 0), (y ? *y : 0) ); - HIViewRef contentView ; - // TODO check toolbar offset - HIViewFindByID( HIViewGetRoot( m_macWindow ), kHIViewWindowContentID , &contentView) ; - HIPointConvert( &p, kHICoordSpaceView, contentView, kHICoordSpace72DPIGlobal, NULL ); - if ( x ) - *x = (int)p.x; - if ( y ) - *y = (int)p.y; -} - -bool wxNonOwnedWindowCarbonImpl::IsActive() -{ - return ActiveNonFloatingWindow() == m_macWindow; -} - -wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, const wxPoint& pos, const wxSize& size, - long style, long extraStyle, const wxString& name ) -{ - wxNonOwnedWindowImpl* now = new wxNonOwnedWindowCarbonImpl( wxpeer ); - now->Create( parent, pos, size, style , extraStyle, name ); - return now; -} - -wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, WXWindow nativeWindow ) -{ - wxNonOwnedWindowCarbonImpl* now = new wxNonOwnedWindowCarbonImpl( wxpeer ); - now->Create( parent, nativeWindow ); - return now; -} - diff --git a/src/osx/carbon/notebmac.cpp b/src/osx/carbon/notebmac.cpp deleted file mode 100644 index 95e277149f..0000000000 --- a/src/osx/carbon/notebmac.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/notebmac.cpp -// Purpose: implementation of wxNotebook -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_NOTEBOOK - -#include "wx/notebook.h" - -#ifndef WX_PRECOMP - #include "wx/string.h" - #include "wx/log.h" - #include "wx/app.h" - #include "wx/image.h" -#endif - -#include "wx/string.h" -#include "wx/imaglist.h" -#include "wx/osx/private.h" - - -// check that the page index is valid -#define IS_VALID_PAGE(nPage) ((nPage) < GetPageCount()) - -class wxCarbonTabView : public wxMacControl -{ -public: - wxCarbonTabView( wxWindowMac* peer ) : wxMacControl(peer ) - { - } - - // Added by Mark Newsam - // When a page is added or deleted to the notebook this function updates - // information held in the control so that it matches the order - // the user would expect. - // - void SetupTabs( const wxNotebook& notebook) - { - const size_t countPages = notebook.GetPageCount(); - SetMaximum( countPages ) ; - - wxNotebookPage *page; - ControlTabInfoRecV1 info; - - for (size_t ii = 0; ii < countPages; ii++) - { - page = (wxNotebookPage*) notebook.GetPage(ii); - info.version = kControlTabInfoVersionOne; - info.iconSuiteID = 0; - wxCFStringRef cflabel( page->GetLabel(), page->GetFont().GetEncoding() ) ; - info.name = cflabel ; - SetData( ii + 1, kControlTabInfoTag, &info ) ; - - if ( notebook.GetImageList() && notebook.GetPageImage(ii) >= 0 ) - { - const wxBitmap bmap = notebook.GetImageList()->GetBitmap( notebook.GetPageImage( ii ) ) ; - if ( bmap.IsOk() ) - { - ControlButtonContentInfo info ; - - wxMacCreateBitmapButton( &info, bmap ) ; - - OSStatus err = SetData( ii + 1, kControlTabImageContentTag, &info ); - if ( err != noErr ) - { - wxFAIL_MSG("Error when setting icon on tab"); - } - - wxMacReleaseBitmapButton( &info ) ; - } - } - SetTabEnabled( ii + 1, true ) ; - } - } - - int TabHitTest(const wxPoint & pt, long* flags) - { - int resultV = wxNOT_FOUND; - - wxNotebook *notebookpeer = wxDynamicCast( GetWXPeer() , wxNotebook ); - if ( NULL == notebookpeer ) - return wxNOT_FOUND; - - const int countPages = notebookpeer->GetPageCount(); - - // we have to convert from Client to Window relative coordinates - wxPoint adjustedPt = pt + GetWXPeer()->GetClientAreaOrigin(); - // and now to HIView native ones - adjustedPt.x -= GetWXPeer()->MacGetLeftBorderSize() ; - adjustedPt.y -= GetWXPeer()->MacGetTopBorderSize() ; - - HIPoint hipoint= { adjustedPt.x , adjustedPt.y } ; - HIViewPartCode outPart = 0 ; - OSStatus err = HIViewGetPartHit( GetControlRef(), &hipoint, &outPart ); - - int max = GetMaximum() ; - if ( outPart == 0 && max > 0 ) - { - // this is a hack, as unfortunately a hit on an already selected tab returns 0, - // so we have to go some extra miles to make sure we select something different - // and try again .. - int val = GetValue() ; - int maxval = max ; - if ( max == 1 ) - { - SetMaximum( 2 ) ; - maxval = 2 ; - } - - if ( val == 1 ) - SetValue( maxval ) ; - else - SetValue( 1 ) ; - - err = HIViewGetPartHit( GetControlRef(), &hipoint, &outPart ); - - SetValue( val ) ; - if ( max == 1 ) - SetMaximum( 1 ) ; - } - - if ( outPart >= 1 && outPart <= countPages ) - resultV = outPart - 1 ; - - if (flags != NULL) - { - *flags = 0; - - // we cannot differentiate better - if (resultV >= 0) - *flags |= wxBK_HITTEST_ONLABEL; - else - *flags |= wxBK_HITTEST_NOWHERE; - } - - return resultV; - - } - -}; - -wxWidgetImplType* wxWidgetImpl::CreateTabView( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - - if ( bounds.right <= bounds.left ) - bounds.right = bounds.left + 100; - if ( bounds.bottom <= bounds.top ) - bounds.bottom = bounds.top + 100; - - UInt16 tabstyle = kControlTabDirectionNorth; - if ( style & wxBK_LEFT ) - tabstyle = kControlTabDirectionWest; - else if ( style & wxBK_RIGHT ) - tabstyle = kControlTabDirectionEast; - else if ( style & wxBK_BOTTOM ) - tabstyle = kControlTabDirectionSouth; - - ControlTabSize tabsize; - switch (wxpeer->GetWindowVariant()) - { - case wxWINDOW_VARIANT_MINI: - tabsize = 3 ; - break; - - case wxWINDOW_VARIANT_SMALL: - tabsize = kControlTabSizeSmall; - break; - - default: - tabsize = kControlTabSizeLarge; - break; - } - - wxMacControl* peer = new wxCarbonTabView( wxpeer ); - - OSStatus err = CreateTabsControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, - tabsize, tabstyle, 0, NULL, peer->GetControlRefAddr() ); - verify_noerr( err ); - - return peer; -} - -#endif diff --git a/src/osx/carbon/printdlg.cpp b/src/osx/carbon/printdlg.cpp deleted file mode 100644 index 820f49c6e7..0000000000 --- a/src/osx/carbon/printdlg.cpp +++ /dev/null @@ -1,125 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/printdlg.cpp -// Purpose: wxPrintDialog, wxPageSetupDialog -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_PRINTING_ARCHITECTURE - -#include "wx/printdlg.h" - -#ifndef WX_PRECOMP - #include "wx/object.h" - #include "wx/dcprint.h" - #include "wx/msgdlg.h" - #include "wx/textctrl.h" - #include "wx/sizer.h" - #include "wx/stattext.h" -#endif - -#include "wx/osx/printdlg.h" -#include "wx/osx/private/print.h" -#include "wx/osx/private.h" -#include "wx/statline.h" -#include "wx/modalhook.h" - -int wxMacPrintDialog::ShowModal() -{ - WX_HOOK_MODAL_DIALOG(); - - m_printDialogData.GetPrintData().ConvertToNative(); - ((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferFrom( &m_printDialogData ); - - int result = wxID_CANCEL; - - OSErr err = noErr; - Boolean accepted; - wxOSXPrintData* nativeData = (wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData(); - wxDialog::OSXBeginModalDialog(); - err = PMSessionPrintDialog(nativeData->GetPrintSession(), nativeData->GetPrintSettings(), - nativeData->GetPageFormat(), &accepted ); - wxDialog::OSXEndModalDialog(); - - if ((err == noErr) && !accepted) - { - // user clicked Cancel button - err = kPMCancel; - } - - if (err == noErr) - { - result = wxID_OK; - } - - if ((err != noErr) && (err != kPMCancel)) - { - wxString message; - - message.Printf( wxT("Print Error %d"), err ); - wxMessageDialog dialog( NULL, message, wxEmptyString, wxICON_HAND | wxOK ); - dialog.ShowModal(); - } - - if (result == wxID_OK) - { - m_printDialogData.GetPrintData().ConvertFromNative(); - ((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferTo( &m_printDialogData ); - } - return result; -} - -int wxMacPageSetupDialog::ShowModal() -{ - WX_HOOK_MODAL_DIALOG(); - - m_pageSetupData.GetPrintData().ConvertToNative(); - wxOSXPrintData* nativeData = (wxOSXPrintData*)m_pageSetupData.GetPrintData().GetNativeData(); - nativeData->TransferFrom( &m_pageSetupData ); - - int result = wxID_CANCEL; - OSErr err = noErr; - Boolean accepted; - - wxDialog::OSXBeginModalDialog(); - err = PMSessionPageSetupDialog( nativeData->GetPrintSession(), nativeData->GetPageFormat(), - &accepted ); - wxDialog::OSXEndModalDialog(); - - if ((err == noErr) && !accepted) - { - // user clicked Cancel button - err = kPMCancel; - } - - // If the user did not cancel, flatten and save the PageFormat object - // with our document. - if (err == noErr) - { - result = wxID_OK; - } - - if ((err != noErr) && (err != kPMCancel)) - { - wxString message; - - message.Printf( wxT("Print Error %d"), err ); - wxMessageDialog dialog( NULL, message, wxEmptyString, wxICON_HAND | wxOK ); - dialog.ShowModal(); - } - - if (result == wxID_OK) - { - m_pageSetupData.GetPrintData().ConvertFromNative(); - m_pageSetupData.SetPaperSize( m_pageSetupData.GetPrintData().GetPaperSize() ); - nativeData->TransferTo( &m_pageSetupData ); - } - return result; -} - -#endif diff --git a/src/osx/carbon/radiobut.cpp b/src/osx/carbon/radiobut.cpp deleted file mode 100644 index 1182b127a0..0000000000 --- a/src/osx/carbon/radiobut.cpp +++ /dev/null @@ -1,37 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/radiobut.cpp -// Purpose: wxRadioButton -// Author: Stefan Csomor -// Modified by: JS Lair (99/11/15) adding the cyclic group notion for radiobox -// Created: 01/01/98 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_RADIOBTN - -#include "wx/radiobut.h" -#include "wx/osx/private.h" - -wxWidgetImplType* wxWidgetImpl::CreateRadioButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - OSStatus err = CreateRadioButtonControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, CFSTR(""), - 0, false /* no autotoggle */, peer->GetControlRefAddr() ); - verify_noerr( err ); - - return peer; -} - -#endif diff --git a/src/osx/carbon/scrolbar.cpp b/src/osx/carbon/scrolbar.cpp deleted file mode 100644 index 006e93a351..0000000000 --- a/src/osx/carbon/scrolbar.cpp +++ /dev/null @@ -1,56 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/scrolbar.cpp -// Purpose: wxScrollBar -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/scrolbar.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/log.h" - #include "wx/settings.h" -#endif - -#include "wx/osx/private.h" - -class wxOSXScrollBarCarbonImpl : public wxMacControl -{ -public : - wxOSXScrollBarCarbonImpl( wxWindowMac* peer) : wxMacControl( peer ) - { - } - - void SetScrollThumb( wxInt32 value, wxInt32 thumbSize ) - { - SetValue( value ); - SetControlViewSize(m_controlRef , thumbSize ); - } -protected: -}; - -wxWidgetImplType* wxWidgetImpl::CreateScrollBar( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - - wxMacControl* peer = new wxOSXScrollBarCarbonImpl( wxpeer ); - OSStatus err = CreateScrollBarControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, - 0, 0, 100, 1, true /* liveTracking */, - GetwxMacLiveScrollbarActionProc(), - peer->GetControlRefAddr() ); - verify_noerr( err ); - return peer; -} diff --git a/src/osx/carbon/settings.cpp b/src/osx/carbon/settings.cpp deleted file mode 100644 index 193da854b3..0000000000 --- a/src/osx/carbon/settings.cpp +++ /dev/null @@ -1,278 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/settings.cpp -// Purpose: wxSettings -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/settings.h" - -#ifndef WX_PRECOMP - #include "wx/utils.h" - #include "wx/gdicmn.h" -#endif - -#include "wx/osx/private.h" -#include "wx/fontenum.h" - -// ---------------------------------------------------------------------------- -// wxSystemSettingsNative -// ---------------------------------------------------------------------------- - -// ---------------------------------------------------------------------------- -// colours -// ---------------------------------------------------------------------------- - -wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) -{ - wxColour resultColor; -#if wxOSX_USE_COCOA_OR_CARBON - ThemeBrush colorBrushID; -#endif - - switch ( index ) - { - case wxSYS_COLOUR_WINDOW: -#if wxOSX_USE_COCOA_OR_CARBON - resultColor = wxColour(wxMacCreateCGColorFromHITheme( 15 /* kThemeBrushDocumentWindowBackground */ )) ; -#else - resultColor = *wxWHITE; -#endif - break ; - case wxSYS_COLOUR_SCROLLBAR : - case wxSYS_COLOUR_BACKGROUND: - case wxSYS_COLOUR_ACTIVECAPTION: - case wxSYS_COLOUR_INACTIVECAPTION: - case wxSYS_COLOUR_MENU: - case wxSYS_COLOUR_WINDOWFRAME: - case wxSYS_COLOUR_ACTIVEBORDER: - case wxSYS_COLOUR_INACTIVEBORDER: - case wxSYS_COLOUR_BTNFACE: - case wxSYS_COLOUR_MENUBAR: -#if wxOSX_USE_COCOA_OR_CARBON - resultColor = wxColour(wxMacCreateCGColorFromHITheme( 3 /* kThemeBrushDialogBackgroundActive */)); -#else - resultColor = wxColour( 0xBE, 0xBE, 0xBE ) ; -#endif - break ; - - case wxSYS_COLOUR_LISTBOX : - resultColor = *wxWHITE ; - break ; - - case wxSYS_COLOUR_BTNSHADOW: - resultColor = wxColour( 0xBE, 0xBE, 0xBE ); - break ; - - case wxSYS_COLOUR_BTNTEXT: - case wxSYS_COLOUR_MENUTEXT: - case wxSYS_COLOUR_WINDOWTEXT: - case wxSYS_COLOUR_CAPTIONTEXT: - case wxSYS_COLOUR_INFOTEXT: - case wxSYS_COLOUR_INACTIVECAPTIONTEXT: - case wxSYS_COLOUR_LISTBOXTEXT: - resultColor = *wxBLACK; - break ; - - case wxSYS_COLOUR_HIGHLIGHT: - { -#if wxOSX_USE_COCOA_OR_CARBON -#if 0 - // NB: enable this case as desired - colorBrushID = kThemeBrushAlternatePrimaryHighlightColor; -#else - colorBrushID = -3 /* kThemeBrushPrimaryHighlightColor */; -#endif - resultColor = wxColour( wxMacCreateCGColorFromHITheme(colorBrushID) ); -#else - resultColor = wxColor( 0xCC, 0xCC, 0xFF ); -#endif - } - break ; - - case wxSYS_COLOUR_BTNHIGHLIGHT: - case wxSYS_COLOUR_GRAYTEXT: - resultColor = wxColor( 0xCC, 0xCC, 0xCC ); - break ; - - case wxSYS_COLOUR_3DDKSHADOW: - resultColor = wxColor( 0x44, 0x44, 0x44 ); - break ; - - case wxSYS_COLOUR_3DLIGHT: - resultColor = wxColor( 0xCC, 0xCC, 0xCC ); - break ; - - case wxSYS_COLOUR_HIGHLIGHTTEXT : - case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT : -#if wxOSX_USE_COCOA_OR_CARBON - { - wxColour highlightcolor( wxMacCreateCGColorFromHITheme(-3 /* kThemeBrushPrimaryHighlightColor */) ); - if ((highlightcolor.Red() + highlightcolor.Green() + highlightcolor.Blue() ) == 0) - resultColor = *wxWHITE ; - else - resultColor = *wxBLACK ; - } -#else - resultColor = *wxWHITE ; -#endif - break ; - - case wxSYS_COLOUR_INFOBK : - // we don't have a way to detect tooltip color, so use the - // standard value used at least on 10.4: - resultColor = wxColour( 0xFF, 0xFF, 0xD3 ) ; - break ; - case wxSYS_COLOUR_APPWORKSPACE: - resultColor = wxColor( 0x80, 0x80, 0x80 ); ; - break ; - - case wxSYS_COLOUR_HOTLIGHT: - case wxSYS_COLOUR_GRADIENTACTIVECAPTION: - case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: - case wxSYS_COLOUR_MENUHILIGHT: - // TODO: - resultColor = *wxBLACK; - break ; - - // case wxSYS_COLOUR_MAX: - default: - resultColor = *wxWHITE; - // wxCHECK_MSG( index >= wxSYS_COLOUR_MAX, false, wxT("unknown system colour index") ); - break ; - } - - //wxASSERT(resultColor.IsOk()); - - return resultColor; -} - -// ---------------------------------------------------------------------------- -// fonts -// ---------------------------------------------------------------------------- - -wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) -{ - wxFont font; - - switch (index) - { - case wxSYS_ANSI_VAR_FONT : - case wxSYS_SYSTEM_FONT : - case wxSYS_DEVICE_DEFAULT_FONT : - case wxSYS_DEFAULT_GUI_FONT : - font = *wxSMALL_FONT ; - break ; - - default : - font = *wxNORMAL_FONT ; - break ; - } - - //wxASSERT(font.IsOk() && wxFontEnumerator::IsValidFacename(font.GetFaceName())); - - return font; -} - -// ---------------------------------------------------------------------------- -// system metrics/features -// ---------------------------------------------------------------------------- - -// Get a system metric, e.g. scrollbar size -int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win)) -{ - int value; - - switch ( index ) - { - case wxSYS_MOUSE_BUTTONS: - // we emulate a two button mouse (ctrl + click = right button) - return 2; - - // TODO case wxSYS_BORDER_X: - // TODO case wxSYS_BORDER_Y: - // TODO case wxSYS_CURSOR_X: - // TODO case wxSYS_CURSOR_Y: - // TODO case wxSYS_DCLICK_X: - // TODO case wxSYS_DCLICK_Y: - // TODO case wxSYS_DRAG_X: - // TODO case wxSYS_DRAG_Y: - // TODO case wxSYS_EDGE_X: - // TODO case wxSYS_EDGE_Y: - - case wxSYS_HSCROLL_ARROW_X: - case wxSYS_HSCROLL_ARROW_Y: - case wxSYS_HTHUMB_X: - return 16; - - // TODO case wxSYS_ICON_X: - // TODO case wxSYS_ICON_Y: - // TODO case wxSYS_ICONSPACING_X: - // TODO case wxSYS_ICONSPACING_Y: - // TODO case wxSYS_WINDOWMIN_X: - // TODO case wxSYS_WINDOWMIN_Y: - - case wxSYS_SCREEN_X: - wxDisplaySize( &value, NULL ); - return value; - - case wxSYS_SCREEN_Y: - wxDisplaySize( NULL, &value ); - return value; - - // TODO case wxSYS_FRAMESIZE_X: - // TODO case wxSYS_FRAMESIZE_Y: - // TODO case wxSYS_SMALLICON_X: - // TODO case wxSYS_SMALLICON_Y: - - case wxSYS_HSCROLL_Y: - case wxSYS_VSCROLL_X: - case wxSYS_VSCROLL_ARROW_X: - case wxSYS_VSCROLL_ARROW_Y: - case wxSYS_VTHUMB_Y: - return 16; - - case wxSYS_PENWINDOWS_PRESENT: - return 0; - - case wxSYS_SWAP_BUTTONS: - return 0; - - // TODO: case wxSYS_CAPTION_Y: - // TODO: case wxSYS_MENU_Y: - // TODO: case wxSYS_NETWORK_PRESENT: - // TODO: case wxSYS_SHOW_SOUNDS: - - case wxSYS_DCLICK_MSEC: -#if wxOSX_USE_CARBON - return (int)(GetDblTime() * 1000. / 60.); -#else - // default on mac is 30 ticks, we shouldn't really use wxSYS_DCLICK_MSEC anyway - // but rather rely on the 'click-count' by the system delivered in a mouse event - return 500; -#endif - default: - // unsupported metric - break; - } - - return -1; -} - -bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) -{ - switch (index) - { - case wxSYS_CAN_ICONIZE_FRAME: - case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return true; - - default: - return false; - } -} diff --git a/src/osx/carbon/slider.cpp b/src/osx/carbon/slider.cpp deleted file mode 100644 index e5f6f3f4b5..0000000000 --- a/src/osx/carbon/slider.cpp +++ /dev/null @@ -1,69 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/slider.cpp -// Purpose: wxSlider -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_SLIDER - -#include "wx/slider.h" -#include "wx/osx/private.h" - -class wxMacSliderCarbonControl : public wxMacControl -{ -public : - wxMacSliderCarbonControl( wxWindowMac* peer ) : wxMacControl( peer ) - { - } - - // work around an OSX bug : if the control is having the keyboard focus it cannot - // be set to the full max/min values by dragging - virtual bool CanFocus() const - { - return false; - } -}; - - -wxWidgetImplType* wxWidgetImpl::CreateSlider( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - wxInt32 value, - wxInt32 minimum, - wxInt32 maximum, - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - int tickMarks = 0; - if ( style & wxSL_AUTOTICKS ) - tickMarks = (maximum - minimum) + 1; // +1 for the 0 value - - // keep the number of tickmarks from becoming unwieldy, therefore below it is ok to cast - // it to a UInt16 - while (tickMarks > 20) - tickMarks /= 5; - - - wxMacControl* peer = new wxMacSliderCarbonControl( wxpeer ); - OSStatus err = CreateSliderControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, - value, minimum, maximum, - kControlSliderPointsDownOrRight, - (UInt16) tickMarks, true /* liveTracking */, - GetwxMacLiveScrollbarActionProc(), - peer->GetControlRefAddr() ); - verify_noerr( err ); - - return peer; -} - -#endif // wxUSE_SLIDER diff --git a/src/osx/carbon/spinbutt.cpp b/src/osx/carbon/spinbutt.cpp deleted file mode 100644 index 061956428e..0000000000 --- a/src/osx/carbon/spinbutt.cpp +++ /dev/null @@ -1,42 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/spinbutt.cpp -// Purpose: wxSpinButton -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_SPINBTN - -#include "wx/spinbutt.h" -#include "wx/osx/private.h" - - -wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - wxInt32 value, - wxInt32 minimum, - wxInt32 maximum, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ); - - wxMacControl* peer = new wxMacControl( wxpeer ); - OSStatus err = CreateLittleArrowsControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, value, - minimum, maximum, 1, peer->GetControlRefAddr() ); - verify_noerr( err ); - - peer->SetActionProc( GetwxMacLiveScrollbarActionProc() ); - return peer ; -} - -#endif // wxUSE_SPINBTN diff --git a/src/osx/carbon/srchctrl.cpp b/src/osx/carbon/srchctrl.cpp deleted file mode 100644 index 56056d95a5..0000000000 --- a/src/osx/carbon/srchctrl.cpp +++ /dev/null @@ -1,222 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/srchctrl.cpp -// Purpose: implements mac carbon wxSearchCtrl -// Author: Vince Harron -// Created: 2006-02-19 -// Copyright: Vince Harron -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#if wxUSE_SEARCHCTRL - -#include "wx/srchctrl.h" - -#ifndef WX_PRECOMP - #include "wx/menu.h" -#endif //WX_PRECOMP - -#if wxUSE_NATIVE_SEARCH_CONTROL - -#include "wx/osx/uma.h" -#include "wx/osx/carbon/private/mactext.h" - -// ============================================================================ -// wxMacSearchFieldControl -// ============================================================================ - -class wxMacSearchFieldControl : public wxMacUnicodeTextControl, public wxSearchWidgetImpl -{ -public : - wxMacSearchFieldControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) ; - - // search field options - virtual void ShowSearchButton( bool show ); - virtual bool IsSearchButtonVisible() const; - - virtual void ShowCancelButton( bool show ); - virtual bool IsCancelButtonVisible() const; - - virtual void SetSearchMenu( wxMenu* menu ); - - virtual void SetDescriptiveText(const wxString& text); - - virtual bool SetFocus(); - -private: -} ; - -static const EventTypeSpec eventList[] = -{ - { kEventClassSearchField, kEventSearchFieldCancelClicked } , - { kEventClassSearchField, kEventSearchFieldSearchClicked } , -}; - -// ============================================================================ -// implementation -// ============================================================================ - -static pascal OSStatus wxMacSearchControlEventHandler( EventHandlerCallRef WXUNUSED(handler) , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - wxSearchCtrl* thisWindow = (wxSearchCtrl*) data ; - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - switch( GetEventKind( event ) ) - { - case kEventSearchFieldCancelClicked : - thisWindow->HandleSearchFieldCancelHit() ; - break ; - case kEventSearchFieldSearchClicked : - thisWindow->HandleSearchFieldSearchHit() ; - break ; - } - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacSearchControlEventHandler ) - -wxMacSearchFieldControl::wxMacSearchFieldControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) : wxMacUnicodeTextControl( wxPeer ) -{ - m_font = wxPeer->GetFont() ; - m_windowStyle = style ; - m_selection.selStart = m_selection.selEnd = 0; - Rect bounds = wxMacGetBoundsForControl( wxPeer , pos , size ) ; - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - wxCFStringRef cf(st , m_font.GetEncoding()) ; - - m_valueTag = kControlEditTextCFStringTag ; - - OptionBits attributes = kHISearchFieldAttributesSearchIcon; - - HIRect hibounds = { { bounds.left, bounds.top }, { bounds.right-bounds.left, bounds.bottom-bounds.top } }; - verify_noerr( HISearchFieldCreate( - &hibounds, - attributes, - 0, // MenuRef - CFSTR(""), - &m_controlRef - ) ); - HIViewSetVisible (m_controlRef, true); - - verify_noerr( SetData( 0, kControlEditTextCFStringTag , cf ) ) ; - - ::InstallControlEventHandler( m_controlRef, GetwxMacSearchControlEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, wxPeer, NULL); - SetNeedsFrame(false); - wxMacUnicodeTextControl::InstallEventHandlers(); -} - -// search field options -void wxMacSearchFieldControl::ShowSearchButton( bool show ) -{ - OptionBits set = 0; - OptionBits clear = 0; - if ( show ) - { - set |= kHISearchFieldAttributesSearchIcon; - } - else - { - clear |= kHISearchFieldAttributesSearchIcon; - } - HISearchFieldChangeAttributes( m_controlRef, set, clear ); -} - -bool wxMacSearchFieldControl::IsSearchButtonVisible() const -{ - OptionBits attributes = 0; - verify_noerr( HISearchFieldGetAttributes( m_controlRef, &attributes ) ); - return ( attributes & kHISearchFieldAttributesSearchIcon ) != 0; -} - -void wxMacSearchFieldControl::ShowCancelButton( bool show ) -{ - OptionBits set = 0; - OptionBits clear = 0; - if ( show ) - { - set |= kHISearchFieldAttributesCancel; - } - else - { - clear |= kHISearchFieldAttributesCancel; - } - HISearchFieldChangeAttributes( m_controlRef, set, clear ); -} - -bool wxMacSearchFieldControl::IsCancelButtonVisible() const -{ - OptionBits attributes = 0; - verify_noerr( HISearchFieldGetAttributes( m_controlRef, &attributes ) ); - return ( attributes & kHISearchFieldAttributesCancel ) != 0; -} - -void wxMacSearchFieldControl::SetSearchMenu( wxMenu* menu ) -{ - if ( menu ) - { - verify_noerr( HISearchFieldSetSearchMenu( m_controlRef, MAC_WXHMENU(menu->GetHMenu()) ) ); - } - else - { - verify_noerr( HISearchFieldSetSearchMenu( m_controlRef, 0 ) ); - } -} - -void wxMacSearchFieldControl::SetDescriptiveText(const wxString& text) -{ - verify_noerr( HISearchFieldSetDescriptiveText( - m_controlRef, - wxCFStringRef( text, wxFont::GetDefaultEncoding() ))); -} - -bool wxMacSearchFieldControl::SetFocus() -{ - // NB: We have to implement SetFocus a little differently because kControlFocusNextPart - // leads to setting the focus on the search icon rather than the text area. - // We get around this by explicitly telling the control to set focus to the - // text area. - - OSStatus err = SetKeyboardFocus( GetControlOwner( m_controlRef ), m_controlRef, kControlEditTextPart ); - if ( err == errCouldntSetFocus ) - return false ; - SetUserFocusWindow(GetControlOwner( m_controlRef ) ); - return true; -} - -wxWidgetImplType* wxWidgetImpl::CreateSearchControl( wxSearchCtrl* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxString& str, - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - wxMacControl* peer = new wxMacSearchFieldControl( wxpeer , str , pos , size , style ); - - return peer; -} - -#endif // wxUSE_NATIVE_SEARCH_CONTROL - -#endif // wxUSE_SEARCHCTRL diff --git a/src/osx/carbon/statbmp.cpp b/src/osx/carbon/statbmp.cpp deleted file mode 100644 index a3650f2cd2..0000000000 --- a/src/osx/carbon/statbmp.cpp +++ /dev/null @@ -1,83 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/statbmp.cpp -// Purpose: wxStaticBitmap -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_STATBMP - -#include "wx/statbmp.h" - -#ifndef WX_PRECOMP - #include "wx/dcclient.h" -#endif - -/* - * wxStaticBitmap - */ - -wxBEGIN_EVENT_TABLE(wxStaticBitmap, wxStaticBitmapBase) - EVT_PAINT(wxStaticBitmap::OnPaint) -wxEND_EVENT_TABLE() - -bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, - const wxBitmap& bitmap, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) -{ - SetName(name); - - m_backgroundColour = parent->GetBackgroundColour() ; - m_foregroundColour = parent->GetForegroundColour() ; - - m_bitmap = bitmap; - if ( id == wxID_ANY ) - m_windowId = (int)NewControlId(); - else - m_windowId = id; - - m_windowStyle = style; - - bool ret = wxControl::Create( parent, id, pos, size, style , wxDefaultValidator , name ); - SetInitialSize( size ) ; - - return ret; -} - -void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) -{ - m_bitmap = bitmap; - InvalidateBestSize(); - SetSize(GetBestSize()); - Refresh() ; -} - -void wxStaticBitmap::OnPaint( wxPaintEvent& WXUNUSED(event) ) -{ - wxPaintDC dc(this); - PrepareDC(dc); - - if (m_bitmap.IsOk()) - { - dc.DrawBitmap( m_bitmap , 0 , 0 , TRUE ) ; - } -} - -wxSize wxStaticBitmap::DoGetBestSize() const -{ - if ( m_bitmap.IsOk() ) - return DoGetSizeFromClientSize( wxSize(m_bitmap.GetWidth(), m_bitmap.GetHeight()) ); - - // this is completely arbitrary - return DoGetSizeFromClientSize( wxSize(16, 16) ); -} - -#endif diff --git a/src/osx/carbon/statbox.cpp b/src/osx/carbon/statbox.cpp deleted file mode 100644 index 5e5d9027ac..0000000000 --- a/src/osx/carbon/statbox.cpp +++ /dev/null @@ -1,37 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/statbox.cpp -// Purpose: wxStaticBox -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_STATBOX - -#include "wx/statbox.h" -#include "wx/osx/private.h" - -wxWidgetImplType* wxWidgetImpl::CreateGroupBox( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - - wxMacControl* peer = new wxMacControl( wxpeer ); - OSStatus err = CreateGroupBoxControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, CFSTR(""), - true /*primary*/, peer->GetControlRefAddr() ); - verify_noerr( err ); - return peer; -} -#endif // wxUSE_STATBOX - diff --git a/src/osx/carbon/statline.cpp b/src/osx/carbon/statline.cpp deleted file mode 100644 index 62a3db302c..0000000000 --- a/src/osx/carbon/statline.cpp +++ /dev/null @@ -1,40 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/statline.cpp -// Purpose: wxStaticLine class -// Author: Vadim Zeitlin -// Created: 28.06.99 -// Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#include "wx/statline.h" - -#ifndef WX_PRECOMP - #include "wx/statbox.h" -#endif - -bool wxStaticLine::Create( wxWindow *parent, - wxWindowID id, - const wxPoint &pos, - const wxSize &size, - long style, - const wxString &name ) -{ - if ( !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ) ) - return false; - - // this is ugly but it's better than nothing: - // use a thin static box to emulate static line - - wxSize sizeReal = AdjustSize( size ); - -// m_statbox = new wxStaticBox( parent, id, wxT(""), pos, sizeReal, style, name ); - - return true; -} diff --git a/src/osx/carbon/statlmac.cpp b/src/osx/carbon/statlmac.cpp deleted file mode 100644 index 415d236f5a..0000000000 --- a/src/osx/carbon/statlmac.cpp +++ /dev/null @@ -1,53 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/statlmac.cpp -// Purpose: a generic wxStaticLine class -// Author: Vadim Zeitlin -// Created: 28.06.99 -// Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#if wxUSE_STATLINE - -#include "wx/statline.h" - -#ifndef WX_PRECOMP - #include "wx/statbox.h" -#endif - -#include "wx/osx/private.h" - -// ============================================================================ -// implementation -// ============================================================================ - -wxWidgetImplType* wxWidgetImpl::CreateStaticLine( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - verify_noerr(CreateSeparatorControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()),&bounds, peer->GetControlRefAddr() ) ) ; - return peer; -} - -#endif //wxUSE_STATLINE diff --git a/src/osx/carbon/stattext.cpp b/src/osx/carbon/stattext.cpp deleted file mode 100644 index 8b0c9714c4..0000000000 --- a/src/osx/carbon/stattext.cpp +++ /dev/null @@ -1,140 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/stattext.cpp -// Purpose: wxStaticText -// Author: Stefan Csomor -// Modified by: -// Created: 04/01/98 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_STATTEXT - -#include "wx/stattext.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/dc.h" - #include "wx/dcclient.h" - #include "wx/settings.h" -#endif // WX_PRECOMP - -#include "wx/osx/private.h" - -#include - -class wxMacStaticText : public wxMacControl -{ -public: - wxMacStaticText( wxWindowMac* peer ) : wxMacControl(peer) - { - } - void SetLabel(const wxString& title, wxFontEncoding encoding) - { - wxCFStringRef str( title, encoding ); - OSStatus err = SetData(kControlEntireControl, kControlStaticTextCFStringTag, str); - verify_noerr( err ); - } -}; - -wxSize wxStaticText::DoGetBestSize() const -{ - Point bounds; -#if wxOSX_USE_CARBON - Rect bestsize = { 0 , 0 , 0 , 0 } ; - - // try the built-in best size if available - Boolean former = GetPeer()->GetData( kControlStaticTextIsMultilineTag); - GetPeer()->SetData( kControlStaticTextIsMultilineTag, (Boolean)0 ); - GetPeer()->GetBestRect( &bestsize ) ; - GetPeer()->SetData( kControlStaticTextIsMultilineTag, former ); - - if ( !EmptyRect( &bestsize ) ) - { - bounds.h = bestsize.right - bestsize.left ; - bounds.v = bestsize.bottom - bestsize.top ; - } - else -#endif - { -#if wxOSX_USE_CARBON - ControlFontStyleRec controlFont; - OSStatus err = GetPeer()->GetData( kControlEntireControl, kControlFontStyleTag, &controlFont ); - verify_noerr( err ); - -#if wxOSX_USE_ATSU_TEXT - SInt16 baseline; - if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont ) - { - // GetThemeTextDimensions will cache strings and the documentation - // says not to use the NoCopy string creation calls. - // This also means that we can't use CFSTR without - // -fno-constant-cfstrings if the library might be unloaded, - // as GetThemeTextDimensions may cache a pointer to our - // unloaded segment. - wxCFStringRef str( !m_label.empty() ? m_label : wxString(" "), - GetFont().GetEncoding() ); - - err = GetThemeTextDimensions( - (CFStringRef)str, - m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline ); - verify_noerr( err ); - } - else -#endif -#endif - { - wxClientDC dc(const_cast(this)); - wxCoord width, height ; - dc.GetTextExtent( m_label , &width, &height); - bounds.h = width; - bounds.v = height; - } - - if ( m_label.empty() ) - bounds.h = 0; - } - bounds.h += MacGetLeftBorderSize() + MacGetRightBorderSize(); - bounds.v += MacGetTopBorderSize() + MacGetBottomBorderSize(); - - return wxSize( bounds.h, bounds.v ); -} - -/* - FIXME: UpdateLabel() should be called on size events when wxST_ELLIPSIZE_START is set - to allow correct dynamic ellipsizing of the label -*/ - -wxWidgetImplType* wxWidgetImpl::CreateStaticText( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size ); - - wxMacControl* peer = new wxMacStaticText( wxpeer ); - OSStatus err = CreateStaticTextControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), - &bounds, NULL, NULL, peer->GetControlRefAddr() ); - verify_noerr( err ); - - if ( ( style & wxST_ELLIPSIZE_END ) || ( style & wxST_ELLIPSIZE_MIDDLE ) ) - { - TruncCode tCode = truncEnd; - if ( style & wxST_ELLIPSIZE_MIDDLE ) - tCode = truncMiddle; - - err = peer->SetData( kControlStaticTextTruncTag, tCode ); - err = peer->SetData( kControlStaticTextIsMultilineTag, (Boolean)0 ); - } - return peer; -} - -#endif //if wxUSE_STATTEXT diff --git a/src/osx/carbon/taskbar.cpp b/src/osx/carbon/taskbar.cpp deleted file mode 100644 index 2eab375c1a..0000000000 --- a/src/osx/carbon/taskbar.cpp +++ /dev/null @@ -1,506 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/taskbar.cpp -// Purpose: wxTaskBarIcon -// Author: Ryan Norton -// Modified by: -// Created: 09/25/2004 -// Copyright: (c) 2004 Ryan Norton -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_TASKBARICON - -#include "wx/taskbar.h" - -#ifndef WX_PRECOMP - #include "wx/dcmemory.h" - #include "wx/menu.h" - #include "wx/toplevel.h" - #include "wx/icon.h" -#endif - -#include "wx/osx/private.h" - -class wxTaskBarIconImpl -{ -public: - wxTaskBarIconImpl(wxTaskBarIcon* parent); - virtual ~wxTaskBarIconImpl(); - - virtual bool IsIconInstalled() const = 0; - virtual bool SetIcon(const wxIcon& icon, const wxString& tooltip) = 0; - virtual bool RemoveIcon() = 0; - virtual bool PopupMenu(wxMenu *menu) = 0; - - wxMenu * CreatePopupMenu() - { return m_parent->CreatePopupMenu(); } - - wxTaskBarIcon *m_parent; - class wxTaskBarIconWindow *m_menuEventWindow; - - wxDECLARE_NO_COPY_CLASS(wxTaskBarIconImpl); -}; - -//----------------------------------------------------------------------------- -// -// wxTaskBarIconWindow -// -// Event handler for menus -// NB: Since wxWindows in Mac HAVE to have parents we need this to be -// a top level window... -//----------------------------------------------------------------------------- - -class wxTaskBarIconWindow : public wxTopLevelWindow -{ -public: - wxTaskBarIconWindow(wxTaskBarIconImpl *impl) - : wxTopLevelWindow(NULL, wxID_ANY, wxEmptyString), m_impl(impl) - { - Connect( - -1, wxEVT_MENU, - wxCommandEventHandler(wxTaskBarIconWindow::OnMenuEvent) ); - } - - void OnMenuEvent(wxCommandEvent& event) - { - m_impl->m_parent->ProcessEvent(event); - } - -private: - wxTaskBarIconImpl *m_impl; -}; - -class wxDockTaskBarIcon : public wxTaskBarIconImpl -{ -public: - wxDockTaskBarIcon(wxTaskBarIcon* parent); - virtual ~wxDockTaskBarIcon(); - - virtual bool IsIconInstalled() const; - virtual bool SetIcon(const wxIcon& icon, const wxString& tooltip); - virtual bool RemoveIcon(); - virtual bool PopupMenu(wxMenu *menu); - - wxMenu* DoCreatePopupMenu(); - - EventHandlerRef m_eventHandlerRef; - EventHandlerUPP m_eventupp; - wxWindow *m_eventWindow; - wxMenu *m_pMenu; - MenuRef m_theLastMenu; - bool m_iconAdded; -}; - -// Forward declarations for utility functions for dock implementation -pascal OSStatus wxDockEventHandler( - EventHandlerCallRef inHandlerCallRef, - EventRef inEvent, void* pData ); -wxMenu * wxDeepCopyMenu( wxMenu *menu ); - - -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// wxTaskBarIconImpl -// -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -wxTaskBarIconImpl::wxTaskBarIconImpl(wxTaskBarIcon* parent) - : m_parent(parent), m_menuEventWindow(new wxTaskBarIconWindow(this)) -{ -} - -wxTaskBarIconImpl::~wxTaskBarIconImpl() -{ - delete m_menuEventWindow; -} - -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// wxDockTaskBarIcon -// -// OS X Dock implementation of wxTaskBarIcon using Carbon -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -//----------------------------------------------------------------------------- -// wxDockEventHandler -// -// This is the global Mac/Carbon event handler for the dock. -// We need this for two reasons: -// 1) To handle wxTaskBarIcon menu events (see below for why) -// 2) To handle events from the dock when it requests a menu -//----------------------------------------------------------------------------- -pascal OSStatus -wxDockEventHandler(EventHandlerCallRef WXUNUSED(inHandlerCallRef), - EventRef inEvent, - void *pData) -{ - // Get the parameters we want from the event - wxDockTaskBarIcon* pTB = (wxDockTaskBarIcon*) pData; - const UInt32 eventClass = GetEventClass(inEvent); - const UInt32 eventKind = GetEventKind(inEvent); - - OSStatus err = eventNotHandledErr; - - // Handle wxTaskBar menu events (note that this is a global event handler - // so it will actually get called by all commands/menus) - if ((eventClass == kEventClassCommand) && (eventKind == kEventCommandProcess || eventKind == kEventCommandUpdateStatus )) - { - // if we have no taskbar menu quickly pass it back to wxApp - if (pTB->m_pMenu != NULL) - { - // This is the real reason why we need this. Normally menus - // get handled in wxMacAppEventHandler - // However, in the case of a taskbar menu call - // command.menu.menuRef IS NULL! - // Which causes the wxApp handler just to skip it. - - // get the HICommand from the event - HICommand command; - if (GetEventParameter(inEvent, kEventParamDirectObject, - typeHICommand, NULL,sizeof(HICommand), NULL, &command ) == noErr) - { - // Obtain the REAL menuRef and the menuItemIndex in the real menuRef - // - // NOTE: menuRef is generally used here for submenus, as - // GetMenuItemRefCon could give an incorrect wxMenuItem if we pass - // just the top level wxTaskBar menu - MenuItemIndex menuItemIndex; - MenuRef menuRef; - MenuRef taskbarMenuRef = MAC_WXHMENU(pTB->m_pMenu->GetHMenu()); - - // the next command is only successful if it was a command from the taskbar menu - // otherwise we pass it on - if (GetIndMenuItemWithCommandID(taskbarMenuRef,command.commandID, - 1, &menuRef, &menuItemIndex ) == noErr) - { - wxMenu* itemMenu = wxFindMenuFromMacMenu( menuRef ) ; - int id = wxMacCommandToId( command.commandID ) ; - wxMenuItem *item = NULL; - - if (id != 0) // get the wxMenuItem reference from the MenuRef - GetMenuItemRefCon( menuRef, menuItemIndex, (URefCon*) &item ); - - if (item && itemMenu ) - { - if ( eventKind == kEventCommandProcess ) - { - if ( itemMenu->HandleCommandProcess( item ) ) - err = noErr; - } - else if ( eventKind == kEventCommandUpdateStatus ) - { - if ( itemMenu->HandleCommandUpdateStatus( item ) ) - err = noErr; - } - } - } - } - } //end if noErr on getting HICommand from event - } - else if ((eventClass == kEventClassApplication) && (eventKind == kEventAppGetDockTileMenu )) - { - // process the right click events - // NB: This may result in double or even triple-creation of the menus - // We need to do this for 2.4 compat, however - wxTaskBarIconEvent downevt(wxEVT_TASKBAR_RIGHT_DOWN, NULL); - pTB->m_parent->ProcessEvent(downevt); - - wxTaskBarIconEvent upevt(wxEVT_TASKBAR_RIGHT_UP, NULL); - pTB->m_parent->ProcessEvent(upevt); - - // create popup menu - wxMenu* menu = pTB->DoCreatePopupMenu(); - - if (menu != NULL) - { - // note to self - a MenuRef *is* a MenuHandle - MenuRef hMenu = MAC_WXHMENU(menu->GetHMenu()); - - // When SetEventParameter is called it will decrement - // the reference count of the menu - we need to make - // sure it stays around in the wxMenu class here - CFRetain(hMenu); - - // set the actual dock menu - err = SetEventParameter( - inEvent, kEventParamMenuRef, - typeMenuRef, sizeof(MenuRef), &hMenu ); - verify_noerr( err ); - } - } - - return err; -} - -//----------------------------------------------------------------------------- -// wxDeepCopyMenu -// -// Performs a top-to-bottom copy of the input menu and all of its -// submenus. -// -// This is mostly needed for 2.4 compatibility. However wxPython and others -// still use this way of setting the taskbarmenu. -//----------------------------------------------------------------------------- -wxMenu * wxDeepCopyMenu( wxMenu *menu ) -{ - if (menu == NULL) - return NULL; - - // NB: Here we have to perform a deep copy of the menu, - // copying each and every menu item from menu to m_pMenu. - // Other implementations use wxWindow::PopupMenu here, - // which idle execution until the user selects something, - // but since the Mac handles this internally, we can't - - // and have no way at all to idle it while the dock menu - // is being shown before menu goes out of scope (it may - // not be on the heap, and may expire right after this function - // is done - we need it to last until the carbon event is triggered - - // that's when the user right clicks). - // - // Also, since there is no equal (assignment) operator - // on either wxMenu or wxMenuItem, we have to do all the - // dirty work ourselves. - - // perform a deep copy of the menu - wxMenuItemList& theList = menu->GetMenuItems(); - wxMenuItemList::compatibility_iterator theNode = theList.GetFirst(); - - // create the main menu - wxMenu *m_pMenu = new wxMenu(menu->GetTitle()); - - while (theNode != NULL) - { - wxMenuItem* theItem = theNode->GetData(); - m_pMenu->Append( - new wxMenuItem( - m_pMenu, // parent menu - theItem->GetId(), // id - theItem->GetItemLabel(), // text label - theItem->GetHelp(), // status bar help string - theItem->GetKind(), // menu flags - checkable, separator, etc. - wxDeepCopyMenu(theItem->GetSubMenu()) )); // submenu - - theNode = theNode->GetNext(); - } - - return m_pMenu; -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon ctor -// -// Initializes the dock implementation of wxTaskBarIcon. -// -// Here we create some Mac-specific event handlers and UPPs. -//----------------------------------------------------------------------------- -wxDockTaskBarIcon::wxDockTaskBarIcon(wxTaskBarIcon* parent) - : wxTaskBarIconImpl(parent), - m_eventHandlerRef(NULL), m_pMenu(NULL), - m_theLastMenu(GetApplicationDockTileMenu()), m_iconAdded(false) -{ - // register the events that will return the dock menu - EventTypeSpec tbEventList[] = - { - { kEventClassCommand, kEventProcessCommand }, - { kEventClassCommand, kEventCommandUpdateStatus }, - { kEventClassApplication, kEventAppGetDockTileMenu } - }; - - m_eventupp = NewEventHandlerUPP(wxDockEventHandler); - wxASSERT(m_eventupp != NULL); - - OSStatus err = InstallApplicationEventHandler( - m_eventupp, - GetEventTypeCount(tbEventList), tbEventList, - this, &m_eventHandlerRef); - verify_noerr( err ); -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon Destructor -// -// Cleans up mac events and restores the old icon to the dock -//----------------------------------------------------------------------------- -wxDockTaskBarIcon::~wxDockTaskBarIcon() -{ - // clean up event handler and event UPP - RemoveEventHandler(m_eventHandlerRef); - DisposeEventHandlerUPP(m_eventupp); - - // restore old icon and menu to the dock - RemoveIcon(); -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon::DoCreatePopupMenu -// -// Helper function that handles a request from the dock event handler -// to get the menu for the dock -//----------------------------------------------------------------------------- -wxMenu * wxDockTaskBarIcon::DoCreatePopupMenu() -{ - // get the menu from the parent - wxMenu* theNewMenu = CreatePopupMenu(); - - if (theNewMenu) - { - delete m_pMenu; - m_pMenu = theNewMenu; - m_pMenu->SetInvokingWindow(m_menuEventWindow); - } - - // the return here can be one of three things - // (in order of priority): - // 1) User passed a menu from CreatePopupMenu override - // 2) menu sent to and copied from PopupMenu - // 3) If neither (1) or (2), then NULL - // - return m_pMenu; -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon::IsIconInstalled -// -// Returns whether or not the dock is not using the default image -//----------------------------------------------------------------------------- -bool wxDockTaskBarIcon::IsIconInstalled() const -{ - return m_iconAdded; -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon::SetIcon -// -// Sets the icon for the dock CGImage functions and SetApplicationDockTileImage -//----------------------------------------------------------------------------- -bool wxDockTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& WXUNUSED(tooltip)) -{ - // convert the wxIcon into a wxBitmap so we can perform some - // wxBitmap operations with it - wxBitmap bmp( icon ); - wxASSERT( bmp.IsOk() ); - - // get the CGImageRef for the wxBitmap: - // OSX builds only, but then the dock only exists in OSX - CGImageRef pImage = (CGImageRef) bmp.CreateCGImage(); - wxASSERT( pImage != NULL ); - - // actually set the dock image - OSStatus err = SetApplicationDockTileImage( pImage ); - verify_noerr( err ); - - // free the CGImage, now that it's referenced by the dock - if (pImage != NULL) - CGImageRelease( pImage ); - - bool success = (err == noErr); - m_iconAdded = success; - - return success; -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon::RemoveIcon -// -// Restores the old image for the dock via RestoreApplicationDockTileImage -//----------------------------------------------------------------------------- -bool wxDockTaskBarIcon::RemoveIcon() -{ - wxDELETE(m_pMenu); - - // restore old icon to the dock - OSStatus err = RestoreApplicationDockTileImage(); - verify_noerr( err ); - - // restore the old menu to the dock - SetApplicationDockTileMenu( m_theLastMenu ); - - bool success = (err == noErr); - m_iconAdded = !success; - - return success; -} - -//----------------------------------------------------------------------------- -// wxDockTaskBarIcon::PopupMenu -// -// 2.4 and wxPython method that "pops of the menu in the taskbar". -// -// In reality because of the way the dock menu works in carbon -// we just save the menu, and if the user didn't override CreatePopupMenu -// return the menu passed here, thus sort of getting the same effect. -//----------------------------------------------------------------------------- -bool wxDockTaskBarIcon::PopupMenu(wxMenu *menu) -{ - wxASSERT(menu != NULL); - - delete m_pMenu; - - // start copy of menu - m_pMenu = wxDeepCopyMenu(menu); - - // finish up - m_pMenu->SetInvokingWindow(m_menuEventWindow); - - return true; -} - -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// wxTaskBarIcon -// -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -wxIMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler); - -//----------------------------------------------------------------------------- -// wxTaskBarIcon Constructor -// -// Creates the backend -// -// Note that we only support DOCK currently as others require cocoa and -// also some require hacks and other such things. (MenuExtras are -// actually separate programs that also require a special undocumented id -// hack and other such fun stuff). -//----------------------------------------------------------------------------- -wxTaskBarIcon::wxTaskBarIcon(wxTaskBarIconType WXUNUSED_UNLESS_DEBUG(nType)) -{ - wxASSERT_MSG( - nType == wxTBI_DOCK, - wxT("Only the wxTBI_DOCK implementation of wxTaskBarIcon on Mac-Carbon is currently supported!") ); - - m_impl = new wxDockTaskBarIcon(this); -} - -//----------------------------------------------------------------------------- -// wxTaskBarIcon Destructor -// -// Destroys the backend -//----------------------------------------------------------------------------- -wxTaskBarIcon::~wxTaskBarIcon() -{ - delete m_impl; -} - -//----------------------------------------------------------------------------- -// wxTaskBarIcon::SetIcon -// wxTaskBarIcon::RemoveIcon -// wxTaskBarIcon::PopupMenu -// -// Just calls the backend version of the said function. -//----------------------------------------------------------------------------- -bool wxTaskBarIcon::IsIconInstalled() const -{ return m_impl->IsIconInstalled(); } - -bool wxTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& tooltip) -{ return m_impl->SetIcon(icon, tooltip); } - -bool wxTaskBarIcon::RemoveIcon() -{ return m_impl->RemoveIcon(); } - -bool wxTaskBarIcon::PopupMenu(wxMenu *menu) -{ return m_impl->PopupMenu(menu); } - -#endif // wxUSE_TASKBARICON diff --git a/src/osx/carbon/textctrl.cpp b/src/osx/carbon/textctrl.cpp deleted file mode 100644 index 53a0f908d0..0000000000 --- a/src/osx/carbon/textctrl.cpp +++ /dev/null @@ -1,1582 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/textctrl.cpp -// Purpose: wxTextCtrl -// Author: Stefan Csomor -// Modified by: Ryan Norton (MLTE GetLineLength and GetLineText) -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_TEXTCTRL - -#include "wx/textctrl.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/dc.h" - #include "wx/button.h" - #include "wx/menu.h" - #include "wx/settings.h" - #include "wx/msgdlg.h" - #include "wx/toplevel.h" -#endif - -#ifdef __DARWIN__ - #include - #include -#else - #include -#endif - -#if wxUSE_STD_IOSTREAM - #if wxUSE_IOSTREAMH - #include - #else - #include - #endif -#endif - -#include "wx/filefn.h" -#include "wx/sysopt.h" -#include "wx/thread.h" - -#include "wx/osx/private.h" -#include "wx/osx/carbon/private/mactext.h" - -class wxMacFunctor -{ -public : - wxMacFunctor() {} - virtual ~wxMacFunctor() {} - - virtual void* operator()() = 0 ; - - static void* CallBackProc( void *param ) - { - wxMacFunctor* f = (wxMacFunctor*) param ; - void *result = (*f)() ; - return result ; - } -} ; - -template - -class wxMacObjectFunctor1 : public wxMacFunctor -{ - typedef void (classtype::*function)( param1type p1 ) ; - typedef void (classtype::*ref_function)( const param1type& p1 ) ; -public : - wxMacObjectFunctor1( classtype *obj , function f , param1type p1 ) : - wxMacFunctor() - { - m_object = obj ; - m_function = f ; - m_param1 = p1 ; - } - - wxMacObjectFunctor1( classtype *obj , ref_function f , param1type p1 ) : - wxMacFunctor() - { - m_object = obj ; - m_refFunction = f ; - m_param1 = p1 ; - } - - virtual ~wxMacObjectFunctor1() {} - - virtual void* operator()() - { - (m_object->*m_function)( m_param1 ) ; - return NULL ; - } - -private : - classtype* m_object ; - param1type m_param1 ; - union - { - function m_function ; - ref_function m_refFunction ; - } ; -} ; - -template -void* wxMacMPRemoteCall( classtype *object , void (classtype::*function)( param1type p1 ) , param1type p1 ) -{ - wxMacObjectFunctor1 params(object, function, p1) ; - void *result = - MPRemoteCall( wxMacFunctor::CallBackProc , ¶ms , kMPOwningProcessRemoteContext ) ; - return result ; -} - -template -void* wxMacMPRemoteCall( classtype *object , void (classtype::*function)( const param1type& p1 ) , param1type p1 ) -{ - wxMacObjectFunctor1 params(object, function, p1) ; - void *result = - MPRemoteCall( wxMacFunctor::CallBackProc , ¶ms , kMPOwningProcessRemoteContext ) ; - return result ; -} - -template -void* wxMacMPRemoteGUICall( classtype *object , void (classtype::*function)( param1type p1 ) , param1type p1 ) -{ - wxMutexGuiLeave() ; - void *result = wxMacMPRemoteCall( object , function , p1 ) ; - wxMutexGuiEnter() ; - return result ; -} - -template -void* wxMacMPRemoteGUICall( classtype *object , void (classtype::*function)( const param1type& p1 ) , param1type p1 ) -{ - wxMutexGuiLeave() ; - void *result = wxMacMPRemoteCall( object , function , p1 ) ; - wxMutexGuiEnter() ; - return result ; -} - -class WXDLLEXPORT wxMacPortSaver -{ - wxDECLARE_NO_COPY_CLASS(wxMacPortSaver); - -public: - wxMacPortSaver( GrafPtr port ); - ~wxMacPortSaver(); -private : - GrafPtr m_port; -}; - - -/* - Clips to the visible region of a control within the current port - */ - -class WXDLLEXPORT wxMacWindowClipper : public wxMacPortSaver -{ - wxDECLARE_NO_COPY_CLASS(wxMacWindowClipper); - -public: - wxMacWindowClipper( const wxWindow* win ); - ~wxMacWindowClipper(); -private: - GrafPtr m_newPort; - RgnHandle m_formerClip; - RgnHandle m_newClip; -}; - -wxMacPortSaver::wxMacPortSaver( GrafPtr port ) -{ - ::GetPort( &m_port ); - ::SetPort( port ); -} - -wxMacPortSaver::~wxMacPortSaver() -{ - ::SetPort( m_port ); -} - -wxMacWindowClipper::wxMacWindowClipper( const wxWindow* win ) : -wxMacPortSaver( (GrafPtr) GetWindowPort( (WindowRef) win->MacGetTopLevelWindowRef() ) ) -{ - m_newPort = (GrafPtr) GetWindowPort( (WindowRef) win->MacGetTopLevelWindowRef() ) ; - m_formerClip = NewRgn() ; - m_newClip = NewRgn() ; - GetClip( m_formerClip ) ; - - if ( win ) - { - // guard against half constructed objects, this just leads to a empty clip - if ( win->GetPeer() ) - { - int x = 0 , y = 0; - win->MacWindowToRootWindow( &x, &y ) ; - - // get area including focus rect - HIShapeGetAsQDRgn( ((wxWindow*)win)->MacGetVisibleRegion(true).GetWXHRGN() , m_newClip ); - if ( !EmptyRgn( m_newClip ) ) - OffsetRgn( m_newClip , x , y ) ; - } - - SetClip( m_newClip ) ; - } -} - -wxMacWindowClipper::~wxMacWindowClipper() -{ - SetPort( m_newPort ) ; - SetClip( m_formerClip ) ; - DisposeRgn( m_newClip ) ; - DisposeRgn( m_formerClip ) ; -} - -// common parts for implementations based on MLTE - -class wxMacMLTEControl : public wxMacControl, public wxTextWidgetImpl -{ -public : - wxMacMLTEControl( wxTextCtrl *peer ) ; - ~wxMacMLTEControl() {} - - virtual bool CanFocus() const - { return true; } - - virtual wxString GetStringValue() const ; - virtual void SetStringValue( const wxString &str ) ; - - static TXNFrameOptions FrameOptionsFromWXStyle( long wxStyle ) ; - - void AdjustCreationAttributes( const wxColour& background, bool visible ) ; - - virtual void SetFont( const wxFont & font, const wxColour& foreground, long windowStyle, bool ignoreBlack ) ; - virtual void SetBackgroundColour(const wxColour& col ); - virtual void SetStyle( long start, long end, const wxTextAttr& style ) ; - virtual void Copy() ; - virtual void Cut() ; - virtual void Paste() ; - virtual bool CanPaste() const ; - virtual void SetEditable( bool editable ) ; - virtual long GetLastPosition() const ; - virtual void Replace( long from, long to, const wxString &str ) ; - virtual void Remove( long from, long to ) ; - virtual void GetSelection( long* from, long* to ) const ; - virtual void SetSelection( long from, long to ) ; - - virtual void WriteText( const wxString& str ) ; - - virtual bool HasOwnContextMenu() const - { - TXNCommandEventSupportOptions options ; - TXNGetCommandEventSupport( m_txn , & options ) ; - return options & kTXNSupportEditCommandProcessing ; - } - - virtual void CheckSpelling(bool check) - { - TXNSetSpellCheckAsYouType( m_txn, (Boolean) check ); - } - virtual void Clear() ; - - virtual bool CanUndo() const ; - virtual void Undo() ; - virtual bool CanRedo() const; - virtual void Redo() ; - virtual int GetNumberOfLines() const ; - virtual long XYToPosition(long x, long y) const ; - virtual bool PositionToXY(long pos, long *x, long *y) const ; - virtual void ShowPosition( long pos ) ; - virtual int GetLineLength(long lineNo) const ; - virtual wxString GetLineText(long lineNo) const ; - - void SetTXNData( const wxString& st , TXNOffset start , TXNOffset end ) ; - TXNObject GetTXNObject() { return m_txn ; } - -protected : - void TXNSetAttribute( const wxTextAttr& style , long from , long to ) ; - - TXNObject m_txn ; -} ; - -// implementation available under OSX - -class wxMacMLTEHIViewControl : public wxMacMLTEControl -{ -public : - wxMacMLTEHIViewControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) ; - virtual ~wxMacMLTEHIViewControl() ; - - virtual bool SetFocus() ; - virtual bool HasFocus() const ; - virtual void SetBackgroundColour(const wxColour& col ) ; - -protected : - HIViewRef m_scrollView ; - HIViewRef m_textView ; -}; - -// 'classic' MLTE implementation - -class wxMacMLTEClassicControl : public wxMacMLTEControl -{ -public : - wxMacMLTEClassicControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) ; - virtual ~wxMacMLTEClassicControl() ; - - virtual void VisibilityChanged(bool shown) ; - virtual void SuperChangedPosition() ; - - virtual void MacControlUserPaneDrawProc(wxInt16 part) ; - virtual wxInt16 MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) ; - virtual wxInt16 MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) ; - virtual void MacControlUserPaneIdleProc() ; - virtual wxInt16 MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers) ; - virtual void MacControlUserPaneActivateProc(bool activating) ; - virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; - virtual void MacControlUserPaneBackgroundProc(void* info) ; - - virtual bool SetupCursor( const wxPoint& WXUNUSED(pt) ) - { - MacControlUserPaneIdleProc(); - return true; - } - - virtual void Move(int x, int y, int width, int height); - -protected : - OSStatus DoCreate(); - - void MacUpdatePosition() ; - void MacActivatePaneText(bool setActive) ; - void MacFocusPaneText(bool setFocus) ; - void MacSetObjectVisibility(bool vis) ; - -private : - TXNFrameID m_txnFrameID ; - GrafPtr m_txnPort ; - WindowRef m_txnWindow ; - // bounds of the control as we last did set the txn frames - Rect m_txnControlBounds ; - Rect m_txnVisBounds ; - - static pascal void TXNScrollActionProc( ControlRef controlRef , ControlPartCode partCode ) ; - static pascal void TXNScrollInfoProc( - SInt32 iValue, SInt32 iMaximumValue, - TXNScrollBarOrientation iScrollBarOrientation, SInt32 iRefCon ) ; - - ControlRef m_sbHorizontal ; - SInt32 m_lastHorizontalValue ; - ControlRef m_sbVertical ; - SInt32 m_lastVerticalValue ; -}; - -wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxString& str, - const wxPoint& pos, - const wxSize& size, - long style, - long WXUNUSED(extraStyle)) -{ - return new wxMacMLTEHIViewControl( wxpeer , str , pos , size , style ) ; -} - -// ---------------------------------------------------------------------------- -// standard unicode control implementation -// ---------------------------------------------------------------------------- - -// the current unicode textcontrol implementation has a bug : only if the control -// is currently having the focus, the selection can be retrieved by the corresponding -// data tag. So we have a mirroring using a member variable -// TODO : build event table using virtual member functions for wxMacControl - -static const EventTypeSpec unicodeTextControlEventList[] = -{ - { kEventClassControl , kEventControlSetFocusPart } , -} ; - -static pascal OSStatus wxMacUnicodeTextControlControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - wxMacUnicodeTextControl* focus = (wxMacUnicodeTextControl*) data ; - wxMacCarbonEvent cEvent( event ) ; - - switch ( GetEventKind( event ) ) - { - case kEventControlSetFocusPart : - { - ControlPartCode controlPart = cEvent.GetParameter(kEventParamControlPart , typeControlPartCode ); - if ( controlPart == kControlFocusNoPart ) - { - // about to lose focus -> store selection to field - focus->GetData( 0, kControlEditTextSelectionTag, &focus->m_selection ); - } - result = CallNextEventHandler(handler,event) ; - if ( controlPart != kControlFocusNoPart ) - { - // about to gain focus -> set selection from field - focus->SetData( 0, kControlEditTextSelectionTag, &focus->m_selection ); - } - break; - } - default: - break ; - } - - return result ; -} - -static pascal OSStatus wxMacUnicodeTextControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - switch ( GetEventClass( event ) ) - { - case kEventClassControl : - result = wxMacUnicodeTextControlControlEventHandler( handler , event , data ) ; - break ; - - default : - break ; - } - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacUnicodeTextControlEventHandler ) - -wxMacUnicodeTextControl::wxMacUnicodeTextControl( wxTextCtrl *wxPeer ) - : wxMacControl( wxPeer ), - wxTextWidgetImpl( wxPeer ) -{ -} - -wxMacUnicodeTextControl::wxMacUnicodeTextControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) - : wxMacControl( wxPeer ), - wxTextWidgetImpl( wxPeer ) -{ - m_font = wxPeer->GetFont() ; - m_windowStyle = style ; - m_selection.selStart = m_selection.selEnd = 0; - Rect bounds = wxMacGetBoundsForControl( wxPeer , pos , size ) ; - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - wxCFStringRef cf(st , m_font.GetEncoding()) ; - - m_valueTag = kControlEditTextCFStringTag ; - Boolean isPassword = ( m_windowStyle & wxTE_PASSWORD ) != 0 ; - if ( isPassword ) - { - m_valueTag = kControlEditTextPasswordCFStringTag ; - } - OSStatus err = CreateEditUnicodeTextControl( - MAC_WXHWND(wxPeer->MacGetTopLevelWindowRef()), &bounds , cf , - isPassword , NULL , &m_controlRef ) ; - verify_noerr( err ); - - if ( !(m_windowStyle & wxTE_MULTILINE) ) - SetData( kControlEditTextPart , kControlEditTextSingleLineTag , true ) ; - - InstallEventHandlers(); -} - -void wxMacUnicodeTextControl::InstallEventHandlers() -{ - ::InstallControlEventHandler( m_controlRef , GetwxMacUnicodeTextControlEventHandlerUPP(), - GetEventTypeCount(unicodeTextControlEventList), unicodeTextControlEventList, this, - (EventHandlerRef*) &m_macTextCtrlEventHandler); -} - -wxMacUnicodeTextControl::~wxMacUnicodeTextControl() -{ - ::RemoveEventHandler((EventHandlerRef) m_macTextCtrlEventHandler); -} - -void wxMacUnicodeTextControl::VisibilityChanged(bool shown) -{ - if ( !(m_windowStyle & wxTE_MULTILINE) && shown ) - { - // work around a refresh issue insofar as not always the entire content is shown, - // even if this would be possible - ControlEditTextSelectionRec sel ; - CFStringRef value = NULL ; - - verify_noerr( GetData( 0, kControlEditTextSelectionTag, &sel ) ); - verify_noerr( GetData( 0, m_valueTag, &value ) ); - verify_noerr( SetData( 0, m_valueTag, &value ) ); - verify_noerr( SetData( 0, kControlEditTextSelectionTag, &sel ) ); - - CFRelease( value ) ; - } -} - -wxString wxMacUnicodeTextControl::GetStringValue() const -{ - wxString result ; - CFStringRef value = GetData(0, m_valueTag) ; - if ( value ) - { - wxCFStringRef cf(value) ; - result = cf.AsString() ; - } - -#if '\n' == 10 - wxMacConvertNewlines13To10( &result ) ; -#else - wxMacConvertNewlines10To13( &result ) ; -#endif - - return result ; -} - -void wxMacUnicodeTextControl::SetStringValue( const wxString &str ) -{ - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - wxCFStringRef cf( st , m_font.GetEncoding() ) ; - verify_noerr( SetData( 0, m_valueTag , cf ) ) ; -} - -void wxMacUnicodeTextControl::Copy() -{ - SendHICommand( kHICommandCopy ) ; -} - -void wxMacUnicodeTextControl::Cut() -{ - SendHICommand( kHICommandCut ) ; -} - -void wxMacUnicodeTextControl::Paste() -{ - SendHICommand( kHICommandPaste ) ; -} - -bool wxMacUnicodeTextControl::CanPaste() const -{ - return true ; -} - -void wxMacUnicodeTextControl::SetEditable(bool WXUNUSED(editable)) -{ -#if 0 // leads to problem because text cannot be selected anymore - SetData( kControlEditTextPart , kControlEditTextLockedTag , (Boolean) !editable ) ; -#endif -} - -void wxMacUnicodeTextControl::GetSelection( long* from, long* to ) const -{ - ControlEditTextSelectionRec sel ; - if (HasFocus()) - verify_noerr( GetData( 0, kControlEditTextSelectionTag, &sel ) ) ; - else - sel = m_selection ; - - if ( from ) - *from = sel.selStart ; - if ( to ) - *to = sel.selEnd ; -} - -void wxMacUnicodeTextControl::SetSelection( long from , long to ) -{ - ControlEditTextSelectionRec sel ; - wxString result ; - int textLength = 0 ; - CFStringRef value = GetData(0, m_valueTag) ; - if ( value ) - { - wxCFStringRef cf(value) ; - textLength = cf.AsString().length() ; - } - - if ((from == -1) && (to == -1)) - { - from = 0 ; - to = textLength ; - } - else - { - from = wxMin(textLength,wxMax(from,0)) ; - if ( to == -1 ) - to = textLength; - else - to = wxMax(0,wxMin(textLength,to)) ; - } - - sel.selStart = from ; - sel.selEnd = to ; - if ( HasFocus() ) - SetData( 0, kControlEditTextSelectionTag, &sel ) ; - else - m_selection = sel; -} - -void wxMacUnicodeTextControl::WriteText( const wxString& str ) -{ - // TODO: this MPRemoting will be moved into a remoting peer proxy for any command - if ( !wxIsMainThread() ) - { -#if wxOSX_USE_CARBON - // unfortunately CW 8 is not able to correctly deduce the template types, - // so we have to instantiate explicitly - wxMacMPRemoteGUICall( (wxTextCtrl*) GetWXPeer() , &wxTextCtrl::WriteText , str ) ; -#endif - return ; - } - - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - - if ( HasFocus() ) - { - wxCFStringRef cf(st , m_font.GetEncoding() ) ; - CFStringRef value = cf ; - SetData( 0, kControlEditTextInsertCFStringRefTag, &value ); - } - else - { - wxString val = GetStringValue() ; - long start , end ; - GetSelection( &start , &end ) ; - val.Remove( start , end - start ) ; - val.insert( start , str ) ; - SetStringValue( val ) ; - SetSelection( start + str.length() , start + str.length() ) ; - } -} - -// ---------------------------------------------------------------------------- -// MLTE control implementation (common part) -// ---------------------------------------------------------------------------- - -// if MTLE is read only, no changes at all are allowed, not even from -// procedural API, in order to allow changes via API all the same we must undo -// the readonly status while we are executing, this class helps to do so - -class wxMacEditHelper -{ -public : - wxMacEditHelper( TXNObject txn ) - { - TXNControlTag tag[] = { kTXNIOPrivilegesTag } ; - m_txn = txn ; - TXNGetTXNObjectControls( m_txn , 1 , tag , m_data ) ; - if ( m_data[0].uValue == kTXNReadOnly ) - { - TXNControlData data[] = { { kTXNReadWrite } } ; - TXNSetTXNObjectControls( m_txn , false , 1 , tag , data ) ; - } - } - - ~wxMacEditHelper() - { - TXNControlTag tag[] = { kTXNIOPrivilegesTag } ; - if ( m_data[0].uValue == kTXNReadOnly ) - TXNSetTXNObjectControls( m_txn , false , 1 , tag , m_data ) ; - } - -protected : - TXNObject m_txn ; - TXNControlData m_data[1] ; -} ; - -wxMacMLTEControl::wxMacMLTEControl( wxTextCtrl *peer ) - : wxMacControl( peer ), - wxTextWidgetImpl( peer ) -{ - SetNeedsFocusRect( true ) ; -} - -wxString wxMacMLTEControl::GetStringValue() const -{ - wxString result ; - OSStatus err ; - Size actualSize = 0; - - { -#if wxUSE_UNICODE - Handle theText ; - err = TXNGetDataEncoded( m_txn, kTXNStartOffset, kTXNEndOffset, &theText, kTXNUnicodeTextData ); - - // all done - if ( err != noErr ) - { - actualSize = 0 ; - } - else - { - actualSize = GetHandleSize( theText ) / sizeof(UniChar) ; - if ( actualSize > 0 ) - { - wxChar *ptr = NULL ; - - SetHandleSize( theText, (actualSize + 1) * sizeof(UniChar) ) ; - HLock( theText ) ; - (((UniChar*)*theText)[actualSize]) = 0 ; - wxMBConvUTF16 converter ; - size_t noChars = converter.MB2WC( NULL , (const char*)*theText , 0 ) ; - wxASSERT_MSG( noChars != wxCONV_FAILED, wxT("Unable to count the number of characters in this string!") ); - ptr = new wxChar[noChars + 1] ; - - noChars = converter.MB2WC( ptr , (const char*)*theText , noChars + 1 ) ; - wxASSERT_MSG( noChars != wxCONV_FAILED, wxT("Conversion of string failed!") ); - ptr[noChars] = 0 ; - HUnlock( theText ) ; - - ptr[actualSize] = 0 ; - result = wxString( ptr ) ; - delete [] ptr ; - } - - DisposeHandle( theText ) ; - } -#else // !wxUSE_UNICODE - Handle theText ; - err = TXNGetDataEncoded( m_txn , kTXNStartOffset, kTXNEndOffset, &theText, kTXNTextData ); - - // all done - if ( err != noErr ) - { - actualSize = 0 ; - } - else - { - actualSize = GetHandleSize( theText ) ; - if ( actualSize > 0 ) - { - HLock( theText ) ; - result = wxString( *theText , wxConvLocal , actualSize ) ; - HUnlock( theText ) ; - } - - DisposeHandle( theText ) ; - } -#endif // wxUSE_UNICODE/!wxUSE_UNICODE - } - -#if '\n' == 10 - wxMacConvertNewlines13To10( &result ) ; -#else - wxMacConvertNewlines10To13( &result ) ; -#endif - - return result ; -} - -void wxMacMLTEControl::SetStringValue( const wxString &str ) -{ - wxString st = str; - wxMacConvertNewlines10To13( &st ); - - { -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - - { - wxMacEditHelper help( m_txn ); - SetTXNData( st, kTXNStartOffset, kTXNEndOffset ); - } - - TXNSetSelection( m_txn, 0, 0 ); - TXNShowSelection( m_txn, kTXNShowStart ); - } -} - -TXNFrameOptions wxMacMLTEControl::FrameOptionsFromWXStyle( long wxStyle ) -{ - TXNFrameOptions frameOptions = kTXNDontDrawCaretWhenInactiveMask; - - frameOptions |= kTXNDoFontSubstitutionMask; - - if ( ! (wxStyle & wxTE_NOHIDESEL) ) - frameOptions |= kTXNDontDrawSelectionWhenInactiveMask ; - - if ( wxStyle & (wxHSCROLL | wxTE_DONTWRAP) ) - frameOptions |= kTXNWantHScrollBarMask ; - - if ( wxStyle & wxTE_MULTILINE ) - { - if ( ! (wxStyle & wxTE_DONTWRAP ) ) - frameOptions |= kTXNAlwaysWrapAtViewEdgeMask ; - - if ( !(wxStyle & wxTE_NO_VSCROLL) ) - { - frameOptions |= kTXNWantVScrollBarMask ; - - // The following code causes drawing problems on 10.4. Perhaps it can be restored for - // older versions of the OS, but I'm not sure it's appropriate to put a grow icon here - // anyways, as AFAIK users can't actually use it to resize the text ctrl. -// if ( frameOptions & kTXNWantHScrollBarMask ) -// frameOptions |= kTXNDrawGrowIconMask ; - } - } - else - { - frameOptions |= kTXNSingleLineOnlyMask ; - } - - return frameOptions ; -} - -void wxMacMLTEControl::AdjustCreationAttributes(const wxColour &background, - bool WXUNUSED(visible)) -{ - TXNControlTag iControlTags[] = - { - kTXNDoFontSubstitution, - kTXNWordWrapStateTag , - }; - TXNControlData iControlData[] = - { - { true }, - { kTXNNoAutoWrap }, - }; - - int toptag = WXSIZEOF( iControlTags ) ; - - if ( m_windowStyle & wxTE_MULTILINE ) - { - iControlData[1].uValue = - (m_windowStyle & wxTE_DONTWRAP) - ? kTXNNoAutoWrap - : kTXNAutoWrap; - } - - OSStatus err = TXNSetTXNObjectControls( m_txn, false, toptag, iControlTags, iControlData ) ; - verify_noerr( err ); - - // setting the default font: - // under 10.2 this causes a visible caret, therefore we avoid it - - Str255 fontName ; - SInt16 fontSize ; - Style fontStyle ; - - GetThemeFont( kThemeSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ; - - TXNTypeAttributes typeAttr[] = - { - { kTXNQDFontNameAttribute , kTXNQDFontNameAttributeSize , { (void*) fontName } } , - { kTXNQDFontSizeAttribute , kTXNFontSizeAttributeSize , { (void*) (fontSize << 16) } } , - { kTXNQDFontStyleAttribute , kTXNQDFontStyleAttributeSize , { (void*) normal } } , - } ; - - err = TXNSetTypeAttributes( - m_txn, WXSIZEOF(typeAttr), - typeAttr, kTXNStartOffset, kTXNEndOffset ); - verify_noerr( err ); - - if ( m_windowStyle & wxTE_PASSWORD ) - { - UniChar c = 0x00A5 ; - err = TXNEchoMode( m_txn , c , 0 , true ); - verify_noerr( err ); - } - - TXNBackground tback; - tback.bgType = kTXNBackgroundTypeRGB; - background.GetRGBColor( &tback.bg.color ); - TXNSetBackground( m_txn , &tback ); - - - TXNCommandEventSupportOptions options ; - if ( TXNGetCommandEventSupport( m_txn, &options ) == noErr ) - { - options |= - kTXNSupportEditCommandProcessing - | kTXNSupportEditCommandUpdating - | kTXNSupportFontCommandProcessing - | kTXNSupportFontCommandUpdating; - - // only spell check when not read-only - // use system options for the default - bool checkSpelling = false ; - if ( !(m_windowStyle & wxTE_READONLY) ) - { -#if wxUSE_SYSTEM_OPTIONS - if ( wxSystemOptions::HasOption( wxMAC_TEXTCONTROL_USE_SPELL_CHECKER ) && (wxSystemOptions::GetOptionInt( wxMAC_TEXTCONTROL_USE_SPELL_CHECKER ) == 1) ) - { - checkSpelling = true ; - } -#endif - } - - if ( checkSpelling ) - options |= - kTXNSupportSpellCheckCommandProcessing - | kTXNSupportSpellCheckCommandUpdating; - - TXNSetCommandEventSupport( m_txn , options ) ; - } -} - -void wxMacMLTEControl::SetBackgroundColour(const wxColour& col ) -{ - TXNBackground tback; - tback.bgType = kTXNBackgroundTypeRGB; - col.GetRGBColor(&tback.bg.color); - TXNSetBackground( m_txn , &tback ); -} - -static inline int wxConvertToTXN(int x) -{ - return static_cast(x / 254.0 * 72 + 0.5); -} - -void wxMacMLTEControl::TXNSetAttribute( const wxTextAttr& style , long from , long to ) -{ - TXNTypeAttributes typeAttr[4] ; - RGBColor color ; - size_t typeAttrCount = 0 ; - - TXNMargins margins; - TXNControlTag controlTags[4]; - TXNControlData controlData[4]; - size_t controlAttrCount = 0; - - TXNTab* tabs = NULL; - - bool relayout = false; - wxFont font ; - - if ( style.HasFont() ) - { - wxASSERT( typeAttrCount < WXSIZEOF(typeAttr) ); - font = style.GetFont() ; - typeAttr[typeAttrCount].tag = kTXNATSUIStyle ; - typeAttr[typeAttrCount].size = kTXNATSUIStyleSize ; - typeAttr[typeAttrCount].data.dataPtr = font.MacGetATSUStyle() ; - typeAttrCount++ ; - } - - if ( style.HasTextColour() ) - { - wxASSERT( typeAttrCount < WXSIZEOF(typeAttr) ); - style.GetTextColour().GetRGBColor( &color ); - typeAttr[typeAttrCount].tag = kTXNQDFontColorAttribute ; - typeAttr[typeAttrCount].size = kTXNQDFontColorAttributeSize ; - typeAttr[typeAttrCount].data.dataPtr = (void*) &color ; - typeAttrCount++ ; - } - - if ( style.HasAlignment() ) - { - wxASSERT( controlAttrCount < WXSIZEOF(controlTags) ); - SInt32 align; - - switch ( style.GetAlignment() ) - { - case wxTEXT_ALIGNMENT_LEFT: - align = kTXNFlushLeft; - break; - case wxTEXT_ALIGNMENT_CENTRE: - align = kTXNCenter; - break; - case wxTEXT_ALIGNMENT_RIGHT: - align = kTXNFlushRight; - break; - case wxTEXT_ALIGNMENT_JUSTIFIED: - align = kTXNFullJust; - break; - default : - case wxTEXT_ALIGNMENT_DEFAULT: - align = kTXNFlushDefault; - break; - } - - controlTags[controlAttrCount] = kTXNJustificationTag ; - controlData[controlAttrCount].sValue = align ; - controlAttrCount++ ; - } - - if ( style.HasLeftIndent() || style.HasRightIndent() ) - { - wxASSERT( controlAttrCount < WXSIZEOF(controlTags) ); - controlTags[controlAttrCount] = kTXNMarginsTag; - controlData[controlAttrCount].marginsPtr = &margins; - verify_noerr( TXNGetTXNObjectControls (m_txn, 1 , - &controlTags[controlAttrCount], &controlData[controlAttrCount]) ); - if ( style.HasLeftIndent() ) - { - margins.leftMargin = wxConvertToTXN(style.GetLeftIndent()); - } - if ( style.HasRightIndent() ) - { - margins.rightMargin = wxConvertToTXN(style.GetRightIndent()); - } - controlAttrCount++ ; - } - - if ( style.HasTabs() ) - { - const wxArrayInt& tabarray = style.GetTabs(); - // unfortunately Mac only applies a tab distance, not individually different tabs - controlTags[controlAttrCount] = kTXNTabSettingsTag; - if ( tabarray.size() > 0 ) - controlData[controlAttrCount].tabValue.value = wxConvertToTXN(tabarray[0]); - else - controlData[controlAttrCount].tabValue.value = 72 ; - - controlData[controlAttrCount].tabValue.tabType = kTXNLeftTab; - controlAttrCount++ ; - } - - // unfortunately the relayout is not automatic - if ( controlAttrCount > 0 ) - { - verify_noerr( TXNSetTXNObjectControls (m_txn, false /* don't clear all */, controlAttrCount, - controlTags, controlData) ); - relayout = true; - } - - if ( typeAttrCount > 0 ) - { - verify_noerr( TXNSetTypeAttributes( m_txn , typeAttrCount, typeAttr, from , to ) ); - if (from != to) - relayout = true; - } - - if ( tabs != NULL ) - { - delete[] tabs; - } - - if ( relayout ) - { - TXNRecalcTextLayout( m_txn ); - } -} - -void wxMacMLTEControl::SetFont(const wxFont & font, - const wxColour& foreground, - long WXUNUSED(windowStyle), - bool WXUNUSED(ignoreBlack)) -{ - wxMacEditHelper help( m_txn ) ; - TXNSetAttribute( wxTextAttr( foreground, wxNullColour, font ), kTXNStartOffset, kTXNEndOffset ) ; -} - -void wxMacMLTEControl::SetStyle( long start, long end, const wxTextAttr& style ) -{ - wxMacEditHelper help( m_txn ) ; - TXNSetAttribute( style, start, end ) ; -} - -void wxMacMLTEControl::Copy() -{ - TXNCopy( m_txn ); -} - -void wxMacMLTEControl::Cut() -{ - TXNCut( m_txn ); -} - -void wxMacMLTEControl::Paste() -{ - TXNPaste( m_txn ); -} - -bool wxMacMLTEControl::CanPaste() const -{ - return TXNIsScrapPastable() ; -} - -void wxMacMLTEControl::SetEditable(bool editable) -{ - TXNControlTag tag[] = { kTXNIOPrivilegesTag } ; - TXNControlData data[] = { { editable ? kTXNReadWrite : kTXNReadOnly } } ; - TXNSetTXNObjectControls( m_txn, false, WXSIZEOF(tag), tag, data ) ; -} - -long wxMacMLTEControl::GetLastPosition() const -{ - wxTextPos actualsize = 0 ; - - Handle theText ; -#if wxUSE_UNICODE - OSErr err = TXNGetDataEncoded( m_txn, kTXNStartOffset, kTXNEndOffset, &theText, kTXNUnicodeTextData ); - // all done - if ( err == noErr ) - { - actualsize = GetHandleSize( theText )/sizeof(UniChar); - DisposeHandle( theText ) ; - } -#else - OSErr err = TXNGetDataEncoded( m_txn, kTXNStartOffset, kTXNEndOffset, &theText, kTXNTextData ); - - // all done - if ( err == noErr ) - { - actualsize = GetHandleSize( theText ) ; - DisposeHandle( theText ) ; - } -#endif - else - { - actualsize = 0 ; - } - - return actualsize ; -} - -void wxMacMLTEControl::Replace( long from , long to , const wxString &str ) -{ - wxString value = str ; - wxMacConvertNewlines10To13( &value ) ; - - wxMacEditHelper help( m_txn ) ; -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - - TXNSetSelection( m_txn, from, to == -1 ? kTXNEndOffset : to ) ; - TXNClear( m_txn ) ; - SetTXNData( value, kTXNUseCurrentSelection, kTXNUseCurrentSelection ) ; -} - -void wxMacMLTEControl::Remove( long from , long to ) -{ -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - wxMacEditHelper help( m_txn ) ; - TXNSetSelection( m_txn , from , to ) ; - TXNClear( m_txn ) ; -} - -void wxMacMLTEControl::GetSelection( long* from, long* to) const -{ - TXNOffset f,t ; - TXNGetSelection( m_txn , &f , &t ) ; - *from = f; - *to = t; -} - -void wxMacMLTEControl::SetSelection( long from , long to ) -{ -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - - // change the selection - if ((from == -1) && (to == -1)) - TXNSelectAll( m_txn ); - else - TXNSetSelection( m_txn, from, to == -1 ? kTXNEndOffset : to ); - - TXNShowSelection( m_txn, kTXNShowStart ); -} - -void wxMacMLTEControl::WriteText( const wxString& str ) -{ - // TODO: this MPRemoting will be moved into a remoting peer proxy for any command - if ( !wxIsMainThread() ) - { -#if wxOSX_USE_CARBON - // unfortunately CW 8 is not able to correctly deduce the template types, - // so we have to instantiate explicitly - wxMacMPRemoteGUICall( (wxTextCtrl*) GetWXPeer() , &wxTextCtrl::WriteText , str ) ; -#endif - return ; - } - - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - - long start , end , dummy ; - - GetSelection( &start , &dummy ) ; -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - - { - wxMacEditHelper helper( m_txn ) ; - SetTXNData( st, kTXNUseCurrentSelection, kTXNUseCurrentSelection ) ; - } - - GetSelection( &dummy, &end ) ; - - // TODO: SetStyle( start , end , GetDefaultStyle() ) ; -} - -void wxMacMLTEControl::Clear() -{ -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - wxMacEditHelper st( m_txn ) ; - TXNSetSelection( m_txn , kTXNStartOffset , kTXNEndOffset ) ; - TXNClear( m_txn ) ; -} - -bool wxMacMLTEControl::CanUndo() const -{ - return TXNCanUndo( m_txn , NULL ) ; -} - -void wxMacMLTEControl::Undo() -{ - TXNUndo( m_txn ) ; -} - -bool wxMacMLTEControl::CanRedo() const -{ - return TXNCanRedo( m_txn , NULL ) ; -} - -void wxMacMLTEControl::Redo() -{ - TXNRedo( m_txn ) ; -} - -int wxMacMLTEControl::GetNumberOfLines() const -{ - ItemCount lines = 0 ; - TXNGetLineCount( m_txn, &lines ) ; - - return lines ; -} - -long wxMacMLTEControl::XYToPosition(long x, long y) const -{ - Point curpt ; - wxTextPos lastpos ; - - // TODO: find a better implementation : while we can get the - // line metrics of a certain line, we don't get its starting - // position, so it would probably be rather a binary search - // for the start position - long xpos = 0, ypos = 0 ; - int lastHeight = 0 ; - ItemCount n ; - - lastpos = GetLastPosition() ; - for ( n = 0 ; n <= (ItemCount) lastpos ; ++n ) - { - if ( y == ypos && x == xpos ) - return n ; - - TXNOffsetToPoint( m_txn, n, &curpt ) ; - - if ( curpt.v > lastHeight ) - { - xpos = 0 ; - if ( n > 0 ) - ++ypos ; - - lastHeight = curpt.v ; - } - else - ++xpos ; - } - - return 0 ; -} - -bool wxMacMLTEControl::PositionToXY( long pos, long *x, long *y ) const -{ - Point curpt ; - wxTextPos lastpos ; - - if ( y ) - *y = 0 ; - if ( x ) - *x = 0 ; - - lastpos = GetLastPosition() ; - if ( pos <= lastpos ) - { - // TODO: find a better implementation - while we can get the - // line metrics of a certain line, we don't get its starting - // position, so it would probably be rather a binary search - // for the start position - long xpos = 0, ypos = 0 ; - int lastHeight = 0 ; - ItemCount n ; - - for ( n = 0 ; n <= (ItemCount) pos ; ++n ) - { - TXNOffsetToPoint( m_txn, n, &curpt ) ; - - if ( curpt.v > lastHeight ) - { - xpos = 0 ; - if ( n > 0 ) - ++ypos ; - - lastHeight = curpt.v ; - } - else - ++xpos ; - } - - if ( y ) - *y = ypos ; - if ( x ) - *x = xpos ; - } - - return false ; -} - -void wxMacMLTEControl::ShowPosition( long pos ) -{ - Point current, desired ; - TXNOffset selstart, selend; - - TXNGetSelection( m_txn, &selstart, &selend ); - TXNOffsetToPoint( m_txn, selstart, ¤t ); - TXNOffsetToPoint( m_txn, pos, &desired ); - - // TODO: use HIPoints for 10.3 and above - - OSErr theErr = noErr; - long dv = desired.v - current.v; - long dh = desired.h - current.h; - TXNShowSelection( m_txn, kTXNShowStart ) ; // NB: should this be kTXNShowStart or kTXNShowEnd ?? - theErr = TXNScroll( m_txn, kTXNScrollUnitsInPixels, kTXNScrollUnitsInPixels, &dv, &dh ); - - // there will be an error returned for classic MLTE implementation when the control is - // invisible, but HITextView works correctly, so we don't assert that one - // wxASSERT_MSG( theErr == noErr, wxT("TXNScroll returned an error!") ); -} - -void wxMacMLTEControl::SetTXNData( const wxString& st, TXNOffset start, TXNOffset end ) -{ -#if wxUSE_UNICODE - wxMBConvUTF16 converter ; - ByteCount byteBufferLen = converter.WC2MB( NULL, st.wc_str(), 0 ) ; - wxASSERT_MSG( byteBufferLen != wxCONV_FAILED, - wxT("Conversion to UTF-16 unexpectedly failed") ); - UniChar *unibuf = (UniChar*)malloc( byteBufferLen + 2 ) ; // 2 for NUL in UTF-16 - converter.WC2MB( (char*)unibuf, st.wc_str(), byteBufferLen + 2 ) ; - TXNSetData( m_txn, kTXNUnicodeTextData, (void*)unibuf, byteBufferLen, start, end ) ; - free( unibuf ) ; -#else // !wxUSE_UNICODE - wxCharBuffer text = st.mb_str( wxConvLocal ) ; - TXNSetData( m_txn, kTXNTextData, (void*)text.data(), strlen( text ), start, end ) ; -#endif // wxUSE_UNICODE/!wxUSE_UNICODE -} - -wxString wxMacMLTEControl::GetLineText(long lineNo) const -{ - wxString line ; - - if ( lineNo < GetNumberOfLines() ) - { - Point firstPoint; - Fixed lineWidth, lineHeight, currentHeight; - long ypos ; - - // get the first possible position in the control - TXNOffsetToPoint(m_txn, 0, &firstPoint); - - // Iterate through the lines until we reach the one we want, - // adding to our current y pixel point position - ypos = 0 ; - currentHeight = 0; - while (ypos < lineNo) - { - TXNGetLineMetrics(m_txn, ypos++, &lineWidth, &lineHeight); - currentHeight += lineHeight; - } - - Point thePoint = { firstPoint.v + (currentHeight >> 16), firstPoint.h + (0) }; - TXNOffset theOffset; - TXNPointToOffset(m_txn, thePoint, &theOffset); - - wxString content = GetStringValue() ; - Point currentPoint = thePoint; - while (thePoint.v == currentPoint.v && theOffset < content.length()) - { - line += content[theOffset]; - TXNOffsetToPoint(m_txn, ++theOffset, ¤tPoint); - } - } - - return line ; -} - -int wxMacMLTEControl::GetLineLength(long lineNo) const -{ - int theLength = 0; - - if ( lineNo < GetNumberOfLines() ) - { - Point firstPoint; - Fixed lineWidth, lineHeight, currentHeight; - long ypos; - - // get the first possible position in the control - TXNOffsetToPoint(m_txn, 0, &firstPoint); - - // Iterate through the lines until we reach the one we want, - // adding to our current y pixel point position - ypos = 0; - currentHeight = 0; - while (ypos < lineNo) - { - TXNGetLineMetrics(m_txn, ypos++, &lineWidth, &lineHeight); - currentHeight += lineHeight; - } - - Point thePoint = { firstPoint.v + (currentHeight >> 16), firstPoint.h + (0) }; - TXNOffset theOffset; - TXNPointToOffset(m_txn, thePoint, &theOffset); - - wxString content = GetStringValue() ; - Point currentPoint = thePoint; - while (thePoint.v == currentPoint.v && theOffset < content.length()) - { - ++theLength; - TXNOffsetToPoint(m_txn, ++theOffset, ¤tPoint); - } - } - - return theLength ; -} - -// ---------------------------------------------------------------------------- -// MLTE control implementation (OSX part) -// ---------------------------------------------------------------------------- - -// tiger multi-line textcontrols with no CR in the entire content -// don't scroll automatically, so we need a hack. -// This attempt only works 'before' the key (ie before CallNextEventHandler) -// is processed, thus the scrolling always occurs one character too late, but -// better than nothing ... - -static const EventTypeSpec eventList[] = -{ - { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } , -} ; - -static pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - wxMacMLTEHIViewControl* focus = (wxMacMLTEHIViewControl*) data ; - - switch ( GetEventKind( event ) ) - { - case kEventTextInputUnicodeForKeyEvent : - { - TXNOffset from , to ; - TXNGetSelection( focus->GetTXNObject() , &from , &to ) ; - if ( from == to ) - TXNShowSelection( focus->GetTXNObject() , kTXNShowStart ); - result = CallNextEventHandler(handler,event); - break; - } - default: - break ; - } - - return result ; -} - -static pascal OSStatus wxMacTextControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - switch ( GetEventClass( event ) ) - { - case kEventClassTextInput : - result = wxMacUnicodeTextEventHandler( handler , event , data ) ; - break ; - - default : - break ; - } - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacTextControlEventHandler ) - -wxMacMLTEHIViewControl::wxMacMLTEHIViewControl( wxTextCtrl *wxPeer, - const wxString& str, - const wxPoint& pos, - const wxSize& size, long style ) : wxMacMLTEControl( wxPeer ) -{ - m_font = wxPeer->GetFont() ; - m_windowStyle = style ; - Rect bounds = wxMacGetBoundsForControl( wxPeer , pos , size ) ; - wxString st = str ; - wxMacConvertNewlines10To13( &st ) ; - - HIRect hr = { - { bounds.left , bounds.top }, - { bounds.right - bounds.left, bounds.bottom - bounds.top } } ; - - m_scrollView = NULL ; - TXNFrameOptions frameOptions = FrameOptionsFromWXStyle( style ) ; - if (( frameOptions & (kTXNWantVScrollBarMask | kTXNWantHScrollBarMask)) || (frameOptions &kTXNSingleLineOnlyMask)) - { - if ( frameOptions & (kTXNWantVScrollBarMask | kTXNWantHScrollBarMask) ) - { - HIScrollViewCreate( - (frameOptions & kTXNWantHScrollBarMask ? kHIScrollViewOptionsHorizScroll : 0) - | (frameOptions & kTXNWantVScrollBarMask ? kHIScrollViewOptionsVertScroll : 0) , - &m_scrollView ) ; - } - else - { - HIScrollViewCreate(kHIScrollViewOptionsVertScroll,&m_scrollView); - HIScrollViewSetScrollBarAutoHide(m_scrollView,true); - } - - HIViewSetFrame( m_scrollView, &hr ); - HIViewSetVisible( m_scrollView, true ); - } - - m_textView = NULL ; - HITextViewCreate( NULL , 0, frameOptions , &m_textView ) ; - m_txn = HITextViewGetTXNObject( m_textView ) ; - HIViewSetVisible( m_textView , true ) ; - if ( m_scrollView ) - { - HIViewAddSubview( m_scrollView , m_textView ) ; - m_controlRef = m_scrollView ; - InstallEventHandler( (WXWidget) m_textView ) ; - } - else - { - HIViewSetFrame( m_textView, &hr ); - m_controlRef = m_textView ; - } - - AdjustCreationAttributes( *wxWHITE , true ) ; -#ifndef __LP64__ - wxMacWindowClipper c( GetWXPeer() ) ; -#endif - SetTXNData( st , kTXNStartOffset, kTXNEndOffset ) ; - - TXNSetSelection( m_txn, 0, 0 ); - TXNShowSelection( m_txn, kTXNShowStart ); - - ::InstallControlEventHandler( m_textView , GetwxMacTextControlEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, this, - NULL); -} - -wxMacMLTEHIViewControl::~wxMacMLTEHIViewControl() -{ -} - -bool wxMacMLTEHIViewControl::SetFocus() -{ - return SetKeyboardFocus( GetControlOwner( m_textView ), m_textView, kControlFocusNextPart ) == noErr ; -} - -bool wxMacMLTEHIViewControl::HasFocus() const -{ - ControlRef control ; - if ( GetUserFocusWindow() == NULL ) - return false; - - GetKeyboardFocus( GetUserFocusWindow() , &control ) ; - return control == m_textView ; -} - -void wxMacMLTEHIViewControl::SetBackgroundColour(const wxColour& col ) -{ - HITextViewSetBackgroundColor( m_textView, col.GetPixel() ); -} - -#endif // wxUSE_TEXTCTRL diff --git a/src/osx/carbon/tglbtn.cpp b/src/osx/carbon/tglbtn.cpp deleted file mode 100644 index d4593c0a24..0000000000 --- a/src/osx/carbon/tglbtn.cpp +++ /dev/null @@ -1,68 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/tglbtn.cpp -// Purpose: Definition of the wxToggleButton class, which implements a -// toggle button under wxMac. -// Author: Stefan Csomor -// Modified by: -// Created: 08.02.01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declatations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -#include "wx/wxprec.h" - -#if wxUSE_TOGGLEBTN - -#include "wx/tglbtn.h" -#include "wx/osx/private.h" -// Button - -wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - - wxMacControl* peer = new wxMacControl(wxpeer) ; - verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , - kControlBevelButtonNormalBevel , kControlBehaviorToggles , NULL , 0 , 0 , 0 , peer->GetControlRefAddr() ) ); - return peer; -} - -wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID WXUNUSED(id), - const wxBitmap& label, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* peer = new wxMacControl(wxpeer) ; - - ControlButtonContentInfo info; - wxMacCreateBitmapButton( &info, label ); - verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , - kControlBevelButtonNormalBevel , kControlBehaviorOffsetContents | kControlBehaviorToggles , &info , 0 , 0 , 0 , peer->GetControlRefAddr() ) ); - - wxMacReleaseBitmapButton( &info ) ; - return peer; -} - - -#endif // wxUSE_TOGGLEBTN - diff --git a/src/osx/carbon/timer.cpp b/src/osx/carbon/timer.cpp deleted file mode 100644 index be218af294..0000000000 --- a/src/osx/carbon/timer.cpp +++ /dev/null @@ -1,98 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/timer.cpp -// Purpose: wxTimer implementation -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_TIMER - -#ifndef WX_PRECOMP - #include "wx/dynarray.h" -#endif - -#include "wx/osx/private/timer.h" - -#ifdef __WXMAC__ - #include "wx/osx/private.h" -#endif - -struct MacTimerInfo -{ - wxCarbonTimerImpl* m_timer; - EventLoopTimerUPP m_proc; - EventLoopTimerRef m_timerRef; -}; - -static pascal void wxProcessTimer( EventLoopTimerRef WXUNUSED(theTimer), void *data ) -{ - if ( data == NULL ) - return; - - wxCarbonTimerImpl* timer = (wxCarbonTimerImpl*)data; - - if ( timer->IsOneShot() ) - timer->Stop(); - - timer->Notify(); -} - -wxCarbonTimerImpl::wxCarbonTimerImpl(wxTimer *timer) - : wxTimerImpl(timer) -{ - m_info = new MacTimerInfo(); - m_info->m_timer = this; - m_info->m_proc = NULL; - m_info->m_timerRef = kInvalidID; -} - -bool wxCarbonTimerImpl::IsRunning() const -{ - return ( m_info->m_timerRef != kInvalidID ); -} - -wxCarbonTimerImpl::~wxCarbonTimerImpl() -{ - delete m_info; -} - -bool wxCarbonTimerImpl::Start( int milliseconds, bool mode ) -{ - (void)wxTimerImpl::Start(milliseconds, mode); - - wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") ); - wxCHECK_MSG( m_info->m_timerRef == NULL, false, wxT("attempting to restart a timer") ); - - m_info->m_timer = this; - m_info->m_proc = NewEventLoopTimerUPP( &wxProcessTimer ); - - OSStatus err = InstallEventLoopTimer( - GetMainEventLoop(), - m_milli*kEventDurationMillisecond, - IsOneShot() ? 0 : m_milli * kEventDurationMillisecond, - m_info->m_proc, - this, - &m_info->m_timerRef ); - verify_noerr( err ); - - return true; -} - -void wxCarbonTimerImpl::Stop() -{ - if (m_info->m_timerRef) - RemoveEventLoopTimer( m_info->m_timerRef ); - if (m_info->m_proc) - DisposeEventLoopTimerUPP( m_info->m_proc ); - - m_info->m_proc = NULL; - m_info->m_timerRef = kInvalidID; -} - -#endif // wxUSE_TIMER - diff --git a/src/osx/carbon/toolbar.cpp b/src/osx/carbon/toolbar.cpp deleted file mode 100644 index a7372ff51d..0000000000 --- a/src/osx/carbon/toolbar.cpp +++ /dev/null @@ -1,1806 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/toolbar.cpp -// Purpose: wxToolBar -// Author: Stefan Csomor -// Modified by: -// Created: 04/01/98 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_TOOLBAR - -#include "wx/toolbar.h" - -#ifndef WX_PRECOMP - #include "wx/wx.h" -#endif - -#include "wx/app.h" -#include "wx/osx/private.h" -#include "wx/geometry.h" -#include "wx/sysopt.h" - - -const short kwxMacToolBarToolDefaultWidth = 16; -const short kwxMacToolBarToolDefaultHeight = 16; -const short kwxMacToolBarTopMargin = 4; -const short kwxMacToolBarLeftMargin = 4; -const short kwxMacToolBorder = 0; -const short kwxMacToolSpacing = 6; - -wxBEGIN_EVENT_TABLE(wxToolBar, wxToolBarBase) - EVT_PAINT( wxToolBar::OnPaint ) -wxEND_EVENT_TABLE() - - -#pragma mark - -#pragma mark Tool Implementation - -// ---------------------------------------------------------------------------- -// private classes -// ---------------------------------------------------------------------------- - -// We have a dual implementation for each tool, ControlRef and HIToolbarItemRef - -// when embedding native controls in the native toolbar we must make sure the -// control does not get deleted behind our backs, so the retain count gets increased -// (after creation it is 1), first be the creation of the custom HIToolbarItem wrapper -// object, and second by the code 'creating' the custom HIView (which is the same as the -// already existing native control, therefore we just increase the ref count) -// when this view is removed from the native toolbar its count gets decremented again -// and when the HITooolbarItem wrapper object gets destroyed it is decremented as well -// so in the end the control lives with a refcount of one and can be disposed of by the -// wxControl code. For embedded controls on a non-native toolbar this ref count is less -// so we can only test against a range, not a specific value of the refcount. - -class wxToolBarTool : public wxToolBarToolBase -{ -public: - wxToolBarTool( - wxToolBar *tbar, - int id, - const wxString& label, - const wxBitmap& bmpNormal, - const wxBitmap& bmpDisabled, - wxItemKind kind, - wxObject *clientData, - const wxString& shortHelp, - const wxString& longHelp ); - - wxToolBarTool(wxToolBar *tbar, wxControl *control, const wxString& label) - : wxToolBarToolBase(tbar, control, label) - { - Init(); - if (control != NULL) - SetControlHandle( (ControlRef) control->GetHandle() ); - } - - virtual ~wxToolBarTool() - { - ClearControl(); - } - - WXWidget GetControlHandle() - { - return (WXWidget) m_controlHandle; - } - - void SetControlHandle( ControlRef handle ) - { - m_controlHandle = handle; - } - - void SetPosition( const wxPoint& position ); - - void ClearControl() - { - if ( m_controlHandle ) - { - if ( !IsControl() ) - DisposeControl( m_controlHandle ); - else - { - // the embedded control is not under the responsibility of the tool, it gets disposed of in the - // proper wxControl destructor - } - m_controlHandle = NULL ; - } - -#if wxOSX_USE_NATIVE_TOOLBAR - if ( m_toolbarItemRef ) - { - wxTheApp->MacAddToAutorelease(m_toolbarItemRef); - CFRelease(m_toolbarItemRef); - m_toolbarItemRef = NULL; - } -#endif // wxOSX_USE_NATIVE_TOOLBAR - } - - wxSize GetSize() const - { - wxSize curSize; - - if ( IsControl() ) - { - curSize = GetControl()->GetSize(); - } - else if ( IsButton() ) - { - curSize = GetToolBar()->GetToolSize(); - } - else - { - // separator size - curSize = GetToolBar()->GetToolSize(); - if ( GetToolBar()->GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT) ) - curSize.y /= 4; - else - curSize.x /= 4; - } - - return curSize; - } - - wxPoint GetPosition() const - { - return wxPoint( m_x, m_y ); - } - - virtual bool Enable( bool enable ); - - void UpdateToggleImage( bool toggle ); - - virtual bool Toggle(bool toggle) - { - if ( wxToolBarToolBase::Toggle( toggle ) == false ) - return false; - - UpdateToggleImage(toggle); - return true; - } - - void UpdateHelpStrings() - { -#if wxOSX_USE_NATIVE_TOOLBAR - if ( m_toolbarItemRef ) - { - wxFontEncoding enc = GetToolBarFontEncoding(); - - HIToolbarItemSetHelpText( - m_toolbarItemRef, - wxCFStringRef( GetShortHelp(), enc ), - wxCFStringRef( GetLongHelp(), enc ) ); - } -#endif - } - - virtual bool SetShortHelp(const wxString& help) - { - if ( wxToolBarToolBase::SetShortHelp( help ) == false ) - return false; - - UpdateHelpStrings(); - return true; - } - - virtual bool SetLongHelp(const wxString& help) - { - if ( wxToolBarToolBase::SetLongHelp( help ) == false ) - return false; - - UpdateHelpStrings(); - return true; - } - - virtual void SetLabel(const wxString& label) - { - wxToolBarToolBase::SetLabel(label); -#if wxOSX_USE_NATIVE_TOOLBAR - if ( m_toolbarItemRef ) - { - // strip mnemonics from the label for compatibility with the usual - // labels in wxStaticText sense - wxString labelStr = wxStripMenuCodes(label); - - HIToolbarItemSetLabel( - m_toolbarItemRef, - wxCFStringRef(labelStr, GetToolBarFontEncoding()) ); - } -#endif - } - -#if wxOSX_USE_NATIVE_TOOLBAR - void SetToolbarItemRef( HIToolbarItemRef ref ) - { - if ( m_controlHandle ) - HideControl( m_controlHandle ); - if ( m_toolbarItemRef ) - CFRelease( m_toolbarItemRef ); - - m_toolbarItemRef = ref; - UpdateHelpStrings(); - } - - HIToolbarItemRef GetToolbarItemRef() const - { - return m_toolbarItemRef; - } - - void SetIndex( CFIndex idx ) - { - m_index = idx; - } - - CFIndex GetIndex() const - { - return m_index; - } -#endif // wxOSX_USE_NATIVE_TOOLBAR - -private: -#if wxOSX_USE_NATIVE_TOOLBAR - wxFontEncoding GetToolBarFontEncoding() const - { - wxFont f; - if ( GetToolBar() ) - f = GetToolBar()->GetFont(); - return f.IsOk() ? f.GetEncoding() : wxFont::GetDefaultEncoding(); - } -#endif // wxOSX_USE_NATIVE_TOOLBAR - - void Init() - { - m_controlHandle = NULL; - -#if wxOSX_USE_NATIVE_TOOLBAR - m_toolbarItemRef = NULL; - m_index = -1; -#endif - } - - ControlRef m_controlHandle; - wxCoord m_x; - wxCoord m_y; - -#if wxOSX_USE_NATIVE_TOOLBAR - HIToolbarItemRef m_toolbarItemRef; - // position in its toolbar, -1 means not inserted - CFIndex m_index; -#endif -}; - -static const EventTypeSpec eventList[] = -{ - { kEventClassControl, kEventControlHit }, - { kEventClassControl, kEventControlHitTest }, -}; - -static pascal OSStatus wxMacToolBarToolControlEventHandler( EventHandlerCallRef WXUNUSED(handler), EventRef event, void *data ) -{ - OSStatus result = eventNotHandledErr; - ControlRef controlRef; - wxMacCarbonEvent cEvent( event ); - - cEvent.GetParameter( kEventParamDirectObject, &controlRef ); - - switch ( GetEventKind( event ) ) - { - case kEventControlHit: - { - wxToolBarTool *tbartool = (wxToolBarTool*)data; - wxToolBar *tbar = tbartool != NULL ? (wxToolBar*) (tbartool->GetToolBar()) : NULL; - if ((tbartool != NULL) && tbartool->CanBeToggled()) - { - bool shouldToggle; - - shouldToggle = !tbartool->IsToggled(); - - tbar->ToggleTool( tbartool->GetId(), shouldToggle ); - } - - if (tbartool != NULL) - tbar->OnLeftClick( tbartool->GetId(), tbartool->IsToggled() ); - result = noErr; - } - break; - - case kEventControlHitTest: - { - HIPoint pt = cEvent.GetParameter(kEventParamMouseLocation); - HIRect rect; - HIViewGetBounds( controlRef, &rect ); - - ControlPartCode pc = kControlNoPart; - if ( CGRectContainsPoint( rect, pt ) ) - pc = kControlIconPart; - cEvent.SetParameter( kEventParamControlPart, typeControlPartCode, pc ); - result = noErr; - } - break; - - default: - break; - } - - return result; -} - -static pascal OSStatus wxMacToolBarToolEventHandler( EventHandlerCallRef handler, EventRef event, void *data ) -{ - OSStatus result = eventNotHandledErr; - - switch ( GetEventClass( event ) ) - { - case kEventClassControl: - result = wxMacToolBarToolControlEventHandler( handler, event, data ); - break; - - default: - break; - } - - return result; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacToolBarToolEventHandler ) - -#if wxOSX_USE_NATIVE_TOOLBAR - -static const EventTypeSpec toolBarEventList[] = -{ - { kEventClassToolbarItem, kEventToolbarItemPerformAction }, -}; - -static pascal OSStatus wxMacToolBarCommandEventHandler( EventHandlerCallRef WXUNUSED(handler), EventRef event, void *data ) -{ - OSStatus result = eventNotHandledErr; - - switch ( GetEventKind( event ) ) - { - case kEventToolbarItemPerformAction: - { - wxToolBarTool* tbartool = (wxToolBarTool*) data; - if ( tbartool != NULL ) - { - wxToolBar *tbar = (wxToolBar*)(tbartool->GetToolBar()); - int toolID = tbartool->GetId(); - - if ( tbartool->CanBeToggled() ) - { - if ( tbar != NULL ) - tbar->ToggleTool(toolID, !tbartool->IsToggled() ); - } - - if ( tbar != NULL ) - tbar->OnLeftClick( toolID, tbartool->IsToggled() ); - result = noErr; - } - } - break; - - default: - break; - } - - return result; -} - -static pascal OSStatus wxMacToolBarEventHandler( EventHandlerCallRef handler, EventRef event, void *data ) -{ - OSStatus result = eventNotHandledErr; - - switch ( GetEventClass( event ) ) - { - case kEventClassToolbarItem: - result = wxMacToolBarCommandEventHandler( handler, event, data ); - break; - - default: - break; - } - - return result; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacToolBarEventHandler ) - -#endif - -bool wxToolBarTool::Enable( bool enable ) -{ - if ( wxToolBarToolBase::Enable( enable ) == false ) - return false; - - if ( IsControl() ) - { - GetControl()->Enable( enable ); - } - else if ( IsButton() ) - { -#if wxOSX_USE_NATIVE_TOOLBAR - if ( m_toolbarItemRef != NULL ) - HIToolbarItemSetEnabled( m_toolbarItemRef, enable ); -#endif - - if ( m_controlHandle != NULL ) - { - if ( enable ) - EnableControl( m_controlHandle ); - else - DisableControl( m_controlHandle ); - } - } - - return true; -} - -void wxToolBarTool::SetPosition( const wxPoint& position ) -{ - m_x = position.x; - m_y = position.y; - - int mac_x = position.x; - int mac_y = position.y; - - if ( IsButton() ) - { - Rect contrlRect; - GetControlBounds( m_controlHandle, &contrlRect ); - int former_mac_x = contrlRect.left; - int former_mac_y = contrlRect.top; - GetToolBar()->GetToolSize(); - - if ( mac_x != former_mac_x || mac_y != former_mac_y ) - { - ::MoveControl( m_controlHandle, mac_x, mac_y ); - } - } - else if ( IsControl() ) - { - // embedded native controls are moved by the OS -#if wxOSX_USE_NATIVE_TOOLBAR - if ( ((wxToolBar*)GetToolBar())->MacWantsNativeToolbar() == false ) -#endif - { - GetControl()->Move( position ); - } - } - else - { - // separator - Rect contrlRect; - GetControlBounds( m_controlHandle, &contrlRect ); - int former_mac_x = contrlRect.left; - int former_mac_y = contrlRect.top; - - if ( mac_x != former_mac_x || mac_y != former_mac_y ) - ::MoveControl( m_controlHandle, mac_x, mac_y ); - } -} - -void wxToolBarTool::UpdateToggleImage( bool toggle ) -{ - if ( toggle ) - { - int w = m_bmpNormal.GetWidth() + 6; - int h = m_bmpNormal.GetHeight() + 6; - wxBitmap bmp( w, h ); - wxMemoryDC dc; - - dc.SelectObject( bmp ); - wxColour mid_grey_75 = wxColour(128, 128, 128, 196); - wxColour light_grey_75 = wxColour(196, 196, 196, 196); - dc.GradientFillLinear( wxRect(1, 1, w - 1, h-1), - light_grey_75, mid_grey_75, wxNORTH); - wxColour black_50 = wxColour(0, 0, 0, 127); - dc.SetPen( wxPen(black_50) ); - dc.DrawRoundedRectangle( 0, 0, w, h, 1.5 ); - dc.DrawBitmap( m_bmpNormal, 3, 3, true ); - dc.SelectObject( wxNullBitmap ); - ControlButtonContentInfo info; - wxMacCreateBitmapButton( &info, bmp ); - SetControlData( m_controlHandle, 0, kControlIconContentTag, sizeof(info), (Ptr)&info ); -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_toolbarItemRef != NULL) - { - ControlButtonContentInfo info2; - wxMacCreateBitmapButton( &info2, bmp, kControlContentCGImageRef); - HIToolbarItemSetImage( m_toolbarItemRef, info2.u.imageRef ); - wxMacReleaseBitmapButton( &info2 ); - } -#endif - wxMacReleaseBitmapButton( &info ); - } - else - { - ControlButtonContentInfo info; - wxMacCreateBitmapButton( &info, m_bmpNormal ); - SetControlData( m_controlHandle, 0, kControlIconContentTag, sizeof(info), (Ptr)&info ); -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_toolbarItemRef != NULL) - { - ControlButtonContentInfo info2; - wxMacCreateBitmapButton( &info2, m_bmpNormal, kControlContentCGImageRef); - HIToolbarItemSetImage( m_toolbarItemRef, info2.u.imageRef ); - wxMacReleaseBitmapButton( &info2 ); - } -#endif - wxMacReleaseBitmapButton( &info ); - } - - IconTransformType transform = toggle ? kTransformSelected : kTransformNone; - SetControlData( - m_controlHandle, 0, kControlIconTransformTag, - sizeof(transform), (Ptr)&transform ); - HIViewSetNeedsDisplay( m_controlHandle, true ); - -} - -wxToolBarTool::wxToolBarTool( - wxToolBar *tbar, - int id, - const wxString& label, - const wxBitmap& bmpNormal, - const wxBitmap& bmpDisabled, - wxItemKind kind, - wxObject *clientData, - const wxString& shortHelp, - const wxString& longHelp ) - : - wxToolBarToolBase( - tbar, id, label, bmpNormal, bmpDisabled, kind, - clientData, shortHelp, longHelp ) -{ - Init(); -} - -#pragma mark - -#pragma mark Toolbar Implementation - -wxToolBarToolBase *wxToolBar::CreateTool( - int id, - const wxString& label, - const wxBitmap& bmpNormal, - const wxBitmap& bmpDisabled, - wxItemKind kind, - wxObject *clientData, - const wxString& shortHelp, - const wxString& longHelp ) -{ - return new wxToolBarTool( - this, id, label, bmpNormal, bmpDisabled, kind, - clientData, shortHelp, longHelp ); -} - -wxToolBarToolBase * -wxToolBar::CreateTool(wxControl *control, const wxString& label) -{ - return new wxToolBarTool(this, control, label); -} - -void wxToolBar::Init() -{ - m_maxWidth = -1; - m_maxHeight = -1; - m_defaultWidth = kwxMacToolBarToolDefaultWidth; - m_defaultHeight = kwxMacToolBarToolDefaultHeight; - -#if wxOSX_USE_NATIVE_TOOLBAR - m_macToolbar = NULL; - m_macUsesNativeToolbar = false; -#endif -} - -#define kControlToolbarItemClassID CFSTR( "org.wxwidgets.controltoolbaritem" ) - -const EventTypeSpec kEvents[] = -{ - { kEventClassHIObject, kEventHIObjectConstruct }, - { kEventClassHIObject, kEventHIObjectInitialize }, - { kEventClassHIObject, kEventHIObjectDestruct }, - - { kEventClassToolbarItem, kEventToolbarItemCreateCustomView } -}; - -const EventTypeSpec kViewEvents[] = -{ - { kEventClassControl, kEventControlGetSizeConstraints } -}; - -struct ControlToolbarItem -{ - HIToolbarItemRef toolbarItem; - HIViewRef viewRef; - wxSize lastValidSize ; -}; - -static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData ) -{ - OSStatus result = eventNotHandledErr; - ControlToolbarItem* object = (ControlToolbarItem*)inUserData; - - switch ( GetEventClass( inEvent ) ) - { - case kEventClassHIObject: - switch ( GetEventKind( inEvent ) ) - { - case kEventHIObjectConstruct: - { - HIObjectRef toolbarItem; - ControlToolbarItem* item; - - GetEventParameter( inEvent, kEventParamHIObjectInstance, typeHIObjectRef, NULL, - sizeof( HIObjectRef ), NULL, &toolbarItem ); - - item = (ControlToolbarItem*) malloc(sizeof(ControlToolbarItem)) ; - item->toolbarItem = toolbarItem ; - item->lastValidSize = wxSize(-1,-1); - item->viewRef = NULL ; - - SetEventParameter( inEvent, kEventParamHIObjectInstance, typeVoidPtr, sizeof( void * ), &item ); - - result = noErr ; - } - break; - - case kEventHIObjectInitialize: - result = CallNextEventHandler( inCallRef, inEvent ); - if ( result == noErr ) - { - CFDataRef data; - GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL, - sizeof( CFTypeRef ), NULL, &data ); - - HIViewRef viewRef ; - - wxASSERT_MSG( CFDataGetLength( data ) == sizeof( viewRef ) , wxT("Illegal Data passed") ) ; - memcpy( &viewRef , CFDataGetBytePtr( data ) , sizeof( viewRef ) ) ; - - object->viewRef = (HIViewRef) viewRef ; - // make sure we keep that control during our lifetime - CFRetain( object->viewRef ) ; - - verify_noerr(InstallEventHandler( GetControlEventTarget( viewRef ), ControlToolbarItemHandler, - GetEventTypeCount( kViewEvents ), kViewEvents, object, NULL )); - result = noErr ; - } - break; - - case kEventHIObjectDestruct: - { - HIViewRef viewRef = object->viewRef ; - if( viewRef && IsValidControlHandle( viewRef) ) - { - // depending whether the wxControl corresponding to this HIView has already been destroyed or - // not, ref counts differ, so we cannot assert a special value - CFIndex count = CFGetRetainCount( viewRef ) ; - if ( count >= 1 ) - { - CFRelease( viewRef ) ; - } - } - free( object ) ; - result = noErr; - } - break; - } - break; - - case kEventClassToolbarItem: - switch ( GetEventKind( inEvent ) ) - { - case kEventToolbarItemCreateCustomView: - { - HIViewRef viewRef = object->viewRef ; - HIViewRemoveFromSuperview( viewRef ) ; - HIViewSetVisible(viewRef, true) ; - CFRetain( viewRef ) ; - result = SetEventParameter( inEvent, kEventParamControlRef, typeControlRef, sizeof( HIViewRef ), &viewRef ); - } - break; - } - break; - - case kEventClassControl: - switch ( GetEventKind( inEvent ) ) - { - case kEventControlGetSizeConstraints: - { - wxWindow* wxwindow = wxFindWindowFromWXWidget( (WXWidget) object->viewRef ) ; - if ( wxwindow ) - { - // during toolbar layout the native window sometimes gets negative sizes, - // sometimes it just gets shrunk behind our back, so in order to avoid - // ever shrinking more, once a valid size is captured, we keep it - - wxSize sz = object->lastValidSize; - if ( sz.x <= 0 || sz.y <= 0 ) - { - sz = wxwindow->GetSize() ; - sz.x -= wxwindow->MacGetLeftBorderSize() + wxwindow->MacGetRightBorderSize(); - sz.y -= wxwindow->MacGetTopBorderSize() + wxwindow->MacGetBottomBorderSize(); - if ( sz.x > 0 && sz.y > 0 ) - object->lastValidSize = sz ; - else - sz = wxSize(0,0) ; - } - - // Extra width to avoid edge of combobox being cut off - sz.x += 3; - - HISize min, max; - min.width = max.width = sz.x ; - min.height = max.height = sz.y ; - - result = SetEventParameter( inEvent, kEventParamMinimumSize, typeHISize, - sizeof( HISize ), &min ); - - result = SetEventParameter( inEvent, kEventParamMaximumSize, typeHISize, - sizeof( HISize ), &max ); - result = noErr ; - } - } - break; - } - break; - } - - return result; -} - -void RegisterControlToolbarItemClass() -{ - static bool sRegistered; - - if ( !sRegistered ) - { - HIObjectRegisterSubclass( kControlToolbarItemClassID, kHIToolbarItemClassID, 0, - ControlToolbarItemHandler, GetEventTypeCount( kEvents ), kEvents, 0, NULL ); - - sRegistered = true; - } -} - -HIToolbarItemRef CreateControlToolbarItem(CFStringRef inIdentifier, CFTypeRef inConfigData) -{ - RegisterControlToolbarItemClass(); - - OSStatus err; - EventRef event; - UInt32 options = kHIToolbarItemAllowDuplicates; - HIToolbarItemRef result = NULL; - - err = CreateEvent( NULL, kEventClassHIObject, kEventHIObjectInitialize, GetCurrentEventTime(), 0, &event ); - require_noerr( err, CantCreateEvent ); - - SetEventParameter( event, kEventParamAttributes, typeUInt32, sizeof( UInt32 ), &options ); - SetEventParameter( event, kEventParamToolbarItemIdentifier, typeCFStringRef, sizeof( CFStringRef ), &inIdentifier ); - - if ( inConfigData ) - SetEventParameter( event, kEventParamToolbarItemConfigData, typeCFTypeRef, sizeof( CFTypeRef ), &inConfigData ); - - err = HIObjectCreate( kControlToolbarItemClassID, event, (HIObjectRef*)&result ); - check_noerr( err ); - - ReleaseEvent( event ); -CantCreateEvent : - return result ; -} - -#if wxOSX_USE_NATIVE_TOOLBAR -static const EventTypeSpec kToolbarEvents[] = -{ - { kEventClassToolbar, kEventToolbarGetDefaultIdentifiers }, - { kEventClassToolbar, kEventToolbarGetAllowedIdentifiers }, - { kEventClassToolbar, kEventToolbarCreateItemWithIdentifier }, -}; - -static OSStatus ToolbarDelegateHandler(EventHandlerCallRef WXUNUSED(inCallRef), - EventRef inEvent, - void* WXUNUSED(inUserData)) -{ - OSStatus result = eventNotHandledErr; - // Not yet needed - // wxToolBar* toolbar = (wxToolBar*) inUserData ; - CFMutableArrayRef array; - - switch ( GetEventKind( inEvent ) ) - { - case kEventToolbarGetDefaultIdentifiers: - { - GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL, - sizeof( CFMutableArrayRef ), NULL, &array ); - // not implemented yet - // GetToolbarDefaultItems( array ); - result = noErr; - } - break; - - case kEventToolbarGetAllowedIdentifiers: - { - GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL, - sizeof( CFMutableArrayRef ), NULL, &array ); - // not implemented yet - // GetToolbarAllowedItems( array ); - result = noErr; - } - break; - case kEventToolbarCreateItemWithIdentifier: - { - HIToolbarItemRef item = NULL; - CFTypeRef data = NULL; - CFStringRef identifier = NULL ; - - GetEventParameter( inEvent, kEventParamToolbarItemIdentifier, typeCFStringRef, NULL, - sizeof( CFStringRef ), NULL, &identifier ); - - GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL, - sizeof( CFTypeRef ), NULL, &data ); - - if ( CFStringCompare( kControlToolbarItemClassID, identifier, kCFCompareBackwards ) == kCFCompareEqualTo ) - { - item = CreateControlToolbarItem( kControlToolbarItemClassID, data ); - if ( item ) - { - SetEventParameter( inEvent, kEventParamToolbarItem, typeHIToolbarItemRef, - sizeof( HIToolbarItemRef ), &item ); - result = noErr; - } - } - - } - break; - } - return result ; -} -#endif // wxOSX_USE_NATIVE_TOOLBAR - -// also for the toolbar we have the dual implementation: -// only when MacInstallNativeToolbar is called is the native toolbar set as the window toolbar - -bool wxToolBar::Create( - wxWindow *parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name ) -{ - if ( !wxToolBarBase::Create( parent, id, pos, size, style, wxDefaultValidator, name ) ) - return false; - - FixupStyle(); - - OSStatus err = noErr; - -#if wxOSX_USE_NATIVE_TOOLBAR - if (parent->IsKindOf(CLASSINFO(wxFrame)) && wxSystemOptions::GetOptionInt(wxT("mac.toolbar.no-native")) != 1) - { - wxString labelStr = wxString::Format( wxT("%p"), this ); - err = HIToolbarCreate( - wxCFStringRef( labelStr, wxFont::GetDefaultEncoding() ), 0, - (HIToolbarRef*) &m_macToolbar ); - - if (m_macToolbar != NULL) - { - InstallEventHandler( HIObjectGetEventTarget((HIToolbarRef)m_macToolbar ), ToolbarDelegateHandler, - GetEventTypeCount( kToolbarEvents ), kToolbarEvents, this, NULL ); - - HIToolbarDisplayMode mode = kHIToolbarDisplayModeDefault; - HIToolbarDisplaySize displaySize = kHIToolbarDisplaySizeSmall; - - if ( style & wxTB_NOICONS ) - mode = kHIToolbarDisplayModeLabelOnly; - else if ( style & wxTB_TEXT ) - mode = kHIToolbarDisplayModeIconAndLabel; - else - mode = kHIToolbarDisplayModeIconOnly; - - HIToolbarSetDisplayMode( (HIToolbarRef) m_macToolbar, mode ); - HIToolbarSetDisplaySize( (HIToolbarRef) m_macToolbar, displaySize ); - } - } -#endif // wxOSX_USE_NATIVE_TOOLBAR - - return (err == noErr); -} - -wxToolBar::~wxToolBar() -{ -#if wxOSX_USE_NATIVE_TOOLBAR - // We could be not using a native tool bar at all, this happens when we're - // created with something other than the frame as parent for example. - if ( !m_macToolbar ) - return; - - // it might already have been uninstalled due to a previous call to Destroy, but in case - // wasn't, do so now, otherwise redraw events may occur for deleted objects - bool ownToolbarInstalled = false; - MacTopLevelHasNativeToolbar( &ownToolbarInstalled ); - if (ownToolbarInstalled) - { - MacUninstallNativeToolbar(); - } - - CFRelease( (HIToolbarRef)m_macToolbar ); - m_macToolbar = NULL; -#endif // wxOSX_USE_NATIVE_TOOLBAR -} - -bool wxToolBar::Show( bool show ) -{ - WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef()); - bool bResult = (tlw != NULL); - - if (bResult) - { -#if wxOSX_USE_NATIVE_TOOLBAR - bool ownToolbarInstalled = false; - MacTopLevelHasNativeToolbar( &ownToolbarInstalled ); - if (ownToolbarInstalled) - { - bResult = (IsWindowToolbarVisible( tlw ) != show); - if ( bResult ) - ShowHideWindowToolbar( tlw, show, false ); - } - else - bResult = wxToolBarBase::Show( show ); -#else - - bResult = wxToolBarBase::Show( show ); -#endif - } - - return bResult; -} - -bool wxToolBar::IsShown() const -{ - bool bResult; - -#if wxOSX_USE_NATIVE_TOOLBAR - bool ownToolbarInstalled; - - MacTopLevelHasNativeToolbar( &ownToolbarInstalled ); - if (ownToolbarInstalled) - { - WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef()); - bResult = IsWindowToolbarVisible( tlw ); - } - else - bResult = wxToolBarBase::IsShown(); -#else - - bResult = wxToolBarBase::IsShown(); -#endif - - return bResult; -} - -void wxToolBar::DoGetSize( int *width, int *height ) const -{ -#if wxOSX_USE_NATIVE_TOOLBAR - Rect boundsR; - bool ownToolbarInstalled; - - MacTopLevelHasNativeToolbar( &ownToolbarInstalled ); - if ( ownToolbarInstalled ) - { - // TODO: is this really a control ? - GetControlBounds( (ControlRef) m_macToolbar, &boundsR ); - if ( width != NULL ) - *width = boundsR.right - boundsR.left; - if ( height != NULL ) - *height = boundsR.bottom - boundsR.top; - } - else - wxToolBarBase::DoGetSize( width, height ); - -#else - wxToolBarBase::DoGetSize( width, height ); -#endif -} - -wxSize wxToolBar::DoGetBestSize() const -{ - int width, height; - - DoGetSize( &width, &height ); - - return wxSize( width, height ); -} - -void wxToolBar::SetWindowStyleFlag( long style ) -{ - wxToolBarBase::SetWindowStyleFlag( style ); - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - HIToolbarDisplayMode mode = kHIToolbarDisplayModeDefault; - - if ( style & wxTB_NOICONS ) - mode = kHIToolbarDisplayModeLabelOnly; - else if ( style & wxTB_TEXT ) - mode = kHIToolbarDisplayModeIconAndLabel; - else - mode = kHIToolbarDisplayModeIconOnly; - - HIToolbarSetDisplayMode( (HIToolbarRef) m_macToolbar, mode ); - } -#endif -} - -#if wxOSX_USE_NATIVE_TOOLBAR -bool wxToolBar::MacWantsNativeToolbar() -{ - return m_macUsesNativeToolbar; -} - -bool wxToolBar::MacTopLevelHasNativeToolbar(bool *ownToolbarInstalled) const -{ - bool bResultV = false; - - if (ownToolbarInstalled != NULL) - *ownToolbarInstalled = false; - - WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef()); - if (tlw != NULL) - { - HIToolbarRef curToolbarRef = NULL; - OSStatus err = GetWindowToolbar( tlw, &curToolbarRef ); - bResultV = ((err == noErr) && (curToolbarRef != NULL)); - if (bResultV && (ownToolbarInstalled != NULL)) - *ownToolbarInstalled = (curToolbarRef == m_macToolbar); - } - - return bResultV; -} - -bool wxToolBar::MacInstallNativeToolbar(bool usesNative) -{ - bool bResult = false; - - if (usesNative && (m_macToolbar == NULL)) - return bResult; - - if (usesNative && ((GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT|wxTB_BOTTOM)) != 0)) - return bResult; - - WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef()); - if (tlw == NULL) - return bResult; - - // check the existing toolbar - HIToolbarRef curToolbarRef = NULL; - OSStatus err = GetWindowToolbar( tlw, &curToolbarRef ); - if (err != noErr) - curToolbarRef = NULL; - - m_macUsesNativeToolbar = usesNative; - - if (m_macUsesNativeToolbar) - { - // only install toolbar if there isn't one installed already - if (curToolbarRef == NULL) - { - bResult = true; - - SetWindowToolbar( tlw, (HIToolbarRef) m_macToolbar ); - - // ShowHideWindowToolbar will make the wxFrame grow - // which we don't want in this case - wxSize sz = GetParent()->GetSize(); - ShowHideWindowToolbar( tlw, true, false ); - // Restore the original size - GetParent()->SetSize( sz ); - - ChangeWindowAttributes( tlw, kWindowToolbarButtonAttribute, 0 ); - - SetAutomaticControlDragTrackingEnabledForWindow( tlw, true ); - - GetPeer()->Move(0,0,0,0 ); - SetSize( wxSIZE_AUTO_WIDTH, 0 ); - GetPeer()->SetVisibility( false ); - wxToolBarBase::Show( false ); - } - } - else - { - // only deinstall toolbar if this is the installed one - if (m_macToolbar == curToolbarRef) - { - bResult = true; - - ShowHideWindowToolbar( tlw, false, false ); - ChangeWindowAttributes( tlw, 0, kWindowToolbarButtonAttribute ); - MacUninstallNativeToolbar(); - - GetPeer()->SetVisibility( true ); - } - } - - if (bResult) - InvalidateBestSize(); - -// wxLogDebug( wxT(" --> [%lx] - result [%s]"), (long)this, bResult ? wxT("T") : wxT("F") ); - return bResult; -} - -void wxToolBar::MacUninstallNativeToolbar() -{ - if (!m_macToolbar) - return; - - WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef()); - if (tlw) - SetWindowToolbar( tlw, NULL ); -} -#endif - -bool wxToolBar::Realize() -{ - if ( !wxToolBarBase::Realize() ) - return false; - - wxSize tlw_sz = GetParent()->GetSize(); - - int maxWidth = 0; - int maxHeight = 0; - - int maxToolWidth = 0; - int maxToolHeight = 0; - - int x = m_xMargin + kwxMacToolBarLeftMargin; - int y = m_yMargin + kwxMacToolBarTopMargin; - - int tw, th; - GetSize( &tw, &th ); - - // find the maximum tool width and height - wxToolBarTool *tool; - wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); - while ( node ) - { - tool = (wxToolBarTool *) node->GetData(); - if ( tool != NULL ) - { - wxSize sz = tool->GetSize(); - - if ( sz.x > maxToolWidth ) - maxToolWidth = sz.x; - if ( sz.y > maxToolHeight ) - maxToolHeight = sz.y; - } - - node = node->GetNext(); - } - - bool lastIsRadio = false; - bool curIsRadio = false; - -#if wxOSX_USE_NATIVE_TOOLBAR - CFIndex currentPosition = 0; - bool insertAll = false; - - HIToolbarRef refTB = (HIToolbarRef)m_macToolbar; - wxFont f; - wxFontEncoding enc; - f = GetFont(); - if ( f.IsOk() ) - enc = f.GetEncoding(); - else - enc = wxFont::GetDefaultEncoding(); -#endif - - node = m_tools.GetFirst(); - while ( node ) - { - tool = (wxToolBarTool*) node->GetData(); - if ( tool == NULL ) - { - node = node->GetNext(); - continue; - } - - // set tool position: - // for the moment just perform a single row/column alignment - wxSize cursize = tool->GetSize(); - if ( x + cursize.x > maxWidth ) - maxWidth = x + cursize.x; - if ( y + cursize.y > maxHeight ) - maxHeight = y + cursize.y; - - if ( GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT) ) - { - int x1 = x + ( maxToolWidth - cursize.x ) / 2; - tool->SetPosition( wxPoint(x1, y) ); - } - else - { - int y1 = y + ( maxToolHeight - cursize.y ) / 2; - tool->SetPosition( wxPoint(x, y1) ); - } - - // update the item positioning state - if ( GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT) ) - y += cursize.y + kwxMacToolSpacing; - else - x += cursize.x + kwxMacToolSpacing; - -#if wxOSX_USE_NATIVE_TOOLBAR - // install in native HIToolbar - if ( refTB ) - { - HIToolbarItemRef hiItemRef = tool->GetToolbarItemRef(); - if ( hiItemRef != NULL ) - { - // since setting the help texts is non-virtual we have to update - // the strings now - if ( insertAll || (tool->GetIndex() != currentPosition) ) - { - OSStatus err = noErr; - if ( !insertAll ) - { - insertAll = true; - - // if this is the first tool that gets newly inserted or repositioned - // first remove all 'old' tools from here to the right, because of this - // all following tools will have to be reinserted (insertAll). - for ( wxToolBarToolsList::compatibility_iterator node2 = m_tools.GetLast(); - node2 != node; - node2 = node2->GetPrevious() ) - { - wxToolBarTool *tool2 = (wxToolBarTool*) node2->GetData(); - - const long idx = tool2->GetIndex(); - if ( idx != -1 ) - { - if ( tool2->IsControl() ) - { - CFIndex count = CFGetRetainCount( tool2->GetControl()->GetPeer()->GetControlRef() ) ; - if ( count != 3 && count != 2 ) - { - wxFAIL_MSG("Reference count of native tool was illegal before removal"); - } - - wxASSERT( IsValidControlHandle(tool2->GetControl()->GetPeer()->GetControlRef() )) ; - } - err = HIToolbarRemoveItemAtIndex(refTB, idx); - if ( err != noErr ) - { - wxLogDebug(wxT("HIToolbarRemoveItemAtIndex(%ld) failed [%ld]"), - idx, (long)err); - } - if ( tool2->IsControl() ) - { - CFIndex count = CFGetRetainCount( tool2->GetControl()->GetPeer()->GetControlRef() ) ; - if ( count != 2 ) - { - wxFAIL_MSG("Reference count of native tool was not 2 after removal"); - } - - wxASSERT( IsValidControlHandle(tool2->GetControl()->GetPeer()->GetControlRef() )) ; - } - - tool2->SetIndex(-1); - } - } - } - - err = HIToolbarInsertItemAtIndex( refTB, hiItemRef, currentPosition ); - if (err != noErr) - { - wxLogDebug( wxT("HIToolbarInsertItemAtIndex failed [%ld]"), (long)err ); - } - - tool->SetIndex( currentPosition ); - if ( tool->IsControl() ) - { - CFIndex count = CFGetRetainCount( tool->GetControl()->GetPeer()->GetControlRef() ) ; - if ( count != 3 && count != 2 ) - { - wxFAIL_MSG("Reference count of native tool was illegal before removal"); - } - wxASSERT( IsValidControlHandle(tool->GetControl()->GetPeer()->GetControlRef() )) ; - - wxString label = tool->GetLabel(); - if ( !label.empty() ) - HIToolbarItemSetLabel( hiItemRef, wxCFStringRef(label, GetFont().GetEncoding()) ); - } - } - - currentPosition++; - } - } -#endif - - // update radio button (and group) state - lastIsRadio = curIsRadio; - curIsRadio = ( tool->IsButton() && (tool->GetKind() == wxITEM_RADIO) ); - - if ( !curIsRadio ) - { - if ( tool->IsToggled() ) - DoToggleTool( tool, true ); - } - else - { - if ( !lastIsRadio ) - { - if ( tool->Toggle( true ) ) - { - DoToggleTool( tool, true ); - } - } - else if ( tool->IsToggled() ) - { - if ( tool->IsToggled() ) - DoToggleTool( tool, true ); - - wxToolBarToolsList::compatibility_iterator nodePrev = node->GetPrevious(); - while ( nodePrev ) - { - wxToolBarToolBase *toggleTool = nodePrev->GetData(); - if ( (toggleTool == NULL) || !toggleTool->IsButton() || (toggleTool->GetKind() != wxITEM_RADIO) ) - break; - - if ( toggleTool->Toggle( false ) ) - DoToggleTool( toggleTool, false ); - - nodePrev = nodePrev->GetPrevious(); - } - } - } - - node = node->GetNext(); - } - - if (m_macUsesNativeToolbar) - GetParent()->SetSize( tlw_sz ); - - if ( GetWindowStyleFlag() & (wxTB_TOP|wxTB_BOTTOM) ) - { - // if not set yet, only one row - if ( m_maxRows <= 0 ) - SetRows( 1 ); - - m_minWidth = maxWidth; - maxHeight += m_yMargin + kwxMacToolBarTopMargin; - m_minHeight = m_maxHeight = maxHeight; - } - else - { - // if not set yet, have one column - if ( (GetToolsCount() > 0) && (m_maxRows <= 0) ) - SetRows( GetToolsCount() ); - - m_minHeight = maxHeight; - maxWidth += m_xMargin + kwxMacToolBarLeftMargin; - m_minWidth = m_maxWidth = maxWidth; - } - -#if 0 - // FIXME: should this be OSX-only? - { - bool wantNativeToolbar, ownToolbarInstalled; - - // attempt to install the native toolbar - wantNativeToolbar = ((GetWindowStyleFlag() & (wxTB_LEFT|wxTB_BOTTOM|wxTB_RIGHT)) == 0); - MacInstallNativeToolbar( wantNativeToolbar ); - (void)MacTopLevelHasNativeToolbar( &ownToolbarInstalled ); - if (!ownToolbarInstalled) - { - SetSize( maxWidth, maxHeight ); - InvalidateBestSize(); - } - } -#else - SetSize( maxWidth, maxHeight ); - InvalidateBestSize(); -#endif - - SetInitialSize(); - - return true; -} - -void wxToolBar::DoLayout() -{ - // TODO port back osx_cocoa layout solution -} - -void wxToolBar::DoSetSize(int x, int y, int width, int height, int sizeFlags) -{ - wxToolBarBase::DoSetSize(x, y, width, height, sizeFlags); - - DoLayout(); -} - -void wxToolBar::SetToolBitmapSize(const wxSize& size) -{ - m_defaultWidth = size.x + kwxMacToolBorder; - m_defaultHeight = size.y + kwxMacToolBorder; - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - int maxs = wxMax( size.x, size.y ); - HIToolbarDisplaySize sizeSpec; - if ( maxs > 32 ) - sizeSpec = kHIToolbarDisplaySizeNormal; - else if ( maxs > 24 ) - sizeSpec = kHIToolbarDisplaySizeDefault; - else - sizeSpec = kHIToolbarDisplaySizeSmall; - - HIToolbarSetDisplaySize( (HIToolbarRef) m_macToolbar, sizeSpec ); - } -#endif -} - -// The button size is bigger than the bitmap size -wxSize wxToolBar::GetToolSize() const -{ - return wxSize(m_defaultWidth + kwxMacToolBorder, m_defaultHeight + kwxMacToolBorder); -} - -void wxToolBar::SetRows(int nRows) -{ - // avoid resizing the frame uselessly - if ( nRows != m_maxRows ) - m_maxRows = nRows; -} - -void wxToolBar::MacSuperChangedPosition() -{ - wxWindow::MacSuperChangedPosition(); - -#if wxOSX_USE_NATIVE_TOOLBAR - if (! m_macUsesNativeToolbar ) - Realize(); -#else - - Realize(); -#endif -} - -void wxToolBar::SetToolNormalBitmap( int id, const wxBitmap& bitmap ) -{ - wxToolBarTool* tool = static_cast(FindById(id)); - if ( tool ) - { - wxCHECK_RET( tool->IsButton(), wxT("Can only set bitmap on button tools.")); - - tool->SetNormalBitmap(bitmap); - - // a side-effect of the UpdateToggleImage function is that it always changes the bitmap used on the button. - tool->UpdateToggleImage( tool->CanBeToggled() && tool->IsToggled() ); - } -} - -void wxToolBar::SetToolDisabledBitmap( int id, const wxBitmap& bitmap ) -{ - wxToolBarTool* tool = static_cast(FindById(id)); - if ( tool ) - { - wxCHECK_RET( tool->IsButton(), wxT("Can only set bitmap on button tools.")); - - tool->SetDisabledBitmap(bitmap); - - // TODO: what to do for this one? - } -} - -wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord x, wxCoord y) const -{ - wxToolBarTool *tool; - wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); - while ( node ) - { - tool = (wxToolBarTool *)node->GetData(); - if (tool != NULL) - { - wxRect2DInt r( tool->GetPosition(), tool->GetSize() ); - if ( r.Contains( wxPoint( x, y ) ) ) - return tool; - } - - node = node->GetNext(); - } - - return NULL; -} - -wxString wxToolBar::MacGetToolTipString( wxPoint &pt ) -{ - wxToolBarToolBase *tool = FindToolForPosition( pt.x, pt.y ); - if ( tool != NULL ) - return tool->GetShortHelp(); - - return wxEmptyString; -} - -void wxToolBar::DoEnableTool(wxToolBarToolBase *WXUNUSED(t), bool WXUNUSED(enable)) -{ - // everything already done in the tool's implementation -} - -void wxToolBar::DoToggleTool(wxToolBarToolBase *WXUNUSED(t), bool WXUNUSED(toggle)) -{ - // everything already done in the tool's implementation -} - -bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolBase) -{ - wxToolBarTool *tool = static_cast< wxToolBarTool*>(toolBase ); - if (tool == NULL) - return false; - - WindowRef window = (WindowRef) MacGetTopLevelWindowRef(); - wxSize toolSize = GetToolSize(); - Rect toolrect = { 0, 0, toolSize.y, toolSize.x }; - ControlRef controlHandle = NULL; - OSStatus err = 0; - -#if wxOSX_USE_NATIVE_TOOLBAR - wxString label = tool->GetLabel(); - if (m_macToolbar && !label.empty() ) - { - // strip mnemonics from the label for compatibility - // with the usual labels in wxStaticText sense - label = wxStripMenuCodes(label); - } -#endif // wxOSX_USE_NATIVE_TOOLBAR - - switch (tool->GetStyle()) - { - case wxTOOL_STYLE_SEPARATOR: - { - wxASSERT( tool->GetControlHandle() == NULL ); - toolSize.x /= 4; - toolSize.y /= 4; - if ( GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT) ) - toolrect.bottom = toolSize.y; - else - toolrect.right = toolSize.x; - - // in flat style we need a visual separator -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - HIToolbarItemRef item; - err = HIToolbarItemCreate( - kHIToolbarSeparatorIdentifier, - kHIToolbarItemCantBeRemoved | kHIToolbarItemIsSeparator | kHIToolbarItemAllowDuplicates, - &item ); - if (err == noErr) - tool->SetToolbarItemRef( item ); - } - else - err = noErr; -#endif // wxOSX_USE_NATIVE_TOOLBAR - - CreateSeparatorControl( window, &toolrect, &controlHandle ); - tool->SetControlHandle( controlHandle ); - } - break; - - case wxTOOL_STYLE_BUTTON: - { - wxASSERT( tool->GetControlHandle() == NULL ); - - // contrary to the docs this control only works with iconrefs - ControlButtonContentInfo info; - wxMacCreateBitmapButton( &info, tool->GetNormalBitmap(), kControlContentIconRef ); - CreateIconControl( window, &toolrect, &info, false, &controlHandle ); - wxMacReleaseBitmapButton( &info ); - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - HIToolbarItemRef item; - wxString labelStr = wxString::Format(wxT("%p"), tool); - err = HIToolbarItemCreate( - wxCFStringRef(labelStr, wxFont::GetDefaultEncoding()), - kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft | kHIToolbarItemAllowDuplicates, &item ); - if (err == noErr) - { - ControlButtonContentInfo info2; - wxMacCreateBitmapButton( &info2, tool->GetNormalBitmap(), kControlContentCGImageRef); - - InstallEventHandler( - HIObjectGetEventTarget(item), GetwxMacToolBarEventHandlerUPP(), - GetEventTypeCount(toolBarEventList), toolBarEventList, tool, NULL ); - HIToolbarItemSetLabel( item, wxCFStringRef(label, GetFont().GetEncoding()) ); - HIToolbarItemSetImage( item, info2.u.imageRef ); - HIToolbarItemSetCommandID( item, kHIToolbarCommandPressAction ); - tool->SetToolbarItemRef( item ); - - wxMacReleaseBitmapButton( &info2 ); - } - } - else - err = noErr; -#endif // wxOSX_USE_NATIVE_TOOLBAR - - wxMacReleaseBitmapButton( &info ); - -#if 0 - SetBevelButtonTextPlacement( m_controlHandle, kControlBevelButtonPlaceBelowGraphic ); - SetControlTitleWithCFString( m_controlHandle , wxCFStringRef( label, wxFont::GetDefaultEncoding() ); -#endif - - InstallControlEventHandler( - (ControlRef) controlHandle, GetwxMacToolBarToolEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, tool, NULL ); - - tool->SetControlHandle( controlHandle ); - } - break; - - case wxTOOL_STYLE_CONTROL: - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - wxCHECK_MSG( tool->GetControl(), false, wxT("control must be non-NULL") ); - HIToolbarItemRef item; - HIViewRef viewRef = (HIViewRef) tool->GetControl()->GetHandle() ; - CFDataRef data = CFDataCreate( kCFAllocatorDefault , (UInt8*) &viewRef , sizeof(viewRef) ) ; - err = HIToolbarCreateItemWithIdentifier((HIToolbarRef) m_macToolbar,kControlToolbarItemClassID, - data , &item ) ; - - if (err == noErr) - { - tool->SetToolbarItemRef( item ); - } - CFRelease( data ) ; - } - else - { - err = noErr; - break; - } -#else - // right now there's nothing to do here -#endif - break; - - default: - break; - } - - if ( err == noErr ) - { - if ( controlHandle ) - { - ControlRef container = (ControlRef) GetHandle(); - wxASSERT_MSG( container != NULL, wxT("No valid Mac container control") ); - - SetControlVisibility( controlHandle, true, true ); - ::EmbedControl( controlHandle, container ); - } - - if ( tool->CanBeToggled() && tool->IsToggled() ) - tool->UpdateToggleImage( true ); - - // nothing special to do here - we relayout in Realize() later - InvalidateBestSize(); - } - else - { - wxFAIL_MSG( wxString::Format( wxT("wxToolBar::DoInsertTool - failure [%ld]"), (long)err ) ); - } - - return (err == noErr); -} - -void wxToolBar::DoSetToggle(wxToolBarToolBase *WXUNUSED(tool), bool WXUNUSED(toggle)) -{ - // nothing to do -} - -bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolbase) -{ - wxToolBarTool* tool = static_cast< wxToolBarTool*>(toolbase ); - wxToolBarToolsList::compatibility_iterator node; - for ( node = m_tools.GetFirst(); node; node = node->GetNext() ) - { - wxToolBarToolBase *tool2 = node->GetData(); - if ( tool2 == tool ) - { - // let node point to the next node in the list - node = node->GetNext(); - - break; - } - } - - wxSize sz = ((wxToolBarTool*)tool)->GetSize(); - -#if wxOSX_USE_NATIVE_TOOLBAR - CFIndex removeIndex = tool->GetIndex(); -#endif - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - if ( removeIndex != -1 && m_macToolbar ) - { - HIToolbarRemoveItemAtIndex( (HIToolbarRef) m_macToolbar, removeIndex ); - tool->SetIndex( -1 ); - } - } -#endif - - tool->ClearControl(); - - // and finally reposition all the controls after this one - - for ( /* node -> first after deleted */; node; node = node->GetNext() ) - { - wxToolBarTool *tool2 = (wxToolBarTool*) node->GetData(); - wxPoint pt = tool2->GetPosition(); - - if ( GetWindowStyleFlag() & (wxTB_LEFT|wxTB_RIGHT) ) - pt.y -= sz.y; - else - pt.x -= sz.x; - - tool2->SetPosition( pt ); - -#if wxOSX_USE_NATIVE_TOOLBAR - if (m_macToolbar != NULL) - { - if ( removeIndex != -1 && tool2->GetIndex() > removeIndex ) - tool2->SetIndex( tool2->GetIndex() - 1 ); - } -#endif - } - - InvalidateBestSize(); - - return true; -} - -void wxToolBar::OnPaint(wxPaintEvent& event) -{ -#if wxOSX_USE_NATIVE_TOOLBAR - if ( m_macUsesNativeToolbar ) - { - event.Skip(true); - return; - } -#endif - - wxPaintDC dc(this); - - int w, h; - GetSize( &w, &h ); - - bool drawMetalTheme = MacGetTopLevelWindow()->GetExtraStyle() & wxFRAME_EX_METAL; - - if ( !drawMetalTheme ) - { - HIThemePlacardDrawInfo info; - memset( &info, 0, sizeof(info) ); - info.version = 0; - info.state = IsEnabled() ? kThemeStateActive : kThemeStateInactive; - - CGContextRef cgContext = (CGContextRef) MacGetCGContextRef(); - HIRect rect = CGRectMake( 0, 0, w, h ); - HIThemeDrawPlacard( &rect, &info, cgContext, kHIThemeOrientationNormal ); - } - else - { - // leave the background as it is (striped or metal) - } - - event.Skip(); -} - -#endif // wxUSE_TOOLBAR diff --git a/src/osx/carbon/tooltip.cpp b/src/osx/carbon/tooltip.cpp deleted file mode 100644 index 8c1a031e11..0000000000 --- a/src/osx/carbon/tooltip.cpp +++ /dev/null @@ -1,257 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/tooltip.cpp -// Purpose: wxToolTip implementation -// Author: Stefan Csomor -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#if wxUSE_TOOLTIPS - -#include "wx/tooltip.h" - -#ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/window.h" - #include "wx/dc.h" - #include "wx/timer.h" - #include "wx/nonownedwnd.h" -#endif // WX_PRECOMP - -#include "wx/geometry.h" -#include "wx/osx/uma.h" - -//----------------------------------------------------------------------------- -// global data -//----------------------------------------------------------------------------- - -#if wxUSE_TIMER -class wxMacToolTipTimer : public wxTimer -{ -public: - wxMacToolTipTimer(wxMacToolTip* tip, int iMilliseconds) ; - wxMacToolTipTimer() {} ; - virtual ~wxMacToolTipTimer() {} ; - - void Notify() - { - if ( m_mark == m_tip->GetMark() ) - m_tip->Draw() ; - } - -protected: - wxMacToolTip* m_tip; - long m_mark ; -}; -#endif // wxUSE_TIMER - -//----------------------------------------------------------------------------- -// wxToolTip -//----------------------------------------------------------------------------- -static long s_ToolTipDelay = 500 ; -static bool s_ShowToolTips = true ; -static wxMacToolTip s_ToolTip ; -static wxWindow* s_LastWindowEntered = NULL ; -static wxRect2DInt s_ToolTipArea ; -static WindowRef s_ToolTipWindowRef = NULL ; - -wxIMPLEMENT_ABSTRACT_CLASS(wxToolTip, wxObject); - - -wxToolTip::wxToolTip( const wxString &tip ) -{ - m_text = tip; - m_window = NULL; -} - -wxToolTip::~wxToolTip() -{ -} - -void wxToolTip::SetTip( const wxString &tip ) -{ - m_text = tip; - - if ( m_window ) - { -#if 0 - // update it immediately - wxToolInfo ti(GetHwndOf(m_window)); - ti.lpszText = (wxChar *)m_text.c_str(); - - (void)SendTooltipMessage(GetToolTipCtrl(), TTM_UPDATETIPTEXT, 0, &ti); -#endif - } -} - -void wxToolTip::SetWindow( wxWindow *win ) -{ - m_window = win ; -} - -void wxToolTip::Enable( bool flag ) -{ - if ( s_ShowToolTips != flag ) - { - s_ShowToolTips = flag ; - - if ( s_ShowToolTips ) - { - } - else - { - s_ToolTip.Clear() ; - } - } -} - -void wxToolTip::SetDelay( long msecs ) -{ - s_ToolTipDelay = msecs ; -} - -void wxToolTip::SetAutoPop( long WXUNUSED(msecs) ) -{ -} - -void wxToolTip::SetReshow( long WXUNUSED(msecs) ) -{ -} - -void wxToolTip::RelayEvent( wxWindow *win , wxMouseEvent &event ) -{ - if ( s_ShowToolTips ) - { - if ( event.GetEventType() == wxEVT_LEAVE_WINDOW ) - { - s_ToolTip.Clear() ; - } - else if (event.GetEventType() == wxEVT_ENTER_WINDOW || event.GetEventType() == wxEVT_MOTION ) - { - wxPoint2DInt where( event.m_x , event.m_y ) ; - if ( s_LastWindowEntered == win && s_ToolTipArea.Contains( where ) ) - { - } - else - { - s_ToolTip.Clear() ; - s_ToolTipArea = wxRect2DInt( event.m_x - 2 , event.m_y - 2 , 4 , 4 ) ; - s_LastWindowEntered = win ; - - WindowRef window = MAC_WXHWND( win->MacGetTopLevelWindowRef() ) ; - int x = event.m_x ; - int y = event.m_y ; - wxPoint local( x , y ) ; - win->MacClientToRootWindow( &x, &y ) ; - wxPoint windowlocal( x , y ) ; - s_ToolTip.Setup( window , win->MacGetToolTipString( local ) , windowlocal ) ; - } - } - } -} - -void wxToolTip::RemoveToolTips() -{ - s_ToolTip.Clear() ; -} - -// --- mac specific -#if wxUSE_TIMER -wxMacToolTipTimer::wxMacToolTipTimer( wxMacToolTip *tip , int msec ) -{ - m_tip = tip; - m_mark = tip->GetMark() ; - Start(msec, true); -} -#endif // wxUSE_TIMER - -wxMacToolTip::wxMacToolTip() -{ - m_window = NULL ; - m_backpict = NULL ; -#if wxUSE_TIMER - m_timer = NULL ; -#endif - m_mark = 0 ; - m_shown = false ; -} - -void wxMacToolTip::Setup( WindowRef win , const wxString& text , const wxPoint& localPosition ) -{ - m_mark++ ; - - Clear() ; - m_position = localPosition ; - m_label = text ; - m_window =win; - s_ToolTipWindowRef = m_window ; - m_backpict = NULL ; -#if wxUSE_TIMER - delete m_timer ; - - m_timer = new wxMacToolTipTimer( this , s_ToolTipDelay ) ; -#endif // wxUSE_TIMER -} - -wxMacToolTip::~wxMacToolTip() -{ -#if wxUSE_TIMER - wxDELETE(m_timer); -#endif // wxUSE_TIMER - if ( m_backpict ) - Clear() ; -} - -const short kTipBorder = 2 ; -const short kTipOffset = 5 ; - -void wxMacToolTip::Draw() -{ - if ( m_label.empty() ) - return ; - - if ( m_window == s_ToolTipWindowRef ) - { - m_shown = true ; - - HMHelpContentRec tag ; - tag.version = kMacHelpVersion; - - int x = m_position.x; - int y = m_position.y; - wxNonOwnedWindow* tlw = wxNonOwnedWindow::GetFromWXWindow((WXWindow) m_window); - if ( tlw ) - tlw->GetNonOwnedPeer()->WindowToScreen( &x, &y ); - SetRect( &tag.absHotRect , x - 2 , y - 2 , x + 2 , y + 2 ); - - m_helpTextRef = wxCFStringRef( m_label , wxFONTENCODING_DEFAULT ) ; - tag.content[kHMMinimumContentIndex].contentType = kHMCFStringContent ; - tag.content[kHMMinimumContentIndex].u.tagCFString = m_helpTextRef ; - tag.content[kHMMaximumContentIndex].contentType = kHMCFStringContent ; - tag.content[kHMMaximumContentIndex].u.tagCFString = m_helpTextRef ; - tag.tagSide = kHMDefaultSide; - HMDisplayTag( &tag ); - } -} - -void wxToolTip::NotifyWindowDelete( WXHWND win ) -{ - if ( win == s_ToolTipWindowRef ) - s_ToolTipWindowRef = NULL ; -} - -void wxMacToolTip::Clear() -{ - m_mark++ ; -#if wxUSE_TIMER - wxDELETE(m_timer); -#endif // wxUSE_TIMER - if ( !m_shown ) - return ; - - HMHideTag() ; -} - -#endif // wxUSE_TOOLTIPS diff --git a/src/osx/carbon/uma.cpp b/src/osx/carbon/uma.cpp deleted file mode 100644 index 2773665f4a..0000000000 --- a/src/osx/carbon/uma.cpp +++ /dev/null @@ -1,281 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/uma.cpp -// Purpose: UMA support -// Author: Stefan Csomor -// Modified by: -// Created: 04/01/98 -// Copyright: (c) Stefan Csomor -// Licence: The wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/osx/uma.h" - -#if wxUSE_GUI - -#include "wx/toplevel.h" -#include "wx/dc.h" - -#include "wx/osx/uma.h" - -// menu manager - -#if wxOSX_USE_CARBON - -MenuRef UMANewMenu( SInt16 id , const wxString& title , wxFontEncoding encoding ) -{ - wxString str = wxStripMenuCodes( title ) ; - MenuRef menu ; - - CreateNewMenu( id , 0 , &menu ) ; - SetMenuTitleWithCFString( menu , wxCFStringRef(str , encoding ) ) ; - - return menu ; -} - -void UMASetMenuTitle( MenuRef menu , const wxString& title , wxFontEncoding encoding ) -{ - wxString str = wxStripMenuCodes( title ) ; - - SetMenuTitleWithCFString( menu , wxCFStringRef(str , encoding) ) ; -} - -void UMASetMenuItemText( MenuRef menu, MenuItemIndex item, const wxString& title, wxFontEncoding encoding ) -{ - // we don't strip the accels here anymore, must be done before - wxString str = title ; - - SetMenuItemTextWithCFString( menu , item , wxCFStringRef(str , encoding) ) ; -} - -void UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex inItem , bool enable) -{ - if ( enable ) - EnableMenuItem( inMenu , inItem ) ; - else - DisableMenuItem( inMenu , inItem ) ; -} - -void UMAAppendSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , MenuRef submenu ) -{ - AppendMenuItemTextWithCFString( menu, - CFSTR("A"), 0, 0,NULL); - UMASetMenuItemText( menu, (SInt16) ::CountMenuItems(menu), title , encoding ); - SetMenuItemHierarchicalMenu( menu , CountMenuItems( menu ) , submenu ) ; - SetMenuTitleWithCFString(submenu , wxCFStringRef(title , encoding) ); -} - -void UMAInsertSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , MenuItemIndex item , SInt16 id ) -{ - InsertMenuItemTextWithCFString( menu, - CFSTR("A"), item, 0, 0); - - UMASetMenuItemText( menu, item+1, title , encoding ); - SetMenuItemHierarchicalID( menu , item+1 , id ) ; -} - -void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry ) -{ - if ( !entry ) - { - SetMenuItemCommandKey(menu, item, false, 0); - return ; - } - - UInt8 modifiers = 0 ; - SInt16 key = entry->GetKeyCode() ; - if ( key ) - { - bool explicitCommandKey = (entry->GetFlags() & wxACCEL_CTRL); - - if (entry->GetFlags() & wxACCEL_ALT) - modifiers |= kMenuOptionModifier ; - - if (entry->GetFlags() & wxACCEL_SHIFT) - modifiers |= kMenuShiftModifier ; - - if (entry->GetFlags() & wxACCEL_RAW_CTRL) - modifiers |= kMenuControlModifier ; - - SInt16 glyph = 0 ; - SInt16 macKey = key ; - if ( key >= WXK_F1 && key <= WXK_F15 ) - { - if ( !explicitCommandKey ) - modifiers |= kMenuNoCommandModifier ; - - // for some reasons this must be 0 right now - // everything else leads to just the first function key item - // to be selected. Thanks to Ryan Wilcox for finding out. - macKey = 0 ; - glyph = kMenuF1Glyph + ( key - WXK_F1 ) ; - if ( key >= WXK_F13 ) - glyph += 12 ; - } - else - { - switch ( key ) - { - case WXK_BACK : - macKey = kBackspaceCharCode ; - glyph = kMenuDeleteLeftGlyph ; - break ; - - case WXK_TAB : - macKey = kTabCharCode ; - glyph = kMenuTabRightGlyph ; - break ; - - case kEnterCharCode : - macKey = kEnterCharCode ; - glyph = kMenuEnterGlyph ; - break ; - - case WXK_RETURN : - macKey = kReturnCharCode ; - glyph = kMenuReturnGlyph ; - break ; - - case WXK_ESCAPE : - macKey = kEscapeCharCode ; - glyph = kMenuEscapeGlyph ; - break ; - - case WXK_SPACE : - macKey = ' ' ; - glyph = kMenuSpaceGlyph ; - break ; - - case WXK_DELETE : - macKey = kDeleteCharCode ; - glyph = kMenuDeleteRightGlyph ; - break ; - - case WXK_CLEAR : - macKey = kClearCharCode ; - glyph = kMenuClearGlyph ; - break ; - - case WXK_PAGEUP : - macKey = kPageUpCharCode ; - glyph = kMenuPageUpGlyph ; - break ; - - case WXK_PAGEDOWN : - macKey = kPageDownCharCode ; - glyph = kMenuPageDownGlyph ; - break ; - - case WXK_LEFT : - macKey = kLeftArrowCharCode ; - glyph = kMenuLeftArrowGlyph ; - break ; - - case WXK_UP : - macKey = kUpArrowCharCode ; - glyph = kMenuUpArrowGlyph ; - break ; - - case WXK_RIGHT : - macKey = kRightArrowCharCode ; - glyph = kMenuRightArrowGlyph ; - break ; - - case WXK_DOWN : - macKey = kDownArrowCharCode ; - glyph = kMenuDownArrowGlyph ; - break ; - - case WXK_HOME : - macKey = kHomeCharCode ; - glyph = kMenuNorthwestArrowGlyph ; - break ; - - case WXK_END : - macKey = kEndCharCode ; - glyph = kMenuSoutheastArrowGlyph ; - break ; - default : - macKey = toupper( key ) ; - break ; - } - - // we now allow non command key shortcuts - // remove in case this gives problems - if ( !explicitCommandKey ) - modifiers |= kMenuNoCommandModifier ; - } - - // 1d and 1e have special meaning to SetItemCmd, so - // do not use for these character codes. - if (key != WXK_UP && key != WXK_RIGHT && key != WXK_DOWN && key != WXK_LEFT) - SetItemCmd( menu, item , macKey ); - - SetMenuItemModifiers( menu, item , modifiers ) ; - - if ( glyph ) - SetMenuItemKeyGlyph( menu, item , glyph ) ; - } -} - -void UMAAppendMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , wxAcceleratorEntry *entry ) -{ - AppendMenuItemTextWithCFString( menu, - CFSTR("A"), 0, 0,NULL); - // don't attempt to interpret metacharacters like a '-' at the beginning (would become a separator otherwise) - ChangeMenuItemAttributes( menu , ::CountMenuItems(menu), kMenuItemAttrIgnoreMeta , 0 ) ; - UMASetMenuItemText(menu, (SInt16) ::CountMenuItems(menu), title , encoding ); - UMASetMenuItemShortcut( menu , (SInt16) ::CountMenuItems(menu), entry ) ; -} - -void UMAInsertMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , MenuItemIndex item , wxAcceleratorEntry *entry ) -{ - InsertMenuItemTextWithCFString( menu, - CFSTR("A"), item, 0, 0); - - // don't attempt to interpret metacharacters like a '-' at the beginning (would become a separator otherwise) - ChangeMenuItemAttributes( menu , item+1, kMenuItemAttrIgnoreMeta , 0 ) ; - UMASetMenuItemText(menu, item+1 , title , encoding ); - UMASetMenuItemShortcut( menu , item+1 , entry ) ; -} - -static OSStatus UMAGetHelpMenu( - MenuRef * outHelpMenu, - MenuItemIndex * outFirstCustomItemIndex, - bool allowHelpMenuCreation); - -static OSStatus UMAGetHelpMenu( - MenuRef * outHelpMenu, - MenuItemIndex * outFirstCustomItemIndex, - bool allowHelpMenuCreation) -{ - static bool s_createdHelpMenu = false ; - - if ( !s_createdHelpMenu && !allowHelpMenuCreation ) - { - return paramErr ; - } - - OSStatus status = HMGetHelpMenu( outHelpMenu , outFirstCustomItemIndex ) ; - s_createdHelpMenu = ( status == noErr ) ; - return status ; -} - -OSStatus UMAGetHelpMenu( - MenuRef * outHelpMenu, - MenuItemIndex * outFirstCustomItemIndex) -{ - return UMAGetHelpMenu( outHelpMenu , outFirstCustomItemIndex , true ); -} - -OSStatus UMAGetHelpMenuDontCreate( - MenuRef * outHelpMenu, - MenuItemIndex * outFirstCustomItemIndex) -{ - return UMAGetHelpMenu( outHelpMenu , outFirstCustomItemIndex , false ); -} - -#endif - -#endif // wxUSE_GUI diff --git a/src/osx/carbon/utils.cpp b/src/osx/carbon/utils.cpp deleted file mode 100644 index 37502cd289..0000000000 --- a/src/osx/carbon/utils.cpp +++ /dev/null @@ -1,1002 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/utils.cpp -// Purpose: Various utilities -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - - -#include "wx/wxprec.h" - -#include "wx/utils.h" - -#ifndef WX_PRECOMP - #include "wx/intl.h" - #include "wx/app.h" - #if wxUSE_GUI - #include "wx/toplevel.h" - #include "wx/font.h" - #endif -#endif - -#include "wx/apptrait.h" - -#include - -#include -#include -#include -#include - -// #include "MoreFilesX.h" - -#include - -#include "wx/osx/private.h" -#if wxUSE_GUI - #include "wx/osx/private/timer.h" -#endif // wxUSE_GUI - -#include "wx/evtloop.h" - -#if wxUSE_GUI - -// Emit a beeeeeep -void wxBell() -{ - if ( AudioServicesPlayAlertSound != NULL ) - AudioServicesPlayAlertSound(kUserPreferredAlert); -} - -wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer) -{ - return new wxOSXTimerImpl(timer); -} - -int gs_wxBusyCursorCount = 0; -extern wxCursor gMacCurrentCursor; -wxCursor gMacStoredActiveCursor; - -// Set the cursor to the busy cursor for all windows -void wxBeginBusyCursor(const wxCursor *cursor) -{ - if (gs_wxBusyCursorCount++ == 0) - { - gMacStoredActiveCursor = gMacCurrentCursor; - cursor->MacInstall(); - - wxSetCursor(*cursor); - } - //else: nothing to do, already set -} - -// Restore cursor to normal -void wxEndBusyCursor() -{ - wxCHECK_RET( gs_wxBusyCursorCount > 0, - wxT("no matching wxBeginBusyCursor() for wxEndBusyCursor()") ); - - if (--gs_wxBusyCursorCount == 0) - { - gMacStoredActiveCursor.MacInstall(); - gMacStoredActiveCursor = wxNullCursor; - - wxSetCursor(wxNullCursor); - } -} - -// true if we're between the above two calls -bool wxIsBusy() -{ - return (gs_wxBusyCursorCount > 0); -} - -#endif // wxUSE_GUI - -#if wxUSE_BASE - -wxString wxMacFindFolderNoSeparator( short vol, - OSType folderType, - Boolean createFolder) -{ - FSRef fsRef; - wxString strDir; - - if ( FSFindFolder( vol, folderType, createFolder, &fsRef) == noErr) - { - strDir = wxMacFSRefToPath( &fsRef ); - } - - return strDir; -} - -wxString wxMacFindFolder( short vol, - OSType folderType, - Boolean createFolder) -{ - return wxMacFindFolderNoSeparator(vol, folderType, createFolder) + wxFILE_SEP_PATH; -} - -#endif // wxUSE_BASE - - -// ============================================================================ -// GUI-only functions from now on -// ============================================================================ - -#if wxUSE_GUI - -// ---------------------------------------------------------------------------- -// Miscellaneous functions -// ---------------------------------------------------------------------------- - -void wxGetMousePosition( int* x, int* y ) -{ - Point pt; - GetGlobalMouse(&pt); - if ( x ) - *x = pt.h; - if ( y ) - *y = pt.v; -}; - -void wxClientDisplayRect(int *x, int *y, int *width, int *height) -{ - HIRect bounds ; - HIWindowGetAvailablePositioningBounds(kCGNullDirectDisplay,kHICoordSpace72DPIGlobal, - &bounds); - if ( x ) - *x = bounds.origin.x; - if ( y ) - *y = bounds.origin.y; - if ( width ) - *width = bounds.size.width; - if ( height ) - *height = bounds.size.height; -} - -#endif // wxUSE_GUI - -#if wxUSE_GUI - -// ---------------------------------------------------------------------------- -// Native Struct Conversions -// ---------------------------------------------------------------------------- - -void wxMacRectToNative( const wxRect *wx , Rect *n ) -{ - n->left = wx->x; - n->top = wx->y; - n->right = wx->x + wx->width; - n->bottom = wx->y + wx->height; -} - -void wxMacNativeToRect( const Rect *n , wxRect* wx ) -{ - wx->x = n->left; - wx->y = n->top; - wx->width = n->right - n->left; - wx->height = n->bottom - n->top; -} - -void wxMacPointToNative( const wxPoint* wx , Point *n ) -{ - n->h = wx->x; - n->v = wx->y; -} - -void wxMacNativeToPoint( const Point *n , wxPoint* wx ) -{ - wx->x = n->h; - wx->y = n->v; -} - -// ---------------------------------------------------------------------------- -// Carbon Event Support -// ---------------------------------------------------------------------------- - -OSStatus wxMacCarbonEvent::GetParameter(EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * outData) -{ - return ::GetEventParameter( m_eventRef , inName , inDesiredType , NULL , inBufferSize , NULL , outData ); -} - -OSStatus wxMacCarbonEvent::SetParameter(EventParamName inName, EventParamType inType, UInt32 inBufferSize, const void * inData) -{ - return ::SetEventParameter( m_eventRef , inName , inType , inBufferSize , inData ); -} - -// ---------------------------------------------------------------------------- -// Control Access Support -// ---------------------------------------------------------------------------- - - -// ============================================================================ -// DataBrowser Wrapper -// ============================================================================ -// -// basing on DataBrowserItemIDs -// - -wxIMPLEMENT_ABSTRACT_CLASS(wxMacDataBrowserControl, wxMacControl); - -pascal void wxMacDataBrowserControl::DataBrowserItemNotificationProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData ) -{ - wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl); - if ( ctl != 0 ) - { - ctl->ItemNotification(itemID, message, itemData); - } -} - -pascal OSStatus wxMacDataBrowserControl::DataBrowserGetSetItemDataProc( - ControlRef browser, - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ) -{ - OSStatus err = errDataBrowserPropertyNotSupported; - wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl); - if ( ctl != 0 ) - { - err = ctl->GetSetItemData(itemID, property, itemData, changeValue); - } - return err; -} - -pascal Boolean wxMacDataBrowserControl::DataBrowserCompareProc( - ControlRef browser, - DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty) -{ - wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl); - if ( ctl != 0 ) - { - return ctl->CompareItems(itemOneID, itemTwoID, sortProperty); - } - return false; -} - -DataBrowserItemDataUPP gDataBrowserItemDataUPP = NULL; -DataBrowserItemNotificationUPP gDataBrowserItemNotificationUPP = NULL; -DataBrowserItemCompareUPP gDataBrowserItemCompareUPP = NULL; - -wxMacDataBrowserControl::wxMacDataBrowserControl( wxWindow* peer, - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style)) - : wxMacControl( peer ) -{ - Rect bounds = wxMacGetBoundsForControl( peer, pos, size ); - OSStatus err = ::CreateDataBrowserControl( - MAC_WXHWND(peer->MacGetTopLevelWindowRef()), - &bounds, kDataBrowserListView, &m_controlRef ); - SetReferenceInNativeControl(); - verify_noerr( err ); - if ( gDataBrowserItemCompareUPP == NULL ) - gDataBrowserItemCompareUPP = NewDataBrowserItemCompareUPP(DataBrowserCompareProc); - if ( gDataBrowserItemDataUPP == NULL ) - gDataBrowserItemDataUPP = NewDataBrowserItemDataUPP(DataBrowserGetSetItemDataProc); - if ( gDataBrowserItemNotificationUPP == NULL ) - { - gDataBrowserItemNotificationUPP = - (DataBrowserItemNotificationUPP) NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationProc); - } - - DataBrowserCallbacks callbacks; - InitializeDataBrowserCallbacks( &callbacks, kDataBrowserLatestCallbacks ); - - callbacks.u.v1.itemDataCallback = gDataBrowserItemDataUPP; - callbacks.u.v1.itemCompareCallback = gDataBrowserItemCompareUPP; - callbacks.u.v1.itemNotificationCallback = gDataBrowserItemNotificationUPP; - SetCallbacks( &callbacks ); - -} - -OSStatus wxMacDataBrowserControl::GetItemCount( DataBrowserItemID container, - Boolean recurse, - DataBrowserItemState state, - ItemCount *numItems) const -{ - return GetDataBrowserItemCount( m_controlRef, container, recurse, state, numItems ); -} - -OSStatus wxMacDataBrowserControl::GetItems( DataBrowserItemID container, - Boolean recurse, - DataBrowserItemState state, - Handle items) const -{ - return GetDataBrowserItems( m_controlRef, container, recurse, state, items ); -} - -OSStatus wxMacDataBrowserControl::SetSelectionFlags( DataBrowserSelectionFlags options ) -{ - return SetDataBrowserSelectionFlags( m_controlRef, options ); -} - -OSStatus wxMacDataBrowserControl::AddColumn( DataBrowserListViewColumnDesc *columnDesc, - DataBrowserTableViewColumnIndex position ) -{ - return AddDataBrowserListViewColumn( m_controlRef, columnDesc, position ); -} - -OSStatus wxMacDataBrowserControl::GetColumnIDFromIndex( DataBrowserTableViewColumnIndex position, DataBrowserTableViewColumnID* id ) -{ - return GetDataBrowserTableViewColumnProperty( m_controlRef, position, id ); -} - -OSStatus wxMacDataBrowserControl::RemoveColumn( DataBrowserTableViewColumnIndex position ) -{ - DataBrowserTableViewColumnID id; - GetColumnIDFromIndex( position, &id ); - return RemoveDataBrowserTableViewColumn( m_controlRef, id ); -} - -OSStatus wxMacDataBrowserControl::AutoSizeColumns() -{ - return AutoSizeDataBrowserListViewColumns(m_controlRef); -} - -OSStatus wxMacDataBrowserControl::SetHasScrollBars( bool horiz, bool vert ) -{ - return SetDataBrowserHasScrollBars( m_controlRef, horiz, vert ); -} - -OSStatus wxMacDataBrowserControl::SetHiliteStyle( DataBrowserTableViewHiliteStyle hiliteStyle ) -{ - return SetDataBrowserTableViewHiliteStyle( m_controlRef, hiliteStyle ); -} - -OSStatus wxMacDataBrowserControl::SetHeaderButtonHeight(UInt16 height) -{ - return SetDataBrowserListViewHeaderBtnHeight( m_controlRef, height ); -} - -OSStatus wxMacDataBrowserControl::GetHeaderButtonHeight(UInt16 *height) -{ - return GetDataBrowserListViewHeaderBtnHeight( m_controlRef, height ); -} - -OSStatus wxMacDataBrowserControl::SetCallbacks(const DataBrowserCallbacks *callbacks) -{ - return SetDataBrowserCallbacks( m_controlRef, callbacks ); -} - -OSStatus wxMacDataBrowserControl::UpdateItems( - DataBrowserItemID container, - UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty, - DataBrowserPropertyID propertyID ) const -{ - return UpdateDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty, propertyID ); -} - -bool wxMacDataBrowserControl::IsItemSelected( DataBrowserItemID item ) const -{ - return IsDataBrowserItemSelected( m_controlRef, item ); -} - -OSStatus wxMacDataBrowserControl::AddItems( - DataBrowserItemID container, - UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty ) -{ - return AddDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty ); -} - -OSStatus wxMacDataBrowserControl::RemoveItems( - DataBrowserItemID container, - UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserPropertyID preSortProperty ) -{ - return RemoveDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty ); -} - -OSStatus wxMacDataBrowserControl::RevealItem( - DataBrowserItemID item, - DataBrowserPropertyID propertyID, - DataBrowserRevealOptions options ) const -{ - return RevealDataBrowserItem( m_controlRef, item, propertyID, options ); -} - -OSStatus wxMacDataBrowserControl::SetSelectedItems( - UInt32 numItems, - const DataBrowserItemID *items, - DataBrowserSetOption operation ) -{ - return SetDataBrowserSelectedItems( m_controlRef, numItems, items, operation ); -} - -OSStatus wxMacDataBrowserControl::GetSelectionAnchor( DataBrowserItemID *first, DataBrowserItemID *last ) const -{ - return GetDataBrowserSelectionAnchor( m_controlRef, first, last ); -} - -OSStatus wxMacDataBrowserControl::GetItemID( DataBrowserTableViewRowIndex row, DataBrowserItemID * item ) const -{ - return GetDataBrowserTableViewItemID( m_controlRef, row, item ); -} - -OSStatus wxMacDataBrowserControl::GetItemRow( DataBrowserItemID item, DataBrowserTableViewRowIndex * row ) const -{ - return GetDataBrowserTableViewItemRow( m_controlRef, item, row ); -} - -OSStatus wxMacDataBrowserControl::SetDefaultRowHeight( UInt16 height ) -{ - return SetDataBrowserTableViewRowHeight( m_controlRef , height ); -} - -OSStatus wxMacDataBrowserControl::GetDefaultRowHeight( UInt16 * height ) const -{ - return GetDataBrowserTableViewRowHeight( m_controlRef, height ); -} - -OSStatus wxMacDataBrowserControl::SetRowHeight( DataBrowserItemID item , UInt16 height) -{ - return SetDataBrowserTableViewItemRowHeight( m_controlRef, item , height ); -} - -OSStatus wxMacDataBrowserControl::GetRowHeight( DataBrowserItemID item , UInt16 *height) const -{ - return GetDataBrowserTableViewItemRowHeight( m_controlRef, item , height); -} - -OSStatus wxMacDataBrowserControl::GetColumnWidth( DataBrowserPropertyID column , UInt16 *width ) const -{ - return GetDataBrowserTableViewNamedColumnWidth( m_controlRef , column , width ); -} - -OSStatus wxMacDataBrowserControl::SetColumnWidth( DataBrowserPropertyID column , UInt16 width ) -{ - return SetDataBrowserTableViewNamedColumnWidth( m_controlRef , column , width ); -} - -OSStatus wxMacDataBrowserControl::GetDefaultColumnWidth( UInt16 *width ) const -{ - return GetDataBrowserTableViewColumnWidth( m_controlRef , width ); -} - -OSStatus wxMacDataBrowserControl::SetDefaultColumnWidth( UInt16 width ) -{ - return SetDataBrowserTableViewColumnWidth( m_controlRef , width ); -} - -OSStatus wxMacDataBrowserControl::GetColumnCount(UInt32* numColumns) const -{ - return GetDataBrowserTableViewColumnCount( m_controlRef, numColumns); -} - -OSStatus wxMacDataBrowserControl::GetColumnPosition( DataBrowserPropertyID column, - DataBrowserTableViewColumnIndex *position) const -{ - return GetDataBrowserTableViewColumnPosition( m_controlRef , column , position); -} - -OSStatus wxMacDataBrowserControl::SetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex position) -{ - return SetDataBrowserTableViewColumnPosition( m_controlRef , column , position); -} - -OSStatus wxMacDataBrowserControl::GetScrollPosition( UInt32 *top , UInt32 *left ) const -{ - return GetDataBrowserScrollPosition( m_controlRef , top , left ); -} - -OSStatus wxMacDataBrowserControl::SetScrollPosition( UInt32 top , UInt32 left ) -{ - return SetDataBrowserScrollPosition( m_controlRef , top , left ); -} - -OSStatus wxMacDataBrowserControl::GetSortProperty( DataBrowserPropertyID *column ) const -{ - return GetDataBrowserSortProperty( m_controlRef , column ); -} - -OSStatus wxMacDataBrowserControl::SetSortProperty( DataBrowserPropertyID column ) -{ - return SetDataBrowserSortProperty( m_controlRef , column ); -} - -OSStatus wxMacDataBrowserControl::GetSortOrder( DataBrowserSortOrder *order ) const -{ - return GetDataBrowserSortOrder( m_controlRef , order ); -} - -OSStatus wxMacDataBrowserControl::SetSortOrder( DataBrowserSortOrder order ) -{ - return SetDataBrowserSortOrder( m_controlRef , order ); -} - -OSStatus wxMacDataBrowserControl::GetPropertyFlags( DataBrowserPropertyID property, - DataBrowserPropertyFlags *flags ) const -{ - return GetDataBrowserPropertyFlags( m_controlRef , property , flags ); -} - -OSStatus wxMacDataBrowserControl::SetPropertyFlags( DataBrowserPropertyID property, - DataBrowserPropertyFlags flags ) -{ - return SetDataBrowserPropertyFlags( m_controlRef , property , flags ); -} - -OSStatus wxMacDataBrowserControl::GetHeaderDesc( DataBrowserPropertyID property, - DataBrowserListViewHeaderDesc *desc ) const -{ - return GetDataBrowserListViewHeaderDesc( m_controlRef , property , desc ); -} - -OSStatus wxMacDataBrowserControl::SetHeaderDesc( DataBrowserPropertyID property, - DataBrowserListViewHeaderDesc *desc ) -{ - return SetDataBrowserListViewHeaderDesc( m_controlRef , property , desc ); -} - -OSStatus wxMacDataBrowserControl::SetDisclosureColumn( DataBrowserPropertyID property , - Boolean expandableRows ) -{ - return SetDataBrowserListViewDisclosureColumn( m_controlRef, property, expandableRows); -} - -OSStatus wxMacDataBrowserControl::GetItemPartBounds( DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserPropertyPart part, Rect * bounds ) -{ - return GetDataBrowserItemPartBounds( m_controlRef, item, property, part, bounds); -} - -// ============================================================================ -// Higher-level Databrowser -// ============================================================================ -// -// basing on data item objects -// - -wxMacDataItem::wxMacDataItem() -{ -// m_data = NULL; - - m_order = 0; -// m_colId = kTextColumnId; // for compat with existing wx*ListBox impls. -} - -wxMacDataItem::~wxMacDataItem() -{ -} - -void wxMacDataItem::SetOrder( SInt32 order ) -{ - m_order = order; -} - -SInt32 wxMacDataItem::GetOrder() const -{ - return m_order; -} -/* -void wxMacDataItem::SetData( void* data) -{ - m_data = data; -} - -void* wxMacDataItem::GetData() const -{ - return m_data; -} - -short wxMacDataItem::GetColumn() -{ - return m_colId; -} - -void wxMacDataItem::SetColumn( short col ) -{ - m_colId = col; -} - -void wxMacDataItem::SetLabel( const wxString& str) -{ - m_label = str; - m_cfLabel = wxCFStringRef( str , wxLocale::GetSystemEncoding()); -} - -const wxString& wxMacDataItem::GetLabel() const -{ - return m_label; -} -*/ - -bool wxMacDataItem::IsLessThan(wxMacDataItemBrowserControl *WXUNUSED(owner) , - const wxMacDataItem* rhs, - DataBrowserPropertyID sortProperty) const -{ - bool retval = false; - - if ( sortProperty == kNumericOrderColumnId ) - retval = m_order < rhs->m_order; - - return retval; -} - -OSStatus wxMacDataItem::GetSetData( wxMacDataItemBrowserControl *WXUNUSED(owner) , - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - bool changeValue ) -{ - OSStatus err = errDataBrowserPropertyNotSupported; - if ( !changeValue ) - { - if ( property == kNumericOrderColumnId ) - { - err = ::SetDataBrowserItemDataValue( itemData, m_order ); - err = noErr; - } - } - - return err; -} - -void wxMacDataItem::Notification(wxMacDataItemBrowserControl *WXUNUSED(owner) , - DataBrowserItemNotification WXUNUSED(message), - DataBrowserItemDataRef WXUNUSED(itemData) ) const -{ -} - -wxIMPLEMENT_DYNAMIC_CLASS(wxMacDataItemBrowserControl, wxMacDataBrowserControl); - -wxMacDataItemBrowserControl::wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style) : - wxMacDataBrowserControl( peer, pos, size, style ) -{ - m_suppressSelection = false; - m_sortOrder = SortOrder_None; - m_clientDataItemsType = wxClientData_None; -} - -wxMacDataItemBrowserSelectionSuppressor::wxMacDataItemBrowserSelectionSuppressor(wxMacDataItemBrowserControl *browser) -{ - m_former = browser->SuppressSelection(true); - m_browser = browser; -} - -wxMacDataItemBrowserSelectionSuppressor::~wxMacDataItemBrowserSelectionSuppressor() -{ - m_browser->SuppressSelection(m_former); -} - -bool wxMacDataItemBrowserControl::SuppressSelection( bool suppress ) -{ - bool former = m_suppressSelection; - m_suppressSelection = suppress; - - return former; -} - -Boolean wxMacDataItemBrowserControl::CompareItems(DataBrowserItemID itemOneID, - DataBrowserItemID itemTwoID, - DataBrowserPropertyID sortProperty) -{ - wxMacDataItem* itemOne = (wxMacDataItem*) itemOneID; - wxMacDataItem* itemTwo = (wxMacDataItem*) itemTwoID; - - Boolean retval = false; - if ( itemOne != NULL ) - retval = itemOne->IsLessThan( this , itemTwo , sortProperty); - return retval; -} - -OSStatus wxMacDataItemBrowserControl::GetSetItemData( - DataBrowserItemID itemID, - DataBrowserPropertyID property, - DataBrowserItemDataRef itemData, - Boolean changeValue ) -{ - wxMacDataItem* item = (wxMacDataItem*) itemID; - OSStatus err = errDataBrowserPropertyNotSupported; - switch( property ) - { - case kDataBrowserContainerIsClosableProperty : - case kDataBrowserContainerIsSortableProperty : - case kDataBrowserContainerIsOpenableProperty : - // right now default behaviour on these - break; - default : - - if ( item != NULL ){ - err = item->GetSetData( this, property , itemData , changeValue ); - } - break; - - } - return err; -} - -void wxMacDataItemBrowserControl::ItemNotification( - DataBrowserItemID itemID, - DataBrowserItemNotification message, - DataBrowserItemDataRef itemData) -{ - wxMacDataItem* item = (wxMacDataItem*) itemID; - if (item != NULL) - item->Notification( this, message, itemData); -} - -unsigned int wxMacDataItemBrowserControl::GetItemCount(const wxMacDataItem* container, - bool recurse , DataBrowserItemState state) const -{ - ItemCount numItems = 0; - verify_noerr( wxMacDataBrowserControl::GetItemCount( (DataBrowserItemID)container, - recurse, state, &numItems ) ); - return numItems; -} - -unsigned int wxMacDataItemBrowserControl::GetSelectedItemCount( const wxMacDataItem* container, - bool recurse ) const -{ - return GetItemCount( container, recurse, kDataBrowserItemIsSelected ); - -} - -void wxMacDataItemBrowserControl::GetItems(const wxMacDataItem* container, - bool recurse , DataBrowserItemState state, wxArrayMacDataItemPtr &items) const -{ - Handle handle = NewHandle(0); - verify_noerr( wxMacDataBrowserControl::GetItems( (DataBrowserItemID)container , - recurse , state, handle) ); - - int itemCount = GetHandleSize(handle)/sizeof(DataBrowserItemID); - HLock( handle ); - wxMacDataItemPtr* itemsArray = (wxMacDataItemPtr*) *handle; - for ( int i = 0; i < itemCount; ++i) - { - items.Add(itemsArray[i]); - } - HUnlock( handle ); - DisposeHandle( handle ); -} - -unsigned int wxMacDataItemBrowserControl::GetLineFromItem(const wxMacDataItem* item) const -{ - DataBrowserTableViewRowIndex row; - OSStatus err = GetItemRow( (DataBrowserItemID) item , &row); - wxCHECK( err == noErr, (unsigned)-1 ); - return row; -} - -wxMacDataItem* wxMacDataItemBrowserControl::GetItemFromLine(unsigned int n) const -{ - DataBrowserItemID id; - OSStatus err = GetItemID( (DataBrowserTableViewRowIndex) n , &id); - wxCHECK( err == noErr, NULL ); - return (wxMacDataItem*) id; -} - -void wxMacDataItemBrowserControl::UpdateItem(const wxMacDataItem *container, - const wxMacDataItem *item , DataBrowserPropertyID property) const -{ - verify_noerr( wxMacDataBrowserControl::UpdateItems((DataBrowserItemID)container, 1, - (DataBrowserItemID*) &item, kDataBrowserItemNoProperty /* notSorted */, property ) ); -} - -void wxMacDataItemBrowserControl::UpdateItems(const wxMacDataItem *container, - wxArrayMacDataItemPtr &itemArray , DataBrowserPropertyID property) const -{ - unsigned int noItems = itemArray.GetCount(); - DataBrowserItemID *items = new DataBrowserItemID[noItems]; - for ( unsigned int i = 0; i < noItems; ++i ) - items[i] = (DataBrowserItemID) itemArray[i]; - - verify_noerr( wxMacDataBrowserControl::UpdateItems((DataBrowserItemID)container, noItems, - items, kDataBrowserItemNoProperty /* notSorted */, property ) ); - delete [] items; -} - -static int column_id_counter = 0; - -void wxMacDataItemBrowserControl::InsertColumn(int col, DataBrowserPropertyType colType, - const wxString& title, SInt16 just, int defaultWidth) -{ - DataBrowserListViewColumnDesc columnDesc; - columnDesc.headerBtnDesc.titleOffset = 0; - columnDesc.headerBtnDesc.version = kDataBrowserListViewLatestHeaderDesc; - - columnDesc.headerBtnDesc.btnFontStyle.flags = - kControlUseFontMask | kControlUseJustMask; - - columnDesc.headerBtnDesc.btnContentInfo.contentType = kControlContentTextOnly; - columnDesc.headerBtnDesc.btnFontStyle.just = just; - columnDesc.headerBtnDesc.btnFontStyle.font = kControlFontViewSystemFont; - columnDesc.headerBtnDesc.btnFontStyle.style = normal; - - // TODO: Why is m_font not defined when we enter wxLC_LIST mode, but is - // defined for other modes? - wxFontEncoding enc; - if ( m_font.IsOk() ) - enc = m_font.GetEncoding(); - else - enc = wxLocale::GetSystemEncoding(); - wxCFStringRef cfTitle( title, enc ); - columnDesc.headerBtnDesc.titleString = cfTitle; - - columnDesc.headerBtnDesc.minimumWidth = 0; - columnDesc.headerBtnDesc.maximumWidth = 30000; - - DataBrowserPropertyID id = kMinColumnId + column_id_counter; - column_id_counter++; - - columnDesc.propertyDesc.propertyID = id; - columnDesc.propertyDesc.propertyType = colType; - columnDesc.propertyDesc.propertyFlags = kDataBrowserListViewSortableColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewTypeSelectColumn; - columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewNoGapForIconInHeaderButton; - - verify_noerr( AddColumn( &columnDesc, col ) ); - - if (defaultWidth > 0){ - SetColumnWidth(col, defaultWidth); - } -} - -void wxMacDataItemBrowserControl::SetColumnWidth(int colId, int width) -{ - DataBrowserPropertyID id; - GetColumnIDFromIndex(colId, &id); - verify_noerr( wxMacDataBrowserControl::SetColumnWidth(id, width)); -} - -int wxMacDataItemBrowserControl::GetColumnWidth(int colId) -{ - DataBrowserPropertyID id; - GetColumnIDFromIndex(colId, &id); - UInt16 result; - verify_noerr( wxMacDataBrowserControl::GetColumnWidth(id, &result)); - return result; -} - -void wxMacDataItemBrowserControl::AddItem(wxMacDataItem *container, wxMacDataItem *item) -{ - verify_noerr( wxMacDataBrowserControl::AddItems( (DataBrowserItemID)container, 1, - (DataBrowserItemID*) &item, kDataBrowserItemNoProperty ) ); -} - -void wxMacDataItemBrowserControl::AddItems(wxMacDataItem *container, wxArrayMacDataItemPtr &itemArray ) -{ - unsigned int noItems = itemArray.GetCount(); - DataBrowserItemID *items = new DataBrowserItemID[noItems]; - for ( unsigned int i = 0; i < noItems; ++i ) - items[i] = (DataBrowserItemID) itemArray[i]; - - verify_noerr( wxMacDataBrowserControl::AddItems( (DataBrowserItemID)container, noItems, - (DataBrowserItemID*) items, kDataBrowserItemNoProperty ) ); - delete [] items; -} - -void wxMacDataItemBrowserControl::RemoveItem(wxMacDataItem *container, wxMacDataItem* item) -{ - OSStatus err = wxMacDataBrowserControl::RemoveItems( (DataBrowserItemID)container, 1, - (DataBrowserItemID*) &item, kDataBrowserItemNoProperty ); - verify_noerr( err ); -} - -void wxMacDataItemBrowserControl::RemoveItems(wxMacDataItem *container, wxArrayMacDataItemPtr &itemArray) -{ - unsigned int noItems = itemArray.GetCount(); - DataBrowserItemID *items = new DataBrowserItemID[noItems]; - for ( unsigned int i = 0; i < noItems; ++i ) - items[i] = (DataBrowserItemID) itemArray[i]; - - OSStatus err = wxMacDataBrowserControl::RemoveItems( (DataBrowserItemID)container, noItems, - (DataBrowserItemID*) items, kDataBrowserItemNoProperty ); - verify_noerr( err ); - delete [] items; -} - -void wxMacDataItemBrowserControl::RemoveAllItems(wxMacDataItem *container) -{ - SetScrollPosition(0, 0); - OSStatus err = wxMacDataBrowserControl::RemoveItems( (DataBrowserItemID)container, 0 , NULL , kDataBrowserItemNoProperty ); - verify_noerr( err ); -} - -void wxMacDataItemBrowserControl::SetSelectedItem(wxMacDataItem* item , DataBrowserSetOption option) -{ - verify_noerr(wxMacDataBrowserControl::SetSelectedItems( 1, (DataBrowserItemID*) &item, option )); -} - -void wxMacDataItemBrowserControl::SetSelectedAllItems(DataBrowserSetOption option) -{ - verify_noerr(wxMacDataBrowserControl::SetSelectedItems( 0 , NULL , option )); -} - -void wxMacDataItemBrowserControl::SetSelectedItems(wxArrayMacDataItemPtr &itemArray , DataBrowserSetOption option) -{ - unsigned int noItems = itemArray.GetCount(); - DataBrowserItemID *items = new DataBrowserItemID[noItems]; - for ( unsigned int i = 0; i < noItems; ++i ) - items[i] = (DataBrowserItemID) itemArray[i]; - - verify_noerr(wxMacDataBrowserControl::SetSelectedItems( noItems, (DataBrowserItemID*) items, option )); - delete [] items; -} - -Boolean wxMacDataItemBrowserControl::IsItemSelected( const wxMacDataItem* item) const -{ - return wxMacDataBrowserControl::IsItemSelected( (DataBrowserItemID) item); -} - -void wxMacDataItemBrowserControl::RevealItem( wxMacDataItem* item, DataBrowserRevealOptions options) -{ - verify_noerr(wxMacDataBrowserControl::RevealItem( (DataBrowserItemID) item, kDataBrowserNoItem , options ) ); -} - -void wxMacDataItemBrowserControl::GetSelectionAnchor( wxMacDataItemPtr* first , wxMacDataItemPtr* last) const -{ - verify_noerr(wxMacDataBrowserControl::GetSelectionAnchor( (DataBrowserItemID*) first, (DataBrowserItemID*) last) ); -} - -wxClientDataType wxMacDataItemBrowserControl::GetClientDataType() const -{ - return m_clientDataItemsType; -} -void wxMacDataItemBrowserControl::SetClientDataType(wxClientDataType clientDataItemsType) -{ - m_clientDataItemsType = clientDataItemsType; -} - -void wxMacDataItemBrowserControl::MacDelete( unsigned int n ) -{ - wxMacDataItem* item = (wxMacDataItem*)GetItemFromLine( n ); - RemoveItem( wxMacDataBrowserRootContainer, item ); -} - -void wxMacDataItemBrowserControl::MacInsert( unsigned int n, wxMacDataItem* item) -{ - if ( m_sortOrder == SortOrder_None ) - { - - // increase the order of the lines to be shifted - unsigned int lines = MacGetCount(); - for ( unsigned int i = n; i < lines; ++i) - { - wxMacDataItem* iter = (wxMacDataItem*) GetItemFromLine(i); - iter->SetOrder( iter->GetOrder() + 1 ); - } - -#if 0 - // I don't understand what this code is supposed to do, RR. - SInt32 frontLineOrder = 0; - if ( n > 0 ) - { - wxMacDataItem* iter = (wxMacDataItem*) GetItemFromLine(n-1); - frontLineOrder = iter->GetOrder()+1; - } -#else - item->SetOrder( n ); -#endif - } - - AddItem( wxMacDataBrowserRootContainer, item ); -} - -void wxMacDataItemBrowserControl::MacClear() -{ - wxMacDataItemBrowserSelectionSuppressor suppressor(this); - RemoveAllItems(wxMacDataBrowserRootContainer); -} - -unsigned int wxMacDataItemBrowserControl::MacGetCount() const -{ - return GetItemCount(wxMacDataBrowserRootContainer,false,kDataBrowserItemAnyState); -} - -#endif // wxUSE_GUI - diff --git a/src/osx/carbon/utilscocoa.mm b/src/osx/carbon/utilscocoa.mm index 489aeaba56..34b3003a23 100644 --- a/src/osx/carbon/utilscocoa.mm +++ b/src/osx/carbon/utilscocoa.mm @@ -29,15 +29,6 @@ #ifdef __WXMAC__ -#if wxOSX_USE_CARBON -bool wxMacInitCocoa() -{ - bool cocoaLoaded = NSApplicationLoad(); - wxASSERT_MSG(cocoaLoaded,wxT("Couldn't load Cocoa in Carbon Environment")) ; - return cocoaLoaded; -} -#endif - wxMacAutoreleasePool::wxMacAutoreleasePool() { m_pool = [[NSAutoreleasePool alloc] init]; @@ -399,15 +390,6 @@ double wxOSXGetMainScreenContentScaleFactor() #endif -#if wxOSX_USE_CARBON - -double wxOSXGetMainScreenContentScaleFactor() -{ - return 1.0; -} - -#endif - #if wxOSX_USE_COCOA wxBitmap wxOSXCreateSystemBitmap(const wxString& name, const wxString &WXUNUSED(client), const wxSize& WXUNUSED(size)) diff --git a/src/osx/carbon/window.cpp b/src/osx/carbon/window.cpp deleted file mode 100644 index 539dcb0ca1..0000000000 --- a/src/osx/carbon/window.cpp +++ /dev/null @@ -1,1481 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/window.cpp -// Purpose: wxWindowMac -// Author: Stefan Csomor -// Modified by: -// Created: 1998-01-01 -// Copyright: (c) Stefan Csomor -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/wxprec.h" - -#include "wx/window.h" - -#ifndef WX_PRECOMP - #include "wx/log.h" - #include "wx/app.h" - #include "wx/utils.h" - #include "wx/panel.h" - #include "wx/frame.h" - #include "wx/dc.h" - #include "wx/dcclient.h" - #include "wx/button.h" - #include "wx/menu.h" - #include "wx/dialog.h" - #include "wx/settings.h" - #include "wx/msgdlg.h" - #include "wx/scrolbar.h" - #include "wx/statbox.h" - #include "wx/textctrl.h" - #include "wx/toolbar.h" - #include "wx/layout.h" - #include "wx/statusbr.h" - #include "wx/menuitem.h" - #include "wx/treectrl.h" - #include "wx/listctrl.h" -#endif - -#include "wx/tooltip.h" -#include "wx/spinctrl.h" -#include "wx/geometry.h" - -#if wxUSE_LISTCTRL - #include "wx/listctrl.h" -#endif - -#if wxUSE_TREECTRL - #include "wx/treectrl.h" -#endif - -#if wxUSE_CARET - #include "wx/caret.h" -#endif - -#if wxUSE_POPUPWIN - #include "wx/popupwin.h" -#endif - -#if wxUSE_DRAG_AND_DROP -#include "wx/dnd.h" -#endif - -#if wxOSX_USE_CARBON -#include "wx/osx/uma.h" -#else -#include "wx/osx/private.h" -// bring in theming -#include -#endif - -#define MAC_SCROLLBAR_SIZE 15 -#define MAC_SMALL_SCROLLBAR_SIZE 11 - -#include - -#define wxMAC_DEBUG_REDRAW 0 -#ifndef wxMAC_DEBUG_REDRAW -#define wxMAC_DEBUG_REDRAW 0 -#endif - -// Get the window with the focus -WXWidget wxWidgetImpl::FindFocus() -{ - ControlRef control = NULL ; - GetKeyboardFocus( GetUserFocusWindow() , &control ) ; - return control; -} - -// no compositing to take into account under carbon -wxWidgetImpl* wxWidgetImpl::FindBestFromWXWidget(WXWidget control) -{ - return FindFromWXWidget(control); -} - -// --------------------------------------------------------------------------- -// Carbon Events -// --------------------------------------------------------------------------- - -static const EventTypeSpec eventList[] = -{ - { kEventClassCommand, kEventProcessCommand } , - { kEventClassCommand, kEventCommandUpdateStatus } , - - { kEventClassControl , kEventControlGetClickActivation } , - { kEventClassControl , kEventControlHit } , - - { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } , - { kEventClassTextInput, kEventTextInputUpdateActiveInputArea } , - - { kEventClassControl , kEventControlDraw } , - - { kEventClassControl , kEventControlVisibilityChanged } , - { kEventClassControl , kEventControlEnabledStateChanged } , - { kEventClassControl , kEventControlHiliteChanged } , - - { kEventClassControl , kEventControlActivate } , - { kEventClassControl , kEventControlDeactivate } , - - { kEventClassControl , kEventControlSetFocusPart } , - { kEventClassControl , kEventControlFocusPartChanged } , - - { kEventClassService , kEventServiceGetTypes }, - { kEventClassService , kEventServiceCopy }, - { kEventClassService , kEventServicePaste }, - -// { kEventClassControl , kEventControlInvalidateForSizeChange } , // 10.3 only -// { kEventClassControl , kEventControlBoundsChanged } , -} ; - -static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - static wxWindowMac* targetFocusWindow = NULL; - static wxWindowMac* formerFocusWindow = NULL; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - wxWindowMac* thisWindow = (wxWindowMac*) data ; - - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - switch ( GetEventKind( event ) ) - { - case kEventControlDraw : - { - HIShapeRef updateRgn = NULL ; - HIMutableShapeRef allocatedRgn = NULL ; - wxRegion visRegion = thisWindow->MacGetVisibleRegion() ; - - // according to the docs: redraw entire control if param not present - if ( cEvent.GetParameter(kEventParamShape, &updateRgn) != noErr ) - { - updateRgn = visRegion.GetWXHRGN(); - } - else - { - if ( thisWindow->MacGetLeftBorderSize() != 0 || thisWindow->MacGetTopBorderSize() != 0 ) - { - // as this update region is in native window locals we must adapt it to wx window local - allocatedRgn = HIShapeCreateMutableCopy(updateRgn); - HIShapeOffset(allocatedRgn, thisWindow->MacGetLeftBorderSize() , thisWindow->MacGetTopBorderSize()); - // hide the given region by the new region that must be shifted - updateRgn = allocatedRgn ; - } - } - -#if wxMAC_DEBUG_REDRAW - if ( thisWindow->MacIsUserPane() ) - { - static float color = 0.5 ; - static int channel = 0 ; - HIRect bounds; - CGContextRef cgContext = cEvent.GetParameter(kEventParamCGContextRef) ; - - HIViewGetBounds( controlRef, &bounds ); - CGContextSetRGBFillColor( cgContext, channel == 0 ? color : 0.5 , - channel == 1 ? color : 0.5 , channel == 2 ? color : 0.5 , 1 ); - CGContextFillRect( cgContext, bounds ); - color += 0.1 ; - if ( color > 0.9 ) - { - color = 0.5 ; - channel++ ; - if ( channel == 3 ) - channel = 0 ; - } - } -#endif - - { - CGContextRef cgContext = NULL ; - OSStatus err = cEvent.GetParameter(kEventParamCGContextRef, &cgContext) ; - if ( err != noErr ) - { - // for non-composite drawing, since we don't support it ourselves, send it through the - // the default handler - // CallNextEventHandler( handler,event ) ; - // result = noErr ; - if ( allocatedRgn ) - CFRelease( allocatedRgn ) ; - break; - } - - thisWindow->MacSetCGContextRef( cgContext ) ; - - { - wxMacCGContextStateSaver sg( cgContext ) ; - CGFloat alpha = (CGFloat)1.0 ; - { - wxWindow* iter = thisWindow ; - while ( iter ) - { - alpha *= (CGFloat)( iter->GetTransparent()/255.0 ) ; - if ( iter->IsTopLevel() ) - iter = NULL ; - else - iter = iter->GetParent() ; - } - } - CGContextSetAlpha( cgContext, alpha ) ; - - if ( thisWindow->GetBackgroundStyle() == wxBG_STYLE_TRANSPARENT ) - { - HIRect bounds; - HIViewGetBounds( controlRef, &bounds ); - CGContextClearRect( cgContext, bounds ); - } - - if ( !HIShapeIsEmpty(updateRgn) ) - { - // refcount increase because wxRegion constructor takes ownership of the native region - CFRetain(updateRgn); - thisWindow->GetUpdateRegion() = wxRegion(updateRgn); - if ( !thisWindow->MacDoRedraw( cEvent.GetTicks() ) ) - { - // for native controls: call their native paint method - if ( !thisWindow->MacIsUserPane() || - ( thisWindow->IsTopLevel() && thisWindow->GetBackgroundStyle() == wxBG_STYLE_SYSTEM ) ) - { - if ( thisWindow->GetBackgroundStyle() != wxBG_STYLE_TRANSPARENT ) - { - CallNextEventHandler( handler,event ) ; - result = noErr ; - } - } - } - else - { - result = noErr ; - } - thisWindow->MacPaintChildrenBorders(); - } - thisWindow->MacSetCGContextRef( NULL ) ; - } - } - - if ( allocatedRgn ) - CFRelease( allocatedRgn ) ; - } - break ; - - case kEventControlVisibilityChanged : - // we might have two native controls attributed to the same wxWindow instance - // eg a scrollview and an embedded textview, make sure we only fire for the 'outer' - // control, as otherwise native and wx visibility are different - if ( thisWindow->GetPeer() != NULL && thisWindow->GetPeer()->GetControlRef() == controlRef ) - { - thisWindow->MacVisibilityChanged() ; - } - break ; - - case kEventControlEnabledStateChanged : - thisWindow->MacEnabledStateChanged(); - break ; - - case kEventControlHiliteChanged : - thisWindow->MacHiliteChanged() ; - break ; - - case kEventControlActivate : - case kEventControlDeactivate : - // FIXME: we should have a virtual function for this! -#if wxUSE_TREECTRL - if ( thisWindow->IsKindOf( CLASSINFO( wxTreeCtrl ) ) ) - thisWindow->Refresh(); -#endif -#if wxUSE_LISTCTRL - if ( thisWindow->IsKindOf( CLASSINFO( wxListCtrl ) ) ) - thisWindow->Refresh(); -#endif - break ; - - // - // focus handling - // different handling on OS X - // - - case kEventControlFocusPartChanged : - // the event is emulated by wxmac for systems lower than 10.5 - { - ControlPartCode previousControlPart = cEvent.GetParameter(kEventParamControlPreviousPart , typeControlPartCode ); - ControlPartCode currentControlPart = cEvent.GetParameter(kEventParamControlCurrentPart , typeControlPartCode ); - - if ( thisWindow->MacGetTopLevelWindow() && thisWindow->GetPeer()->NeedsFocusRect() ) - { - thisWindow->MacInvalidateBorders(); - } - - if ( currentControlPart == 0 ) - { - // kill focus -#if wxUSE_CARET - if ( thisWindow->GetCaret() ) - thisWindow->GetCaret()->OnKillFocus(); -#endif - - wxLogTrace(wxT("Focus"), wxT("focus lost(%p)"), static_cast(thisWindow)); - - // remove this as soon as posting the synthesized event works properly - static bool inKillFocusEvent = false ; - - if ( !inKillFocusEvent ) - { - inKillFocusEvent = true ; - wxFocusEvent event( wxEVT_KILL_FOCUS, thisWindow->GetId()); - event.SetEventObject(thisWindow); - event.SetWindow(targetFocusWindow); - thisWindow->HandleWindowEvent(event) ; - inKillFocusEvent = false ; - targetFocusWindow = NULL; - } - } - else if ( previousControlPart == 0 ) - { - // set focus - // panel wants to track the window which was the last to have focus in it - wxLogTrace(wxT("Focus"), wxT("focus set(%p)"), static_cast(thisWindow)); - wxChildFocusEvent eventFocus((wxWindow*)thisWindow); - thisWindow->HandleWindowEvent(eventFocus); - -#if wxUSE_CARET - if ( thisWindow->GetCaret() ) - thisWindow->GetCaret()->OnSetFocus(); -#endif - - wxFocusEvent event(wxEVT_SET_FOCUS, thisWindow->GetId()); - event.SetEventObject(thisWindow); - event.SetWindow(formerFocusWindow); - thisWindow->HandleWindowEvent(event) ; - formerFocusWindow = NULL; - } - } - break; - case kEventControlSetFocusPart : - { - Boolean focusEverything = false ; - if ( cEvent.GetParameter(kEventParamControlFocusEverything , &focusEverything ) == noErr ) - { - // put a breakpoint here to catch focus everything events - } - ControlPartCode controlPart = cEvent.GetParameter(kEventParamControlPart , typeControlPartCode ); - if ( controlPart != kControlFocusNoPart ) - { - targetFocusWindow = thisWindow; - wxLogTrace(wxT("Focus"), wxT("focus to be set(%p)"), static_cast(thisWindow)); - } - else - { - formerFocusWindow = thisWindow; - wxLogTrace(wxT("Focus"), wxT("focus to be lost(%p)"), static_cast(thisWindow)); - } - - ControlPartCode previousControlPart = 0; - verify_noerr( HIViewGetFocusPart(controlRef, &previousControlPart)); - - if ( thisWindow->MacIsUserPane() ) - { - if ( controlPart != kControlFocusNoPart ) - cEvent.SetParameter( kEventParamControlPart, typeControlPartCode, 1 ) ; - result = noErr ; - } - else - result = CallNextEventHandler(handler, event); - } - break ; - - case kEventControlHit : - result = thisWindow->MacControlHit( handler , event ) ; - break ; - - case kEventControlGetClickActivation : - { - // fix to always have a proper activation for DataBrowser controls (stay in bkgnd otherwise) - WindowRef owner = cEvent.GetParameter(kEventParamWindowRef); - if ( !IsWindowActive(owner) ) - { - cEvent.SetParameter(kEventParamClickActivation,typeClickActivationResult, (UInt32) kActivateAndIgnoreClick) ; - result = noErr ; - } - } - break ; - - default : - break ; - } - - return result ; -} - -static pascal OSStatus -wxMacWindowServiceEventHandler(EventHandlerCallRef WXUNUSED(handler), - EventRef event, - void *data) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - wxWindowMac* thisWindow = (wxWindowMac*) data ; - wxTextCtrl* textCtrl = wxDynamicCast( thisWindow , wxTextCtrl ) ; - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - switch ( GetEventKind( event ) ) - { - case kEventServiceGetTypes : - if ( textCtrl ) - { - long from, to ; - textCtrl->GetSelection( &from , &to ) ; - - CFMutableArrayRef copyTypes = 0 , pasteTypes = 0; - if ( from != to ) - copyTypes = cEvent.GetParameter< CFMutableArrayRef >( kEventParamServiceCopyTypes , typeCFMutableArrayRef ) ; - if ( textCtrl->IsEditable() ) - pasteTypes = cEvent.GetParameter< CFMutableArrayRef >( kEventParamServicePasteTypes , typeCFMutableArrayRef ) ; - - static const OSType textDataTypes[] = { kTXNTextData /* , 'utxt', 'PICT', 'MooV', 'AIFF' */ }; - for ( size_t i = 0 ; i < WXSIZEOF(textDataTypes) ; ++i ) - { - CFStringRef typestring = CreateTypeStringWithOSType(textDataTypes[i]); - if ( typestring ) - { - if ( copyTypes ) - CFArrayAppendValue(copyTypes, typestring) ; - if ( pasteTypes ) - CFArrayAppendValue(pasteTypes, typestring) ; - - CFRelease( typestring ) ; - } - } - - result = noErr ; - } - break ; - - case kEventServiceCopy : - if ( textCtrl ) - { - long from, to ; - - textCtrl->GetSelection( &from , &to ) ; - wxString val = textCtrl->GetValue() ; - val = val.Mid( from , to - from ) ; - PasteboardRef pasteboard = cEvent.GetParameter( kEventParamPasteboardRef, typePasteboardRef ); - verify_noerr( PasteboardClear( pasteboard ) ) ; - PasteboardSynchronize( pasteboard ); - // TODO add proper conversion - CFDataRef data = CFDataCreate( kCFAllocatorDefault, (const UInt8*)val.c_str(), val.length() ); - PasteboardPutItemFlavor( pasteboard, (PasteboardItemID) 1, CFSTR("com.apple.traditional-mac-plain-text"), data, 0); - CFRelease( data ); - result = noErr ; - } - break ; - - case kEventServicePaste : - if ( textCtrl ) - { - PasteboardRef pasteboard = cEvent.GetParameter( kEventParamPasteboardRef, typePasteboardRef ); - PasteboardSynchronize( pasteboard ); - ItemCount itemCount; - verify_noerr( PasteboardGetItemCount( pasteboard, &itemCount ) ); - for( UInt32 itemIndex = 1; itemIndex <= itemCount; itemIndex++ ) - { - PasteboardItemID itemID; - if ( PasteboardGetItemIdentifier( pasteboard, itemIndex, &itemID ) == noErr ) - { - CFDataRef flavorData = NULL; - if ( PasteboardCopyItemFlavorData( pasteboard, itemID, CFSTR("com.apple.traditional-mac-plain-text"), &flavorData ) == noErr ) - { - CFIndex flavorDataSize = CFDataGetLength( flavorData ); - char *content = new char[flavorDataSize+1] ; - memcpy( content, CFDataGetBytePtr( flavorData ), flavorDataSize ); - content[flavorDataSize]=0; - CFRelease( flavorData ); -#if wxUSE_UNICODE - textCtrl->WriteText( wxString( content , wxConvLocal ) ); -#else - textCtrl->WriteText( wxString( content ) ) ; -#endif - - delete[] content ; - result = noErr ; - } - } - } - } - break ; - - default: - break ; - } - - return result ; -} - -WXDLLEXPORT pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - wxWindowMac* focus = (wxWindowMac*) data ; - - wchar_t* uniChars = NULL ; - UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ; - - UniChar* charBuf = NULL; - ByteCount dataSize = 0 ; - int numChars = 0 ; - UniChar buf[2] ; - if ( GetEventParameter( event, kEventParamTextInputSendText, typeUnicodeText, NULL, 0 , &dataSize, NULL ) == noErr ) - { - numChars = dataSize / sizeof( UniChar) + 1; - charBuf = buf ; - - if ( (size_t) numChars * 2 > sizeof(buf) ) - charBuf = new UniChar[ numChars ] ; - else - charBuf = buf ; - - uniChars = new wchar_t[ numChars ] ; - GetEventParameter( event, kEventParamTextInputSendText, typeUnicodeText, NULL, dataSize , NULL , charBuf ) ; - charBuf[ numChars - 1 ] = 0; - // the resulting string will never have more chars than the utf16 version, so this is safe - wxMBConvUTF16 converter ; - numChars = converter.MB2WC( uniChars , (const char*)charBuf , numChars ) ; - } - - switch ( GetEventKind( event ) ) - { - case kEventTextInputUpdateActiveInputArea : - { - // An IME input event may return several characters, but we need to send one char at a time to - // EVT_CHAR - for (int pos=0 ; pos < numChars ; pos++) - { - WXEVENTREF formerEvent = wxTheApp->MacGetCurrentEvent() ; - WXEVENTHANDLERCALLREF formerHandler = wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - - UInt32 message = uniChars[pos] < 128 ? (char)uniChars[pos] : '?'; -/* - NB: faking a charcode here is problematic. The kEventTextInputUpdateActiveInputArea event is sent - multiple times to update the active range during inline input, so this handler will often receive - uncommited text, which should usually not trigger side effects. It might be a good idea to check the - kEventParamTextInputSendFixLen parameter and verify if input is being confirmed (see CarbonEvents.h). - On the other hand, it can be useful for some applications to react to uncommitted text (for example, - to update a status display), as long as it does not disrupt the inline input session. Ideally, wx - should add new event types to support advanced text input. For now, I would keep things as they are. - - However, the code that was being used caused additional problems: - UInt32 message = (0 << 8) + ((char)uniChars[pos] ); - Since it simply truncated the unichar to the last byte, it ended up causing weird bugs with inline - input, such as switching to another field when one attempted to insert the character U+4E09 (the kanji - for "three"), because it was truncated to 09 (kTabCharCode), which was later "converted" to WXK_TAB - (still 09) in wxMacTranslateKey; or triggering the default button when one attempted to insert U+840D - (the kanji for "name"), which got truncated to 0D and interpreted as a carriage return keypress. - Note that even single-byte characters could have been misinterpreted, since MacRoman charcodes only - overlap with Unicode within the (7-bit) ASCII range. - But simply passing a NUL charcode would disable text updated events, because wxTextCtrl::OnChar checks - for codes within a specific range. Therefore I went for the solution seen above, which keeps ASCII - characters as they are and replaces the rest with '?', ensuring that update events are triggered. - It would be better to change wxTextCtrl::OnChar to look at the actual unicode character instead, but - I don't have time to look into that right now. - -- CL -*/ - if ( wxTheApp->MacSendCharEvent( focus , message , 0 , when , uniChars[pos] ) ) - { - result = noErr ; - } - - wxTheApp->MacSetCurrentEvent( formerEvent , formerHandler ) ; - } - } - break ; - case kEventTextInputUnicodeForKeyEvent : - { - UInt32 keyCode, modifiers ; - EventRef rawEvent ; - unsigned char charCode ; - - GetEventParameter( event, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof(rawEvent), NULL, &rawEvent ) ; - GetEventParameter( rawEvent, kEventParamKeyMacCharCodes, typeChar, NULL, 1, NULL, &charCode ); - GetEventParameter( rawEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode ); - GetEventParameter( rawEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers ); - - UInt32 message = (keyCode << 8) + charCode; - - // An IME input event may return several characters, but we need to send one char at a time to - // EVT_CHAR - for (int pos=0 ; pos < numChars ; pos++) - { - WXEVENTREF formerEvent = wxTheApp->MacGetCurrentEvent() ; - WXEVENTHANDLERCALLREF formerHandler = wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - - if ( wxTheApp->MacSendCharEvent( focus , message , modifiers , when , uniChars[pos] ) ) - { - result = noErr ; - } - - wxTheApp->MacSetCurrentEvent( formerEvent , formerHandler ) ; - } - } - break; - default: - break ; - } - - delete [] uniChars ; - if ( charBuf != buf ) - delete [] charBuf ; - - return result ; -} - -static pascal OSStatus -wxMacWindowCommandEventHandler(EventHandlerCallRef WXUNUSED(handler), - EventRef event, - void *data) -{ - OSStatus result = eventNotHandledErr ; - wxWindowMac* focus = (wxWindowMac*) data ; - - HICommand command ; - - wxMacCarbonEvent cEvent( event ) ; - cEvent.GetParameter(kEventParamDirectObject,typeHICommand,&command) ; - - wxMenuItem* item = NULL ; - wxMenu* itemMenu = wxFindMenuFromMacCommand( command , item ) ; - - if ( item ) - { - wxASSERT( itemMenu != NULL ) ; - - switch ( cEvent.GetKind() ) - { - case kEventProcessCommand : - if ( itemMenu->HandleCommandProcess( item, focus ) ) - result = noErr; - break ; - - case kEventCommandUpdateStatus: - if ( itemMenu->HandleCommandUpdateStatus( item, focus ) ) - result = noErr; - break ; - - default : - break ; - } - } - return result ; -} - -pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - EventRef formerEvent = (EventRef) wxTheApp->MacGetCurrentEvent() ; - EventHandlerCallRef formerEventHandlerCallRef = (EventHandlerCallRef) wxTheApp->MacGetCurrentEventHandlerCallRef() ; - wxTheApp->MacSetCurrentEvent( event , handler ) ; - OSStatus result = eventNotHandledErr ; - - switch ( GetEventClass( event ) ) - { - case kEventClassCommand : - result = wxMacWindowCommandEventHandler( handler , event , data ) ; - break ; - - case kEventClassControl : - result = wxMacWindowControlEventHandler( handler, event, data ) ; - break ; - - case kEventClassService : - result = wxMacWindowServiceEventHandler( handler, event , data ) ; - break ; - - case kEventClassTextInput : - result = wxMacUnicodeTextEventHandler( handler , event , data ) ; - break ; - - default : - break ; - } - - wxTheApp->MacSetCurrentEvent( formerEvent, formerEventHandlerCallRef ) ; - - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacWindowEventHandler ) - -// --------------------------------------------------------------------------- -// Scrollbar Tracking for all -// --------------------------------------------------------------------------- - -pascal void wxMacLiveScrollbarActionProc( ControlRef control , ControlPartCode partCode ) ; -pascal void wxMacLiveScrollbarActionProc( ControlRef control , ControlPartCode partCode ) -{ - if ( partCode != 0) - { - wxWindow* wx = wxFindWindowFromWXWidget( (WXWidget) control ) ; - if ( wx ) - { - wxEventType scrollEvent = wxEVT_NULL; - switch ( partCode ) - { - case kControlUpButtonPart: - scrollEvent = wxEVT_SCROLL_LINEUP; - break; - - case kControlDownButtonPart: - scrollEvent = wxEVT_SCROLL_LINEDOWN; - break; - - case kControlPageUpPart: - scrollEvent = wxEVT_SCROLL_PAGEUP; - break; - - case kControlPageDownPart: - scrollEvent = wxEVT_SCROLL_PAGEDOWN; - break; - - case kControlIndicatorPart: - scrollEvent = wxEVT_SCROLL_THUMBTRACK; - // when this is called as a live proc, mouse is always still down - // so no need for thumbrelease - // scrollEvent = wxEVT_SCROLL_THUMBRELEASE; - break; - } - wx->TriggerScrollEvent(scrollEvent) ; - } - } -} -wxMAC_DEFINE_PROC_GETTER( ControlActionUPP , wxMacLiveScrollbarActionProc ) ; - -wxWidgetImplType* wxWidgetImpl::CreateUserPane( wxWindowMac* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxPoint& pos, - const wxSize& size, - long WXUNUSED(style), - long WXUNUSED(extraStyle)) -{ - OSStatus err = noErr; - Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ; - wxMacControl* c = new wxMacControl(wxpeer, false, true) ; - UInt32 features = 0 - | kControlSupportsEmbedding - | kControlSupportsLiveFeedback - | kControlGetsFocusOnClick -// | kControlHasSpecialBackground -// | kControlSupportsCalcBestRect - | kControlHandlesTracking - | kControlSupportsFocus - | kControlWantsActivate - | kControlWantsIdle ; - - err =::CreateUserPaneControl( MAC_WXHWND(wxpeer->GetParent()->MacGetTopLevelWindowRef()) , &bounds, features , c->GetControlRefAddr() ); - verify_noerr( err ); - return c; -} - - -void wxMacControl::InstallEventHandler( WXWidget control ) -{ - wxWidgetImpl::Associate( control ? control : (WXWidget) m_controlRef , this ) ; - ::InstallControlEventHandler( control ? (ControlRef) control : m_controlRef , GetwxMacWindowEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, GetWXPeer(), NULL); -} - -wxIMPLEMENT_DYNAMIC_CLASS(wxMacControl, wxWidgetImpl); - -wxMacControl::wxMacControl() -{ - Init(); -} - -wxMacControl::wxMacControl(wxWindowMac* peer , bool isRootControl, bool isUserPane ) : - wxWidgetImpl( peer, isRootControl, isUserPane ) -{ - Init(); -} - -wxMacControl::~wxMacControl() -{ - if ( m_controlRef && !IsRootControl() ) - { - wxASSERT_MSG( m_controlRef != NULL , wxT("Control Handle already NULL, Dispose called twice ?") ); - wxASSERT_MSG( IsValidControlHandle(m_controlRef) , wxT("Invalid Control Handle (maybe already released) in Dispose") ); - - wxWidgetImpl::RemoveAssociations( this ) ; - // we cannot check the ref count here anymore, as autorelease objects might delete their refs later - // we can have situations when being embedded, where the control gets deleted behind our back, so only - // CFRelease if we are safe - if ( IsValidControlHandle(m_controlRef) ) - CFRelease(m_controlRef); - } - m_controlRef = NULL; -} - -void wxMacControl::Init() -{ - m_controlRef = NULL; - m_macControlEventHandler = NULL; -} - -void wxMacControl::RemoveFromParent() -{ - // nothing to do here for carbon - HIViewRemoveFromSuperview(m_controlRef); -} - -void wxMacControl::Embed( wxWidgetImpl *parent ) -{ - HIViewAddSubview((ControlRef)parent->GetWXWidget(), m_controlRef); -} - -void wxMacControl::SetNeedsDisplay( const wxRect* rect ) -{ - if ( !IsVisible() ) - return; - - if ( rect != NULL ) - { - HIRect updatearea = CGRectMake( rect->x , rect->y , rect->width , rect->height); - HIViewSetNeedsDisplayInRect( m_controlRef, &updatearea, true ); - } - else - HIViewSetNeedsDisplay( m_controlRef , true ); -} - -void wxMacControl::Raise() -{ - verify_noerr( HIViewSetZOrder( m_controlRef, kHIViewZOrderAbove, NULL ) ); -} - -void wxMacControl::Lower() -{ - verify_noerr( HIViewSetZOrder( m_controlRef, kHIViewZOrderBelow, NULL ) ); -} - -void wxMacControl::GetContentArea(int &left , int &top , int &width , int &height) const -{ - HIShapeRef rgn = NULL; - Rect content ; - - if ( HIViewCopyShape(m_controlRef, kHIViewContentMetaPart, &rgn) == noErr) - { - CGRect cgrect; - HIShapeGetBounds(rgn, &cgrect); - content = (Rect){ (short)cgrect.origin.y, - (short)cgrect.origin.x, - (short)(cgrect.origin.y+cgrect.size.height), - (short)(cgrect.origin.x+cgrect.size.width) }; - CFRelease(rgn); - } - else - { - GetControlBounds(m_controlRef, &content); - content.right -= content.left; - content.left = 0; - content.bottom -= content.top; - content.top = 0; - } - - left = content.left; - top = content.top; - - width = content.right - content.left ; - height = content.bottom - content.top ; -} - -void wxMacControl::Move(int x, int y, int width, int height) -{ - UInt32 attr = 0 ; - GetWindowAttributes( GetControlOwner(m_controlRef) , &attr ) ; - - HIRect hir = CGRectMake(x,y,width,height); - if ( !(attr & kWindowCompositingAttribute) ) - { - HIRect parent; - HIViewGetFrame( HIViewGetSuperview(m_controlRef), &parent ); - hir.origin.x += parent.origin.x; - hir.origin.y += parent.origin.y; - } - HIViewSetFrame ( m_controlRef , &hir ); -} - -void wxMacControl::GetPosition( int &x, int &y ) const -{ - Rect r; - GetControlBounds( m_controlRef , &r ); - x = r.left; - y = r.top; - - UInt32 attr = 0 ; - GetWindowAttributes( GetControlOwner(m_controlRef) , &attr ) ; - - if ( !(attr & kWindowCompositingAttribute) ) - { - HIRect parent; - HIViewGetFrame( HIViewGetSuperview(m_controlRef), &parent ); - x -= (int)parent.origin.x; - y -= (int)parent.origin.y; - } - -} - -void wxMacControl::GetSize( int &width, int &height ) const -{ - Rect r; - GetControlBounds( m_controlRef , &r ); - width = r.right - r.left; - height = r.bottom - r.top; -} - -void wxMacControl::SetControlSize( wxWindowVariant variant ) -{ - ControlSize size ; - switch ( variant ) - { - case wxWINDOW_VARIANT_NORMAL : - size = kControlSizeNormal; - break ; - - case wxWINDOW_VARIANT_SMALL : - size = kControlSizeSmall; - break ; - - case wxWINDOW_VARIANT_MINI : - // not always defined in the headers - size = 3 ; - break ; - - case wxWINDOW_VARIANT_LARGE : - size = kControlSizeLarge; - break ; - - default: - wxFAIL_MSG(wxT("unexpected window variant")); - break ; - } - - SetData(kControlEntireControl, kControlSizeTag, &size ) ; -} - -void wxMacControl::ScrollRect( const wxRect *rect, int dx, int dy ) -{ - if (GetNeedsDisplay() ) - { - // because HIViewScrollRect does not scroll the already invalidated area we have two options: - // in case there is already a pending redraw on that area - // either immediate redraw or full invalidate -#if 1 - // is the better overall solution, as it does not slow down scrolling - SetNeedsDisplay() ; -#else - // this would be the preferred version for fast drawing controls - HIViewRender(GetControlRef()) ; -#endif - } - - // note there currently is a bug in OSX (10.3 +?) which makes inefficient refreshes in case an entire control - // area is scrolled, this does not occur if width and height are 2 pixels less, - // TODO: write optimal workaround - - HIRect scrollarea = CGRectMake( rect->x , rect->y , rect->width , rect->height); - HIViewScrollRect ( m_controlRef , &scrollarea , dx ,dy ); - -#if 0 - // this would be the preferred version for fast drawing controls - HIViewRender(GetControlRef()) ; -#endif -} - -bool wxMacControl::CanFocus() const -{ - // TODO : evaluate performance hits by looking up this value, eventually cache the results for a 1 sec or so - // CAUTION : the value returned currently is 0 or 2, I've also found values of 1 having the same meaning, - // but the value range is nowhere documented - Boolean keyExistsAndHasValidFormat ; - CFIndex fullKeyboardAccess = CFPreferencesGetAppIntegerValue( CFSTR("AppleKeyboardUIMode" ) , - kCFPreferencesCurrentApplication, &keyExistsAndHasValidFormat ); - - if ( keyExistsAndHasValidFormat && fullKeyboardAccess > 0 ) - { - return true ; - } - else - { - UInt32 features = 0 ; - GetControlFeatures( m_controlRef, &features ) ; - - return features & ( kControlSupportsFocus | kControlGetsFocusOnClick ) ; - } -} - -bool wxMacControl::GetNeedsDisplay() const -{ - return HIViewGetNeedsDisplay( m_controlRef ); -} - -void wxWidgetImpl::Convert( wxPoint *pt , wxWidgetImpl *from , wxWidgetImpl *to ) -{ - HIPoint hiPoint; - - hiPoint.x = pt->x; - hiPoint.y = pt->y; - HIViewConvertPoint( &hiPoint , (ControlRef) from->GetWXWidget() , (ControlRef) to->GetWXWidget() ); - pt->x = (int)hiPoint.x; - pt->y = (int)hiPoint.y; -} - -bool wxMacControl::SetFocus() -{ - // as we cannot rely on the control features to find out whether we are in full keyboard mode, - // we can only leave in case of an error - - OSStatus err = SetKeyboardFocus( GetControlOwner( m_controlRef ), m_controlRef, kControlFocusNextPart ); - if ( err == errCouldntSetFocus ) - return false ; - SetUserFocusWindow(GetControlOwner( m_controlRef ) ); - - return true; -} - -bool wxMacControl::HasFocus() const -{ - ControlRef control; - GetKeyboardFocus( GetUserFocusWindow() , &control ); - return control == m_controlRef; -} - -void wxMacControl::SetCursor(const wxCursor& cursor) -{ - wxWindowMac *mouseWin = 0 ; - WindowRef window = GetControlOwner( m_controlRef ) ; - - wxNonOwnedWindow* tlwwx = wxNonOwnedWindow::GetFromWXWindow( (WXWindow) window ) ; - if ( tlwwx != NULL ) - { - ControlPartCode part ; - ControlRef control ; - Point pt ; - HIPoint hiPoint ; - HIGetMousePosition(kHICoordSpaceWindow, window, &hiPoint); - pt.h = hiPoint.x; - pt.v = hiPoint.y; - control = FindControlUnderMouse( pt , window , &part ) ; - if ( control ) - mouseWin = wxFindWindowFromWXWidget( (WXWidget) control ) ; - } - - if ( mouseWin == tlwwx && !wxIsBusy() ) - cursor.MacInstall() ; -} - -void wxMacControl::CaptureMouse() -{ -} - -void wxMacControl::ReleaseMouse() -{ -} - -// -// subclass specifics -// - -OSStatus wxMacControl::GetData(ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) const -{ - return ::GetControlData( m_controlRef , inPartCode , inTag , inBufferSize , inOutBuffer , outActualSize ); -} - -OSStatus wxMacControl::GetDataSize(ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) const -{ - return ::GetControlDataSize( m_controlRef , inPartCode , inTag , outActualSize ); -} - -OSStatus wxMacControl::SetData(ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData) -{ - return ::SetControlData( m_controlRef , inPartCode , inTag , inSize , inData ); -} - -OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions ) -{ - return SendEventToEventTargetWithOptions( event, - HIObjectGetEventTarget( (HIObjectRef) m_controlRef ), inOptions ); -} - -OSStatus wxMacControl::SendHICommand( HICommand &command , OptionBits inOptions ) -{ - wxMacCarbonEvent event( kEventClassCommand , kEventCommandProcess ); - - event.SetParameter(kEventParamDirectObject,command); - - return SendEvent( event , inOptions ); -} - -OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions ) -{ - HICommand command; - - memset( &command, 0 , sizeof(command) ); - command.commandID = commandID; - return SendHICommand( command , inOptions ); -} - -void wxMacControl::PerformClick() -{ - HIViewSimulateClick (m_controlRef, kControlButtonPart, 0, NULL ); -} - -wxInt32 wxMacControl::GetValue() const -{ - return ::GetControl32BitValue( m_controlRef ); -} - -wxInt32 wxMacControl::GetMaximum() const -{ - return ::GetControl32BitMaximum( m_controlRef ); -} - -wxInt32 wxMacControl::GetMinimum() const -{ - return ::GetControl32BitMinimum( m_controlRef ); -} - -void wxMacControl::SetValue( wxInt32 v ) -{ - ::SetControl32BitValue( m_controlRef , v ); -} - -void wxMacControl::SetMinimum( wxInt32 v ) -{ - ::SetControl32BitMinimum( m_controlRef , v ); -} - -void wxMacControl::SetMaximum( wxInt32 v ) -{ - ::SetControl32BitMaximum( m_controlRef , v ); -} - -void wxMacControl::SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum ) -{ - ::SetControl32BitMinimum( m_controlRef , minimum ); - ::SetControl32BitMaximum( m_controlRef , maximum ); - ::SetControl32BitValue( m_controlRef , value ); -} - -void wxMacControl::VisibilityChanged(bool WXUNUSED(shown)) -{ -} - -void wxMacControl::SuperChangedPosition() -{ -} - -void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , long windowStyle, bool ignoreBlack ) -{ - m_font = font; - HIViewPartCode part = 0; - HIThemeTextHorizontalFlush flush = kHIThemeTextHorizontalFlushDefault; - if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_CENTER_HORIZONTAL ) - flush = kHIThemeTextHorizontalFlushCenter; - else if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_RIGHT ) - flush = kHIThemeTextHorizontalFlushRight; - HIViewSetTextFont( m_controlRef , part , (CTFontRef) font.OSXGetCTFont() ); - HIViewSetTextHorizontalFlush( m_controlRef, part, flush ); - - if ( foreground != *wxBLACK || ignoreBlack == false ) - { - ControlFontStyleRec fontStyle; - foreground.GetRGBColor( &fontStyle.foreColor ); - fontStyle.flags = kControlUseForeColorMask; - ::SetControlFontStyle( m_controlRef , &fontStyle ); - } -#if wxOSX_USE_ATSU_TEXT - ControlFontStyleRec fontStyle; - if ( font.MacGetThemeFontID() != kThemeCurrentPortFont ) - { - switch ( font.MacGetThemeFontID() ) - { - case kThemeSmallSystemFont : - fontStyle.font = kControlFontSmallSystemFont; - break; - - case 109 : // mini font - fontStyle.font = -5; - break; - - case kThemeSystemFont : - fontStyle.font = kControlFontBigSystemFont; - break; - - default : - fontStyle.font = kControlFontBigSystemFont; - break; - } - - fontStyle.flags = kControlUseFontMask; - } - else - { - fontStyle.font = font.MacGetFontNum(); - fontStyle.style = font.MacGetFontStyle(); - fontStyle.size = font.GetPointSize(); - fontStyle.flags = kControlUseFontMask | kControlUseFaceMask | kControlUseSizeMask; - } - - fontStyle.just = teJustLeft; - fontStyle.flags |= kControlUseJustMask; - if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_CENTER_HORIZONTAL ) - fontStyle.just = teJustCenter; - else if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_RIGHT ) - fontStyle.just = teJustRight; - - - // we only should do this in case of a non-standard color, as otherwise 'disabled' controls - // won't get grayed out by the system anymore - - if ( foreground != *wxBLACK || ignoreBlack == false ) - { - foreground.GetRGBColor( &fontStyle.foreColor ); - fontStyle.flags |= kControlUseForeColorMask; - } - - ::SetControlFontStyle( m_controlRef , &fontStyle ); -#endif -} - -void wxMacControl::SetBackgroundColour( const wxColour &WXUNUSED(col) ) -{ -// HITextViewSetBackgroundColor( m_textView , color ); -} - -bool wxMacControl::SetBackgroundStyle(wxBackgroundStyle style) -{ - if ( style != wxBG_STYLE_PAINT ) - { - OSStatus err = HIViewChangeFeatures(m_controlRef , 0 , kHIViewIsOpaque); - verify_noerr( err ); - } - else - { - OSStatus err = HIViewChangeFeatures(m_controlRef , kHIViewIsOpaque , 0); - verify_noerr( err ); - } - - return true ; -} - -void wxMacControl::SetRange( SInt32 minimum , SInt32 maximum ) -{ - ::SetControl32BitMinimum( m_controlRef , minimum ); - ::SetControl32BitMaximum( m_controlRef , maximum ); -} - -short wxMacControl::HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers ) -{ - return HandleControlKey( m_controlRef , keyCode , charCode , modifiers ); -} - -void wxMacControl::SetActionProc( ControlActionUPP actionProc ) -{ - SetControlAction( m_controlRef , actionProc ); -} - -SInt32 wxMacControl::GetViewSize() const -{ - return GetControlViewSize( m_controlRef ); -} - -bool wxMacControl::IsVisible() const -{ - return IsControlVisible( m_controlRef ); -} - -void wxMacControl::SetVisibility( bool visible ) -{ - SetControlVisibility( m_controlRef , visible, true ); -} - -bool wxMacControl::IsEnabled() const -{ - return IsControlEnabled( m_controlRef ); -} - -bool wxMacControl::IsActive() const -{ - return IsControlActive( m_controlRef ); -} - -void wxMacControl::Enable( bool enable ) -{ - if ( enable ) - EnableControl( m_controlRef ); - else - DisableControl( m_controlRef ); -} - -void wxMacControl::SetDrawingEnabled( bool enable ) -{ - if ( enable ) - { - HIViewSetDrawingEnabled( m_controlRef , true ); - HIViewSetNeedsDisplay( m_controlRef, true); - } - else - { - HIViewSetDrawingEnabled( m_controlRef , false ); - } -} - -void wxMacControl::GetRectInWindowCoords( Rect *r ) -{ - GetControlBounds( m_controlRef , r ) ; - - WindowRef tlwref = GetControlOwner( m_controlRef ) ; - - wxNonOwnedWindow* tlwwx = wxNonOwnedWindow::GetFromWXWindow( (WXWindow) tlwref ) ; - if ( tlwwx != NULL ) - { - ControlRef rootControl = tlwwx->GetPeer()->GetControlRef() ; - HIPoint hiPoint = CGPointMake( 0 , 0 ) ; - HIViewConvertPoint( &hiPoint , HIViewGetSuperview(m_controlRef) , rootControl ) ; - OffsetRect( r , (short) hiPoint.x , (short) hiPoint.y ) ; - } -} - -void wxMacControl::GetBestRect( wxRect *rect ) const -{ - short baselineoffset; - Rect r = {0,0,0,0}; - - GetBestControlRect( m_controlRef , &r , &baselineoffset ); - *rect = wxRect( r.left, r.top, r.right - r.left, r.bottom-r.top ); -} - -void wxMacControl::GetBestRect( Rect *r ) const -{ - short baselineoffset; - GetBestControlRect( m_controlRef , r , &baselineoffset ); -} - -void wxMacControl::SetLabel( const wxString &title , wxFontEncoding encoding) -{ - SetControlTitleWithCFString( m_controlRef , wxCFStringRef( title , encoding ) ); -} - -void wxMacControl::GetFeatures( UInt32 * features ) -{ - GetControlFeatures( m_controlRef , features ); -} - -void wxMacControl::PulseGauge() -{ -} - -// SetNeedsDisplay would not invalidate the children -static void InvalidateControlAndChildren( HIViewRef control ) -{ - HIViewSetNeedsDisplay( control , true ); - UInt16 childrenCount = 0; - OSStatus err = CountSubControls( control , &childrenCount ); - if ( err == errControlIsNotEmbedder ) - return; - - wxASSERT_MSG( err == noErr , wxT("Unexpected error when accessing subcontrols") ); - - for ( UInt16 i = childrenCount; i >=1; --i ) - { - HIViewRef child; - - err = GetIndexedSubControl( control , i , & child ); - if ( err == errControlIsNotEmbedder ) - return; - - InvalidateControlAndChildren( child ); - } -} - -void wxMacControl::InvalidateWithChildren() -{ - InvalidateControlAndChildren( m_controlRef ); -} - -OSType wxMacCreator = 'WXMC'; -OSType wxMacControlProperty = 'MCCT'; - -void wxMacControl::SetReferenceInNativeControl() -{ - void * data = this; - verify_noerr( SetControlProperty ( m_controlRef , - wxMacCreator,wxMacControlProperty, sizeof(data), &data ) ); -} - -wxMacControl* wxMacControl::GetReferenceFromNativeControl(ControlRef control) -{ - wxMacControl* ctl = NULL; - ByteCount actualSize; - if ( GetControlProperty( control ,wxMacCreator,wxMacControlProperty, sizeof(ctl) , - &actualSize , &ctl ) == noErr ) - { - return ctl; - } - return NULL; -} - -wxBitmap wxMacControl::GetBitmap() const -{ - return wxNullBitmap; -} - -void wxMacControl::SetBitmap( const wxBitmap& WXUNUSED(bmp) ) -{ - // implemented in the respective subclasses -} - -void wxMacControl::SetBitmapPosition( wxDirection WXUNUSED(dir) ) -{ - // implemented in the same subclasses that implement SetBitmap() -} - -void wxMacControl::SetScrollThumb( wxInt32 WXUNUSED(pos), wxInt32 WXUNUSED(viewsize) ) -{ - // implemented in respective subclass -} - -// -// Tab Control -// - -OSStatus wxMacControl::SetTabEnabled( SInt16 tabNo , bool enable ) -{ - return ::SetTabEnabled( m_controlRef , tabNo , enable ); -} - - - -// Control Factory - -wxWidgetImplType* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now ) -{ - // There is a bug in 10.2.X for ::GetRootControl returning the window view instead of - // the content view, so we have to retrieve it explicitly - - wxMacControl* contentview = new wxMacControl(now , true /*isRootControl*/); - HIViewFindByID( HIViewGetRoot( (WindowRef) now->GetWXWindow() ) , kHIViewWindowContentID , - contentview->GetControlRefAddr() ) ; - if ( !contentview->IsOk() ) - { - // compatibility mode fallback - GetRootControl( (WindowRef) now->GetWXWindow() , contentview->GetControlRefAddr() ) ; - } - - // the root control level handler - if ( !now->IsNativeWindowWrapper() ) - contentview->InstallEventHandler() ; - - return contentview; -} diff --git a/src/osx/core/bitmap.cpp b/src/osx/core/bitmap.cpp index d7c27b7449..e2d640eebf 100644 --- a/src/osx/core/bitmap.cpp +++ b/src/osx/core/bitmap.cpp @@ -29,11 +29,7 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxBitmap, wxGDIObject); wxIMPLEMENT_DYNAMIC_CLASS(wxMask, wxObject); -#if wxOSX_USE_CARBON -#include "wx/osx/uma.h" -#else #include "wx/osx/private.h" -#endif CGColorSpaceRef wxMacGetGenericRGBColorSpace(); CGDataProviderRef wxMacCGDataProviderCreateWithMemoryBuffer( const wxMemoryBuffer& buf ); @@ -844,93 +840,6 @@ bool wxBitmap::CopyFromIcon(const wxIcon& icon) int h = icon.GetHeight() ; Create( w , h ) ; -#ifdef __WXOSX_CARBON__ - if ( w == h && ( w == 16 || w == 32 || w == 48 || w == 128 ) ) - { - IconFamilyHandle iconFamily = NULL ; - Handle imagehandle = NewHandle( 0 ) ; - Handle maskhandle = NewHandle( 0 ) ; - - OSType maskType = 0; - OSType dataType = 0; - IconSelectorValue selector = 0 ; - - switch (w) - { - case 128: - dataType = kThumbnail32BitData ; - maskType = kThumbnail8BitMask ; - selector = kSelectorAllAvailableData ; - break; - - case 48: - dataType = kHuge32BitData ; - maskType = kHuge8BitMask ; - selector = kSelectorHuge32Bit | kSelectorHuge8BitMask ; - break; - - case 32: - dataType = kLarge32BitData ; - maskType = kLarge8BitMask ; - selector = kSelectorLarge32Bit | kSelectorLarge8BitMask ; - break; - - case 16: - dataType = kSmall32BitData ; - maskType = kSmall8BitMask ; - selector = kSelectorSmall32Bit | kSelectorSmall8BitMask ; - break; - - default: - break; - } - - OSStatus err = IconRefToIconFamily( MAC_WXHICON(icon.GetHICON()) , selector , &iconFamily ) ; - - err = GetIconFamilyData( iconFamily , dataType , imagehandle ) ; - err = GetIconFamilyData( iconFamily , maskType , maskhandle ) ; - size_t imagehandlesize = GetHandleSize( imagehandle ) ; - size_t maskhandlesize = GetHandleSize( maskhandle ) ; - - if ( imagehandlesize != 0 && maskhandlesize != 0 ) - { - wxASSERT( GetHandleSize( imagehandle ) == w * 4 * h ) ; - wxASSERT( GetHandleSize( maskhandle ) == w * h ) ; - - UseAlpha() ; - - unsigned char *source = (unsigned char *) *imagehandle ; - unsigned char *sourcemask = (unsigned char *) *maskhandle ; - unsigned char* destination = (unsigned char*) BeginRawAccess() ; - - for ( int y = 0 ; y < h ; ++y ) - { - for ( int x = 0 ; x < w ; ++x ) - { - unsigned char a = *sourcemask++; - *destination++ = a; - source++ ; -#if wxOSX_USE_PREMULTIPLIED_ALPHA - *destination++ = ( (*source++) * a + 127 ) / 255; - *destination++ = ( (*source++) * a + 127 ) / 255; - *destination++ = ( (*source++) * a + 127 ) / 255; -#else - *destination++ = *source++ ; - *destination++ = *source++ ; - *destination++ = *source++ ; -#endif - } - } - - EndRawAccess() ; - DisposeHandle( imagehandle ) ; - DisposeHandle( maskhandle ) ; - created = true ; - } - - DisposeHandle( (Handle) iconFamily ) ; - } -#endif if ( !created ) { wxMemoryDC dc ; diff --git a/src/osx/core/printmac.cpp b/src/osx/core/printmac.cpp index 21b6d45a4c..b6c1eb625f 100644 --- a/src/osx/core/printmac.cpp +++ b/src/osx/core/printmac.cpp @@ -525,8 +525,6 @@ wxPrintNativeDataBase* wxOSXCreatePrintData() { #if wxOSX_USE_COCOA return new wxOSXCocoaPrintData(); -#elif wxOSX_USE_CARBON - return new wxOSXCarbonPrintData(); #else return NULL; #endif @@ -812,35 +810,4 @@ void wxMacPrintPreview::DetermineScaling(void) // end of print_osx.cpp // -#if wxOSX_USE_CARBON - -wxIMPLEMENT_DYNAMIC_CLASS(wxOSXCarbonPrintData, wxOSXPrintData); - -wxOSXCarbonPrintData::wxOSXCarbonPrintData() -{ - if ( PMCreateSession( &m_macPrintSession ) == noErr ) - { - if ( PMCreatePageFormat(&m_macPageFormat) == noErr ) - { - PMSessionDefaultPageFormat(m_macPrintSession, - m_macPageFormat); - PMGetPageFormatPaper(m_macPageFormat, &m_macPaper); - } - - if ( PMCreatePrintSettings(&m_macPrintSettings) == noErr ) - { - PMSessionDefaultPrintSettings(m_macPrintSession, - m_macPrintSettings); - } - } -} - -wxOSXCarbonPrintData::~wxOSXCarbonPrintData() -{ - (void)PMRelease(m_macPageFormat); - (void)PMRelease(m_macPrintSettings); - (void)PMRelease(m_macPrintSession); -} -#endif - #endif diff --git a/src/osx/core/stdpaths_cf.cpp b/src/osx/core/stdpaths_cf.cpp deleted file mode 100644 index 85a165e25b..0000000000 --- a/src/osx/core/stdpaths_cf.cpp +++ /dev/null @@ -1,230 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/core/stdpaths_cf.cpp -// Purpose: wxStandardPaths implementation for CoreFoundation systems -// Author: David Elliott -// Modified by: -// Created: 2004-10-27 -// Copyright: (c) 2004 David Elliott -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -#include "wx/wxprec.h" - -#if wxUSE_STDPATHS - -#ifndef WX_PRECOMP - #include "wx/intl.h" -#endif //ndef WX_PRECOMP - -#include "wx/stdpaths.h" -#include "wx/filename.h" -#ifdef __WXMAC__ -#include "wx/osx/private.h" -#endif -#include "wx/osx/core/cfstring.h" - -#include -#include - -#define kDefaultPathStyle kCFURLPOSIXPathStyle - -// ============================================================================ -// implementation -// ============================================================================ - -// ---------------------------------------------------------------------------- -// wxStandardPathsCF ctors/dtor -// ---------------------------------------------------------------------------- - -wxStandardPathsCF::wxStandardPathsCF() - : m_bundle(CFBundleGetMainBundle()) -{ - CFRetain(m_bundle); -} - -wxStandardPathsCF::wxStandardPathsCF(wxCFBundleRef bundle) - : m_bundle(bundle) -{ - CFRetain(m_bundle); -} - -wxStandardPathsCF::~wxStandardPathsCF() -{ - CFRelease(m_bundle); -} - -// ---------------------------------------------------------------------------- -// wxStandardPathsCF Mac-specific methods -// ---------------------------------------------------------------------------- - -void wxStandardPathsCF::SetBundle(wxCFBundleRef bundle) -{ - CFRetain(bundle); - CFRelease(m_bundle); - m_bundle = bundle; -} - -// ---------------------------------------------------------------------------- -// generic functions in terms of which the other ones are implemented -// ---------------------------------------------------------------------------- - -static wxString BundleRelativeURLToPath(CFURLRef relativeURL) -{ - CFURLRef absoluteURL = CFURLCopyAbsoluteURL(relativeURL); - wxCHECK_MSG(absoluteURL, wxEmptyString, wxT("Failed to resolve relative URL to absolute URL")); - wxCFStringRef cfStrPath( CFURLCopyFileSystemPath(absoluteURL,kDefaultPathStyle) ); - CFRelease(absoluteURL); - return wxCFStringRef::AsStringWithNormalizationFormC(cfStrPath); -} - -wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const -{ - wxCHECK_MSG(m_bundle, wxEmptyString, - wxT("wxStandardPaths for CoreFoundation only works with bundled apps")); - CFURLRef relativeURL = (*func)(m_bundle); - wxCHECK_MSG(relativeURL, wxEmptyString, wxT("Couldn't get URL")); - wxString ret(BundleRelativeURLToPath(relativeURL)); - CFRelease(relativeURL); - return ret; -} - -wxString wxStandardPathsCF::GetUserDir(Dir userDir) const -{ -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - OSType folderType; - switch (userDir) - { - case Dir_Desktop: - folderType = kDesktopFolderType; - break; - case Dir_Downloads: - folderType = kDownloadsFolderType; - break; - case Dir_Music: - folderType = kMusicDocumentsFolderType; - break; - case Dir_Pictures: - folderType = kPictureDocumentsFolderType; - break; - case Dir_Videos: - folderType = kMovieDocumentsFolderType; - break; - default: - folderType = kDocumentsFolderType; - break; - } - - return wxMacFindFolderNoSeparator - ( - kUserDomain, - folderType, - kCreateFolder - ); -#else - wxString userDirName; - switch (userDir) - { - case Dir_Desktop: - userDirName = "Desktop"; - break; - case Dir_Downloads: - userDirName = "Downloads"; - break; - case Dir_Music: - userDirName = "Music"; - break; - case Dir_Pictures: - userDirName = "Pictures"; - break; - case Dir_Videos: - userDirName = "Movies"; - break; - default: - userDirName = "Documents"; - break; - } - return wxFileName::GetHomeDir() + "/" + userDirName; -#endif -} - -// ---------------------------------------------------------------------------- -// wxStandardPathsCF public API -// ---------------------------------------------------------------------------- - -wxString wxStandardPathsCF::GetConfigDir() const -{ -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - return wxMacFindFolderNoSeparator((short)kLocalDomain, kPreferencesFolderType, kCreateFolder); -#else - return wxT("/Library/Preferences"); -#endif -} - -wxString wxStandardPathsCF::GetUserConfigDir() const -{ -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - return wxMacFindFolderNoSeparator((short)kUserDomain, kPreferencesFolderType, kCreateFolder); -#else - return wxFileName::GetHomeDir() + wxT("/Library/Preferences"); -#endif -} - -wxString wxStandardPathsCF::GetDataDir() const -{ - return GetFromFunc(CFBundleCopySharedSupportURL); -} - -wxString wxStandardPathsCF::GetExecutablePath() const -{ -#ifdef __WXMAC__ - return GetFromFunc(CFBundleCopyExecutableURL); -#else - return wxStandardPathsBase::GetExecutablePath(); -#endif -} - -wxString wxStandardPathsCF::GetLocalDataDir() const -{ -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - return AppendAppInfo(wxMacFindFolderNoSeparator((short)kLocalDomain, kApplicationSupportFolderType, kCreateFolder)); -#else - return AppendAppInfo(wxT("/Library/Application Support")); -#endif -} - -wxString wxStandardPathsCF::GetUserDataDir() const -{ -#if defined( __WXMAC__ ) && wxOSX_USE_CARBON - return AppendAppInfo(wxMacFindFolderNoSeparator((short)kUserDomain, kApplicationSupportFolderType, kCreateFolder)); -#else - return AppendAppInfo(wxFileName::GetHomeDir() + wxT("/Library/Application Support")); -#endif -} - -wxString wxStandardPathsCF::GetPluginsDir() const -{ - return GetFromFunc(CFBundleCopyBuiltInPlugInsURL); -} - -wxString wxStandardPathsCF::GetResourcesDir() const -{ - return GetFromFunc(CFBundleCopyResourcesDirectoryURL); -} - -wxString -wxStandardPathsCF::GetLocalizedResourcesDir(const wxString& lang, - ResourceCat category) const -{ - return wxStandardPathsBase:: - GetLocalizedResourcesDir(lang, category) + wxT(".lproj"); -} - -#endif // wxUSE_STDPATHS diff --git a/src/osx/core/utilsexc_base.cpp b/src/osx/core/utilsexc_base.cpp index d8fbf9cb50..25d9512a33 100644 --- a/src/osx/core/utilsexc_base.cpp +++ b/src/osx/core/utilsexc_base.cpp @@ -53,48 +53,6 @@ extern WXDLLIMPEXP_BASE wxSocketManager *wxOSXSocketManagerCF; wxSocketManager *wxOSXSocketManagerCF = NULL; #endif // wxUSE_SOCKETS -#if wxOSX_USE_CARBON - -// our OS version is the same in non GUI and GUI cases -wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) -{ - // This returns 10 and 6 for OS X 10.6, consistent with behaviour on - // other platforms. - SInt32 maj, min; - Gestalt(gestaltSystemVersionMajor, &maj); - Gestalt(gestaltSystemVersionMinor, &min); - - if ( majorVsn != NULL ) - *majorVsn = maj; - - if ( minorVsn != NULL ) - *minorVsn = min; - - return wxOS_MAC_OSX_DARWIN; -} - -bool wxCheckOsVersion(int majorVsn, int minorVsn) -{ - int majorCur, minorCur; - wxGetOsVersion(&majorCur, &minorCur); - - return majorCur > majorVsn || (majorCur == majorVsn && minorCur >= minorVsn); -} - -#include - -wxString wxGetOsDescription() -{ - struct utsname name; - uname(&name); - return wxString::Format(wxT("Mac OS X (%s %s %s)"), - wxString::FromAscii(name.sysname).c_str(), - wxString::FromAscii(name.release).c_str(), - wxString::FromAscii(name.machine).c_str()); -} - -#endif // wxOSX_USE_CARBON - #if ( !wxUSE_GUI && !wxOSX_USE_IPHONE ) || wxOSX_USE_COCOA_OR_CARBON //=========================================================================== diff --git a/src/osx/dataview_osx.cpp b/src/osx/dataview_osx.cpp index 0bac650faf..8aa128eca3 100644 --- a/src/osx/dataview_osx.cpp +++ b/src/osx/dataview_osx.cpp @@ -19,9 +19,6 @@ #include "wx/dcclient.h" #include "wx/icon.h" #endif -#if wxOSX_USE_CARBON -#include "wx/osx/carbon/dataview.h" -#endif #include "wx/osx/core/dataview.h" #include "wx/osx/private.h" @@ -736,52 +733,6 @@ wxSize wxDataViewCtrl::DoGetBestSize() const void wxDataViewCtrl::OnMouse(wxMouseEvent& event) { event.Skip(); - -#if wxOSX_USE_CARBON - if (GetModel() == NULL) - return; - - wxMacDataViewDataBrowserListViewControlPointer MacDataViewListCtrlPtr(dynamic_cast(GetPeer())); - - int NoOfChildren; - wxDataViewItemArray items; - NoOfChildren = GetModel()->GetChildren( wxDataViewItem(), items); - if (NoOfChildren == 0) - return; - wxDataViewItem firstChild = items[0]; - - UInt16 headerHeight = 0; - MacDataViewListCtrlPtr->GetHeaderButtonHeight(&headerHeight); - - - if (event.GetY() < headerHeight) - { - unsigned int col_count = GetColumnCount(); - unsigned int col; - for (col = 0; col < col_count; col++) - { - wxDataViewColumn *column = GetColumn( col ); - if (column->IsHidden()) - continue; - - Rect itemrect; - ::GetDataBrowserItemPartBounds( MacDataViewListCtrlPtr->GetControlRef(), - reinterpret_cast(firstChild.GetID()), column->GetNativeData()->GetPropertyID(), - kDataBrowserPropertyEnclosingPart, &itemrect ); - - if (abs( event.GetX() - itemrect.right) < 3) - { - if (column->GetFlags() & wxDATAVIEW_COL_RESIZABLE) - SetCursor( wxCursor( wxCURSOR_SIZEWE ) ); - else - SetCursor( *wxSTANDARD_CURSOR ); - return; - } - } - - } - SetCursor( *wxSTANDARD_CURSOR ); -#endif } wxIMPLEMENT_DYNAMIC_CLASS(wxDataViewCtrl,wxDataViewCtrlBase); diff --git a/src/osx/glcanvas_osx.cpp b/src/osx/glcanvas_osx.cpp index bb67d38293..08bf445036 100644 --- a/src/osx/glcanvas_osx.cpp +++ b/src/osx/glcanvas_osx.cpp @@ -59,9 +59,6 @@ wxGLContext::~wxGLContext() wxIMPLEMENT_CLASS(wxGLCanvas, wxWindow); wxBEGIN_EVENT_TABLE(wxGLCanvas, wxWindow) -#if wxOSX_USE_CARBON - EVT_SIZE(wxGLCanvas::OnSize) -#endif wxEND_EVENT_TABLE() wxGLCanvas::wxGLCanvas(wxWindow *parent, diff --git a/src/osx/menu_osx.cpp b/src/osx/menu_osx.cpp index 0ab7ec8c25..04f9c9da6e 100644 --- a/src/osx/menu_osx.cpp +++ b/src/osx/menu_osx.cpp @@ -75,18 +75,7 @@ void wxMenu::Init() wxMenu::~wxMenu() { -#if wxOSX_USE_CARBON - // when destroying the empty menu bar from the static scoped ptr - // the peer destructor removes an association from an already deleted - // hashmap leading to crashes. The guard avoids this, accepting some leaks... - static bool finalmenubar = false; - - if ( this == gs_emptyMenuBar.get() ) - finalmenubar = true; - - if ( !finalmenubar ) -#endif - delete m_peer; + delete m_peer; } WXHMENU wxMenu::GetHMenu() const @@ -465,32 +454,6 @@ bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow if (event.GetSetEnabled()) Enable(menuid, event.GetEnabled()); } - else - { -#if wxOSX_USE_CARBON - // these two items are also managed by the Carbon Menu Manager, therefore we must - // always reset them ourselves - UInt32 cmd = 0; - - if ( menuid == wxApp::s_macExitMenuItemId ) - { - cmd = kHICommandQuit; - } - else if (menuid == wxApp::s_macPreferencesMenuItemId ) - { - cmd = kHICommandPreferences; - } - - if ( cmd != 0 ) - { - if ( !item->IsEnabled() || wxDialog::OSXHasModalDialogsOpen() ) - DisableMenuCommand( NULL , cmd ) ; - else - EnableMenuCommand( NULL , cmd ) ; - - } -#endif - } return processed; } @@ -599,7 +562,6 @@ static wxMenu *CreateAppleMenu() appleMenu->AppendSeparator(); } -#if !wxOSX_USE_CARBON if ( wxApp::s_macPreferencesMenuItemId != wxID_NONE ) { appleMenu->Append( wxApp::s_macPreferencesMenuItemId, @@ -622,7 +584,6 @@ static wxMenu *CreateAppleMenu() wxString quitLabel; quitLabel = wxString::Format(_("Quit %s"), wxTheApp ? wxTheApp->GetAppDisplayName() : _("Application")); appleMenu->Append( wxApp::s_macExitMenuItemId, quitLabel + "\tCtrl+Q" ); -#endif // !wxOSX_USE_CARBON return appleMenu; } diff --git a/src/osx/menuitem_osx.cpp b/src/osx/menuitem_osx.cpp index 4c5a70245e..0d6ba706ba 100644 --- a/src/osx/menuitem_osx.cpp +++ b/src/osx/menuitem_osx.cpp @@ -80,9 +80,6 @@ void wxMenuItem::Enable(bool bDoEnable) // avoid changing menuitem state when menu is disabled // eg. BeginAppModalStateForWindow() will disable menus and ignore this change // which in turn causes m_isEnabled to become out of sync with real menuitem state -#if wxOSX_USE_CARBON - && !(m_parentMenu && !IsMenuItemEnabled(MAC_WXHMENU(m_parentMenu->GetHMenu()), 0)) -#endif ) // always update builtin menuitems || ( GetId() == wxApp::s_macPreferencesMenuItemId diff --git a/src/osx/nonownedwnd_osx.cpp b/src/osx/nonownedwnd_osx.cpp index 26c1db8964..dd952320ca 100644 --- a/src/osx/nonownedwnd_osx.cpp +++ b/src/osx/nonownedwnd_osx.cpp @@ -232,14 +232,6 @@ bool wxNonOwnedWindow::OSXShowWithEffect(bool show, wxShowEffect effect, unsigned timeout) { - // Cocoa code needs to manage window visibility on its own and so calls - // wxWindow::Show() as needed but if we already changed the internal - // visibility flag here, Show() would do nothing, so avoid doing it -#if wxOSX_USE_CARBON - if ( !wxWindow::Show(show) ) - return false; -#endif // Carbon - if ( effect == wxSHOW_EFFECT_NONE || !m_nowpeer || !m_nowpeer->ShowWithEffect(show, effect, timeout) ) return Show(show); diff --git a/src/osx/radiobox_osx.cpp b/src/osx/radiobox_osx.cpp index a59c94eed0..4d0e06b92a 100644 --- a/src/osx/radiobox_osx.cpp +++ b/src/osx/radiobox_osx.cpp @@ -363,12 +363,8 @@ void wxRadioBox::SetFocus() // Simulates the effect of the user issuing a command to the item // -#if wxOSX_USE_CARBON - #define RADIO_SIZE 20 -#else - // Cocoa has an additional border are of about 3 pixels - #define RADIO_SIZE 23 -#endif +// Cocoa has an additional border are of about 3 pixels +#define RADIO_SIZE 23 void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags) { diff --git a/src/osx/sound_osx.cpp b/src/osx/sound_osx.cpp index 950eb5f84b..84cde6e878 100644 --- a/src/osx/sound_osx.cpp +++ b/src/osx/sound_osx.cpp @@ -26,44 +26,10 @@ #include "wx/vector.h" -#if wxOSX_USE_CARBON - -#include "wx/timer.h" - -class wxSoundTimer : public wxTimer -{ -public: - wxSoundTimer(wxSoundData* snd) - : m_sound(snd) - { - } - - virtual ~wxSoundTimer() - { - Stop(); - if (m_sound) - m_sound->DoStop(); - } - - void Notify() wxOVERRIDE - { - if (m_sound) - m_sound->SoundTask(); - } - -protected: - wxSoundData* m_sound; -}; - -#endif // wxOSX_USE_CARBON - wxVector s_soundsPlaying; wxSoundData::wxSoundData() { -#if wxOSX_USE_CARBON - m_pTimer = NULL; -#endif // wxOSX_USE_CARBON m_markedForDeletion = false; } @@ -79,29 +45,8 @@ void wxSoundData::MarkForDeletion() void wxSoundData::Stop() { DoStop(); -#if wxOSX_USE_CARBON - wxDELETE(m_pTimer); -#endif // wxOSX_USE_CARBON } -#if wxOSX_USE_CARBON - -//Time between timer calls -#define MOVIE_DELAY 100 - -void wxSoundData::SoundTask() -{ -} - -void wxSoundData::CreateAndStartTimer() -{ - //Start timer and play movie asyncronously - m_pTimer = new wxSoundTimer(this); - m_pTimer->Start(MOVIE_DELAY, wxTIMER_CONTINUOUS); -} - -#endif // wxOSX_USE_CARBON - wxSound::wxSound() { Init(); diff --git a/src/osx/textctrl_osx.cpp b/src/osx/textctrl_osx.cpp index f319655294..9241897c18 100644 --- a/src/osx/textctrl_osx.cpp +++ b/src/osx/textctrl_osx.cpp @@ -128,16 +128,10 @@ bool wxTextCtrl::Create( wxWindow *parent, void wxTextCtrl::MacSuperChangedPosition() { wxWindow::MacSuperChangedPosition() ; -#if wxOSX_USE_CARBON - GetPeer()->SuperChangedPosition() ; -#endif } void wxTextCtrl::MacVisibilityChanged() { -#if wxOSX_USE_CARBON - GetPeer()->VisibilityChanged( GetPeer()->IsVisible() ); -#endif } void wxTextCtrl::MacCheckSpelling(bool check) @@ -457,19 +451,6 @@ void wxTextCtrl::OnChar(wxKeyEvent& event) } // osx_cocoa sends its event upon insertText -#if wxOSX_USE_CARBON - if ( ( key >= 0x20 && key < WXK_START ) || - ( key >= WXK_NUMPAD0 && key <= WXK_DIVIDE ) || - key == WXK_RETURN || - key == WXK_DELETE || - key == WXK_NUMPAD_ENTER || - key == WXK_BACK) - { - wxCommandEvent event1(wxEVT_TEXT, m_windowId); - event1.SetEventObject( this ); - wxPostEvent( GetEventHandler(), event1 ); - } -#endif } void wxTextCtrl::Command(wxCommandEvent & event) diff --git a/src/osx/toplevel_osx.cpp b/src/osx/toplevel_osx.cpp index fa115345c1..29dbb99b3c 100644 --- a/src/osx/toplevel_osx.cpp +++ b/src/osx/toplevel_osx.cpp @@ -99,12 +99,6 @@ wxTopLevelWindowMac::~wxTopLevelWindowMac() bool wxTopLevelWindowMac::Destroy() { - // NB: this will get called during destruction if we don't do it now, - // and may fire a kill focus event on a control being destroyed -#if wxOSX_USE_CARBON - if (m_nowpeer && m_nowpeer->GetWXWindow()) - ClearKeyboardFocus( (WindowRef)m_nowpeer->GetWXWindow() ); -#endif // delayed destruction: the tlw will be deleted during the next idle // loop iteration if ( !wxPendingDelete.Member(this) ) diff --git a/src/osx/utils_osx.cpp b/src/osx/utils_osx.cpp index 5e36214390..ca55f1e7f4 100644 --- a/src/osx/utils_osx.cpp +++ b/src/osx/utils_osx.cpp @@ -183,26 +183,7 @@ wxWindow* wxFindWindowAtPoint(wxWindow* win, const wxPoint& pt); wxWindow* wxFindWindowAtPoint(const wxPoint& pt) { -#if wxOSX_USE_CARBON - - Point screenPoint = { pt.y , pt.x }; - WindowRef windowRef; - - if ( FindWindow( screenPoint , &windowRef ) ) - { - wxNonOwnedWindow *nonOwned = wxNonOwnedWindow::GetFromWXWindow( windowRef ); - - if ( nonOwned ) - return wxFindWindowAtPoint( nonOwned , pt ); - } - - return NULL; - -#else - return wxGenericFindWindowAtPoint( pt ); - -#endif } /* diff --git a/src/osx/webview_webkit.mm b/src/osx/webview_webkit.mm index 6cd5294c14..b4f87909e7 100644 --- a/src/osx/webview_webkit.mm +++ b/src/osx/webview_webkit.mm @@ -48,254 +48,8 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxWebViewWebKit, wxWebView); wxBEGIN_EVENT_TABLE(wxWebViewWebKit, wxControl) -#if defined(__WXMAC__) && wxOSX_USE_CARBON - EVT_SIZE(wxWebViewWebKit::OnSize) -#endif wxEND_EVENT_TABLE() -#if defined(__WXOSX__) && wxOSX_USE_CARBON - -// ---------------------------------------------------------------------------- -// Carbon Events handlers -// ---------------------------------------------------------------------------- - -// prototype for function in src/osx/carbon/nonownedwnd.cpp -void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent ); - -static const EventTypeSpec eventList[] = -{ - //{ kEventClassControl, kEventControlTrack } , - { kEventClassMouse, kEventMouseUp }, - { kEventClassMouse, kEventMouseDown }, - { kEventClassMouse, kEventMouseMoved }, - { kEventClassMouse, kEventMouseDragged }, - - { kEventClassKeyboard, kEventRawKeyDown } , - { kEventClassKeyboard, kEventRawKeyRepeat } , - { kEventClassKeyboard, kEventRawKeyUp } , - { kEventClassKeyboard, kEventRawKeyModifiersChanged } , - - { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } , - { kEventClassTextInput, kEventTextInputUpdateActiveInputArea } , - -#if DEBUG_WEBKIT_SIZING == 1 - { kEventClassControl, kEventControlBoundsChanged } , -#endif -}; - -// mix this in from window.cpp -pascal OSStatus wxMacUnicodeTextEventHandler(EventHandlerCallRef handler, - EventRef event, void *data) ; - -// NOTE: This is mostly taken from KeyboardEventHandler in toplevel.cpp, but -// that expects the data pointer is a top-level window, so I needed to change -// that in this case. However, once 2.8 is out, we should factor out the common -// logic among the two functions and merge them. -static pascal OSStatus wxWebKitKeyEventHandler(EventHandlerCallRef handler, - EventRef event, void *data) -{ - OSStatus result = eventNotHandledErr ; - wxMacCarbonEvent cEvent( event ) ; - - wxWebViewWebKit* thisWindow = (wxWebViewWebKit*) data ; - wxWindow* focus = thisWindow ; - - unsigned char charCode ; - wxChar uniChar[2] ; - uniChar[0] = 0; - uniChar[1] = 0; - - UInt32 keyCode ; - UInt32 modifiers ; - UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ; - -#if wxUSE_UNICODE - ByteCount dataSize = 0 ; - if ( GetEventParameter(event, kEventParamKeyUnicodes, typeUnicodeText, - NULL, 0 , &dataSize, NULL ) == noErr) - { - UniChar buf[2] ; - int numChars = dataSize / sizeof( UniChar) + 1; - - UniChar* charBuf = buf ; - - if ( numChars * 2 > 4 ) - charBuf = new UniChar[ numChars ] ; - GetEventParameter(event, kEventParamKeyUnicodes, typeUnicodeText, NULL, - dataSize , NULL , charBuf) ; - charBuf[ numChars - 1 ] = 0; - -#if SIZEOF_WCHAR_T == 2 - uniChar = charBuf[0] ; -#else - wxMBConvUTF16 converter ; - converter.MB2WC( uniChar , (const char*)charBuf , 2 ) ; -#endif - - if ( numChars * 2 > 4 ) - delete[] charBuf ; - } -#endif - - GetEventParameter(event, kEventParamKeyMacCharCodes, typeChar, NULL, - 1, NULL, &charCode ); - GetEventParameter(event, kEventParamKeyCode, typeUInt32, NULL, - sizeof(UInt32), NULL, &keyCode ); - GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, - sizeof(UInt32), NULL, &modifiers ); - - UInt32 message = (keyCode << 8) + charCode; - switch ( GetEventKind( event ) ) - { - case kEventRawKeyRepeat : - case kEventRawKeyDown : - { - WXEVENTREF formerEvent = wxTheApp->MacGetCurrentEvent() ; - WXEVENTHANDLERCALLREF formerHandler = - wxTheApp->MacGetCurrentEventHandlerCallRef() ; - - wxTheApp->MacSetCurrentEvent( event , handler ) ; - if ( /* focus && */ wxTheApp->MacSendKeyDownEvent( - focus, message, modifiers, when, uniChar[0])) - { - result = noErr ; - } - wxTheApp->MacSetCurrentEvent( formerEvent , formerHandler ) ; - } - break ; - - case kEventRawKeyUp : - if ( /* focus && */ wxTheApp->MacSendKeyUpEvent( - focus , message , modifiers , when , uniChar[0] ) ) - { - result = noErr ; - } - break ; - - case kEventRawKeyModifiersChanged : - { - wxKeyEvent event(wxEVT_KEY_DOWN); - - event.m_shiftDown = modifiers & shiftKey; - event.m_controlDown = modifiers & controlKey; - event.m_altDown = modifiers & optionKey; - event.m_metaDown = modifiers & cmdKey; - -#if wxUSE_UNICODE - event.m_uniChar = uniChar[0] ; -#endif - - event.SetTimestamp(when); - event.SetEventObject(focus); - - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & controlKey ) - { - event.m_keyCode = WXK_CONTROL ; - event.SetEventType( ( modifiers & controlKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & shiftKey ) - { - event.m_keyCode = WXK_SHIFT ; - event.SetEventType( ( modifiers & shiftKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & optionKey ) - { - event.m_keyCode = WXK_ALT ; - event.SetEventType( ( modifiers & optionKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & cmdKey ) - { - event.m_keyCode = WXK_COMMAND ; - event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ; - focus->GetEventHandler()->ProcessEvent( event ) ; - } - - wxApp::s_lastModifiers = modifiers ; - } - break ; - - default: - break; - } - - return result ; -} - -static pascal OSStatus wxWebViewWebKitEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) -{ - OSStatus result = eventNotHandledErr ; - - wxMacCarbonEvent cEvent( event ) ; - - ControlRef controlRef ; - wxWebViewWebKit* thisWindow = (wxWebViewWebKit*) data ; - wxNonOwnedWindow* tlw = NULL; - if (thisWindow) - tlw = thisWindow->MacGetTopLevelWindow(); - - cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ; - - wxWindow* currentMouseWindow = thisWindow ; - - if ( wxApp::s_captureWindow ) - currentMouseWindow = wxApp::s_captureWindow; - - switch ( GetEventClass( event ) ) - { - case kEventClassKeyboard: - { - result = wxWebKitKeyEventHandler(handler, event, data); - break; - } - - case kEventClassTextInput: - { - result = wxMacUnicodeTextEventHandler(handler, event, data); - break; - } - - case kEventClassMouse: - { - switch ( GetEventKind( event ) ) - { - case kEventMouseDragged : - case kEventMouseMoved : - case kEventMouseDown : - case kEventMouseUp : - { - wxMouseEvent wxevent(wxEVT_LEFT_DOWN); - SetupMouseEvent( wxevent , cEvent ) ; - - currentMouseWindow->ScreenToClient( &wxevent.m_x , &wxevent.m_y ) ; - wxevent.SetEventObject( currentMouseWindow ) ; - wxevent.SetId( currentMouseWindow->GetId() ) ; - - if ( currentMouseWindow->GetEventHandler()->ProcessEvent(wxevent) ) - { - result = noErr; - } - - break; // this should enable WebKit to fire mouse dragged and mouse up events... - } - default : - break ; - } - } - default: - break; - } - - result = CallNextEventHandler(handler, event); - return result ; -} - -DEFINE_ONE_SHOT_HANDLER_GETTER( wxWebViewWebKitEventHandler ) - -#endif - @interface WebViewLoadDelegate : NSObject { wxWebViewWebKit* webKitWindow; @@ -350,20 +104,7 @@ bool wxWebViewWebKit::Create(wxWindow *parent, DontCreatePeer(); wxControl::Create(parent, winID, pos, size, style, wxDefaultValidator, name); -#if wxOSX_USE_CARBON - wxMacControl* peer = new wxMacControl(this); - WebInitForCarbon(); - HIWebViewCreate( peer->GetControlRefAddr() ); - - m_webView = (WebView*) HIWebViewGetWebView( peer->GetControlRef() ); - - HIViewChangeFeatures( peer->GetControlRef() , kHIViewIsOpaque , 0 ) ; - InstallControlEventHandler(peer->GetControlRef(), - GetwxWebViewWebKitEventHandlerUPP(), - GetEventTypeCount(eventList), eventList, this, - (EventHandlerRef *)&m_webKitCtrlEventHandler); - SetPeer(peer); -#elif wxOSX_USE_IPHONE +#if wxOSX_USE_IPHONE CGRect r = wxOSXGetFrameForControl( this, pos , size ) ; m_webView = [[UIWebView alloc] initWithFrame:r]; @@ -379,9 +120,6 @@ bool wxWebViewWebKit::Create(wxWindow *parent, MacPostControlCreate(pos, size); -#if wxOSX_USE_CARBON - HIViewSetVisible( GetPeer()->GetControlRef(), true ); -#endif [m_webView setHidden:false]; @@ -675,91 +413,9 @@ void wxWebViewWebKit::RunScript(const wxString& javascript) void wxWebViewWebKit::OnSize(wxSizeEvent &event) { -#if defined(__WXMAC__) && wxOSX_USE_CARBON - // This is a nasty hack because WebKit seems to lose its position when it is - // embedded in a control that is not itself the content view for a TLW. - // I put it in OnSize because these calcs are not perfect, and in fact are - // basically guesses based on reverse engineering, so it's best to give - // people the option of overriding OnSize with their own calcs if need be. - // I also left some test debugging print statements as a convenience if - // a(nother) problem crops up. - - wxWindow* tlw = MacGetTopLevelWindow(); - - NSRect frame = [(WebView*)m_webView frame]; - NSRect bounds = [(WebView*)m_webView bounds]; - -#if DEBUG_WEBKIT_SIZING - fprintf(stderr,"Carbon window x=%d, y=%d, width=%d, height=%d\n", - GetPosition().x, GetPosition().y, GetSize().x, GetSize().y); - fprintf(stderr, "Cocoa window frame x=%G, y=%G, width=%G, height=%G\n", - frame.origin.x, frame.origin.y, - frame.size.width, frame.size.height); - fprintf(stderr, "Cocoa window bounds x=%G, y=%G, width=%G, height=%G\n", - bounds.origin.x, bounds.origin.y, - bounds.size.width, bounds.size.height); -#endif - - // This must be the case that Apple tested with, because well, in this one case - // we don't need to do anything! It just works. ;) - if (GetParent() == tlw) return; - - // since we no longer use parent coordinates, we always want 0,0. - int x = 0; - int y = 0; - - HIRect rect; - rect.origin.x = x; - rect.origin.y = y; - -#if DEBUG_WEBKIT_SIZING - printf("Before conversion, origin is: x = %d, y = %d\n", x, y); -#endif - - // NB: In most cases, when calling HIViewConvertRect, what people want is to - // use GetRootControl(), and this tripped me up at first. But in fact, what - // we want is the root view, because we need to make the y origin relative - // to the very top of the window, not its contents, since we later flip - // the y coordinate for Cocoa. - HIViewConvertRect (&rect, GetPeer()->GetControlRef(), - HIViewGetRoot( - (WindowRef) MacGetTopLevelWindowRef() - )); - - x = (int)rect.origin.x; - y = (int)rect.origin.y; - -#if DEBUG_WEBKIT_SIZING - printf("Moving Cocoa frame origin to: x = %d, y = %d\n", x, y); -#endif - - if (tlw){ - //flip the y coordinate to convert to Cocoa coordinates - y = tlw->GetSize().y - ((GetSize().y) + y); - } - -#if DEBUG_WEBKIT_SIZING - printf("y = %d after flipping value\n", y); -#endif - - frame.origin.x = x; - frame.origin.y = y; - [(WebView*)m_webView setFrame:frame]; - - if (IsShown()) - [(WebView*)m_webView display]; - event.Skip(); -#endif } void wxWebViewWebKit::MacVisibilityChanged(){ -#if defined(__WXMAC__) && wxOSX_USE_CARBON - bool isHidden = !IsControlVisible( GetPeer()->GetControlRef()); - if (!isHidden) - [(WebView*)m_webView display]; - - [m_webView setHidden:isHidden]; -#endif } void wxWebViewWebKit::LoadURL(const wxString& url) diff --git a/src/osx/window_osx.cpp b/src/osx/window_osx.cpp index 4e027720e7..d067b0c27f 100644 --- a/src/osx/window_osx.cpp +++ b/src/osx/window_osx.cpp @@ -64,11 +64,7 @@ #include "wx/graphics.h" -#if wxOSX_USE_CARBON - #include "wx/osx/uma.h" -#else - #include "wx/osx/private.h" -#endif +#include "wx/osx/private.h" #define MAC_SCROLLBAR_SIZE 15 #define MAC_SMALL_SCROLLBAR_SIZE 11 @@ -1320,11 +1316,7 @@ bool wxWindowMac::MacIsReallyEnabled() bool wxWindowMac::MacIsReallyHilited() { -#if wxOSX_USE_CARBON - return GetPeer()->IsActive(); -#else return true; // TODO -#endif } int wxWindowMac::GetCharHeight() const @@ -1928,97 +1920,6 @@ const wxRegion& wxWindowMac::MacGetVisibleRegion( bool includeOuterStructures ) void wxWindowMac::MacUpdateClippedRects() const { -#if wxOSX_USE_CARBON - if ( m_cachedClippedRectValid ) - return ; - - // includeOuterStructures is true if we try to draw somthing like a focus ring etc. - // also a window dc uses this, in this case we only clip in the hierarchy for hard - // borders like a scrollwindow, splitter etc otherwise we end up in a paranoia having - // to add focus borders everywhere - - Rect rIncludingOuterStructures ; - - int tx,ty,tw,th; - - GetPeer()->GetSize( tw, th ); - GetPeer()->GetPosition( tx, ty ); - - Rect r = { ty,tx, ty+th, tx+tw }; - - r.left -= MacGetLeftBorderSize() ; - r.top -= MacGetTopBorderSize() ; - r.bottom += MacGetBottomBorderSize() ; - r.right += MacGetRightBorderSize() ; - - r.right -= r.left ; - r.bottom -= r.top ; - r.left = 0 ; - r.top = 0 ; - - rIncludingOuterStructures = r ; - InsetRect( &rIncludingOuterStructures , -4 , -4 ) ; - - wxRect cl = GetClientRect() ; - Rect rClient = { cl.y , cl.x , cl.y + cl.height , cl.x + cl.width } ; - - int x , y ; - wxSize size ; - const wxWindow* child = (wxWindow*) this ; - const wxWindow* parent = NULL ; - - while ( !child->IsTopLevel() && ( parent = child->GetParent() ) != NULL ) - { - if ( parent->MacIsChildOfClientArea(child) ) - { - size = parent->GetClientSize() ; - wxPoint origin = parent->GetClientAreaOrigin() ; - x = origin.x ; - y = origin.y ; - } - else - { - // this will be true for scrollbars, toolbars etc. - size = parent->GetSize() ; - y = parent->MacGetTopBorderSize() ; - x = parent->MacGetLeftBorderSize() ; - size.x -= parent->MacGetLeftBorderSize() + parent->MacGetRightBorderSize() ; - size.y -= parent->MacGetTopBorderSize() + parent->MacGetBottomBorderSize() ; - } - - parent->MacWindowToRootWindow( &x, &y ) ; - MacRootWindowToWindow( &x , &y ) ; - - Rect rparent = { y , x , y + size.y , x + size.x } ; - - // the wxwindow and client rects will always be clipped - SectRect( &r , &rparent , &r ) ; - SectRect( &rClient , &rparent , &rClient ) ; - - // the structure only at 'hard' borders - if ( parent->MacClipChildren() || - ( parent->GetParent() && parent->GetParent()->MacClipGrandChildren() ) ) - { - SectRect( &rIncludingOuterStructures , &rparent , &rIncludingOuterStructures ) ; - } - - child = parent ; - } - - m_cachedClippedRect = wxRect( r.left , r.top , r.right - r.left , r.bottom - r.top ) ; - m_cachedClippedClientRect = wxRect( rClient.left , rClient.top , - rClient.right - rClient.left , rClient.bottom - rClient.top ) ; - m_cachedClippedRectWithOuterStructure = wxRect( - rIncludingOuterStructures.left , rIncludingOuterStructures.top , - rIncludingOuterStructures.right - rIncludingOuterStructures.left , - rIncludingOuterStructures.bottom - rIncludingOuterStructures.top ) ; - - m_cachedClippedRegionWithOuterStructure = wxRegion( m_cachedClippedRectWithOuterStructure ) ; - m_cachedClippedRegion = wxRegion( m_cachedClippedRect ) ; - m_cachedClippedClientRegion = wxRegion( m_cachedClippedClientRect ) ; - - m_cachedClippedRectValid = true ; -#endif } /* diff --git a/utils/helpview/src/helpview.cpp b/utils/helpview/src/helpview.cpp index 83010e61f5..8ad412e589 100644 --- a/utils/helpview/src/helpview.cpp +++ b/utils/helpview/src/helpview.cpp @@ -56,11 +56,6 @@ bool hvApp::OnInit() wxArtProvider::Push(new AlternateArtProvider); -#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON - wxApp::s_macAboutMenuItemId = wxID_ABOUT; - wxFileName::MacRegisterDefaultTypeAndCreator( wxT("htb") , 'HTBD' , 'HTBA' ) ; -#endif - int istyle = wxHF_DEFAULT_STYLE; wxString service, windowName, titleFormat, argStr;