| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179 |
- -------------------------------------------------------------------------------
- wxWidgets Change Log
- -------------------------------------------------------------------------------
- INCOMPATIBLE CHANGES SINCE 2.8.x
- ================================
- Notice that these changes are described in more details in
- the "Changes Since wxWidgets 2.8" section of the manual,
- please read it if the explanation here is too cryptic.
- Table of contents of this section:
- - Unicode-related changes
- - wxODBC and contrib libraries removal
- - Changes in behaviour not resulting in compilation errors
- - Build system changes
- - Major new features in this release
- Unicode-related changes
- -----------------------
- The biggest changes in wxWidgets 3.0 are the changes due to the merge of the
- old ANSI and Unicode build modes in a single build. See the Unicode overview
- in the manual for more details but here are the most important incompatible
- changes:
- - Many wxWidgets functions taking "const wxChar *" have been changed to take
- either "const wxString&" (so that they accept both Unicode and ANSI strings;
- the argument can't be NULL anymore in this case) or "const char *" (if the
- strings are always ANSI; may still be NULL). This change is normally
- backwards compatible except:
- a) Virtual functions: derived classes versions must be modified to take
- "const wxString&" as well to make sure that they continue to override the
- base class version.
- b) Passing NULL as argument: as NULL can't be unambiguously converted to
- wxString, in many cases code using it won't compile any more and NULL
- should be replaced with an empty string.
- - Functions returning "const wxChar *" were changed as well. Mostly they now
- return wxString which is then transparently convertible to either "const char
- *" or "const wchar_t *" but in some cases, notably wxDateTime::ParseXXX(),
- the returned string could be NULL and so a separate helper class is used. If
- you obtain compilation errors because of this, you can always correct them by
- explicitly assigning the function return value to a variable of wanted type.
- A slightly more intrusive but better solution is to use ParseXXX() version
- with wxString::const_iterator output parameter which simply returns bool to
- indicate the parsing success.
- - Some structure fields which used to be of type "const wxChar *" (such as
- wxCmdLineEntryDesc::shortName, longName and description fields) are now of
- type "const char *", you need to remove wxT() or _T() around the values used
- to initialize them (which should normally always be ASCII). If you want your
- code to remain compatible with Unicode build of previous wx version, please
- use the special wxT_2, which is the same as wxT in 2.x only, instead.
- - wxIPC classes didn't work correctly in Unicode build before, this was fixed
- but at a price of breaking backwards compatibility: many methods which used
- to work with "wxChar *" before use "void *" now (some int parameters were
- also changed to size_t). While wxIPC_TEXT can still be used to transfer 7
- bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings.
- Also notice that connection classes should change the parameter types of
- their overridden OnExecute() or override a more convenient OnExec() instead.
- wxODBC and contrib libraries removal
- ------------------------------------
- wxODBC library was unmaintained since several years and we couldn't continue
- supporting it any longer so it was removed. Please use any of the other open
- source ODBC libraries in the future projects.
- Also the "applet", "deprecated", "fl", "mmedia" and "plot" contrib libraries
- were removed as they were unmaintained and broken since several years.
- The "gizmos", "ogl", "net" and "foldbar" contribs have been moved to
- wxCode (see http://wxcode.sourceforge.net/complist.php); they are now
- open for further development by volunteers.
- The "stc" and "svg" contribs instead have been moved respectively into a new
- "official" library stc and in the core lib.
- Changes in behaviour not resulting in compilation errors, please read this!
- ---------------------------------------------------------------------------
- - Don't pass wxString::c_str() to vararg functions any more! Due to Unicode
- changes, c_str() now returns an object and not a simple char pointer, so
- using it with vararg functions does not work any more. The preferred
- solution is to use wx-provided equivalents, e.g. wxPrintf() instead of
- printf() which has the added benefit that you don't need to call c_str()
- any more and can pass wxString objects directly. If this is impossible,
- add explicit casts to "const char*" or "const wchar_t*". See wxString
- documentation for more details.
- Notice that using wxString::c_str() with vararg functions does result in
- compilation errors with g++ and most other compilers but not MSVC. Try to
- build your code with g++ to detect all such problems at compile-time.
- - Default location of wxFileConfig files has changed under Windows, you will
- need to update your code if you access these files directly.
- - wxWindow::IsEnabled() now returns false if a window parent (and not
- necessarily the window itself) is disabled, new function IsThisEnabled()
- with the same behaviour as old IsEnabled() was added.
- - Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and
- other platforms in the future), use wxWindow::Navigate() or NavigateIn()
- instead.
- - Sizers distribute only the extra space between the stretchable items
- according to their proportions and not all available space. We believe the
- new behaviour corresponds better to user expectations but if you did rely
- on the old behaviour you will have to update your code to set the minimal
- sizes of the sizer items to be in the same proportion as the items
- proportions to return to the old behaviour.
- - Interpretation of font height in pixels parameter has changed in wxFont
- ctor and SetPixelSize() in wxMSW: it is now used as character height and not
- the total cell height. If you previously used negative height to explicitly
- request character height matching, you may now change your code to use
- positive value (passing negative height still works but is undocumented and
- deprecated). If you used positive height before you should retest your code
- to check if the changes correspond to your expectations. And if you do need
- the old behaviour please contact us at wx-dev to let us know about it!
- - wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
- your code you need to override DoFreeze/DoThaw() instead now.
- - wxCalendarCtrl has native implementation in wxGTK, but it has less features
- than the generic one. The native implementation is used by default, but you
- can still use wxGenericCalendarCtrl instead of wxCalendarCtrl in your code if
- you need the extra features.
- - wxDocument::FileHistoryLoad() and wxFileHistory::Load() now take const
- reference to wxConfigBase argument and not just a reference, please update
- your code if you overrode these functions and change the functions in the
- derived classes to use const reference as well.
- - Under MSW wxExecute() arguments are now always properly quoted, as under
- Unix, and so shouldn't contain quotes unless they are part of the argument.
- - wxDocument::OnNewDocument() doesn't call OnCloseDocument() any more.
- - If you use wxScrolledWindow::SetTargetWindow() you must implement its
- GetSizeAvailableForScrollTarget() method, please see its documentation for
- more details.
- - Processing of pending events now requires a running event loop.
- Thus initialization code (e.g. showing a dialog) previously done in wxApp::OnRun()
- or equivalent function should now be done into wxApp::OnEventLoopEnter().
- See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
- - wxDialogs get wxEVT_SIZE events immediately after creation in wxMSW, as with
- wxFrames. This means that this event handler may be called earlier than in
- 2.8, check that all the controls are initialized before using them in it.
- - wxLoadFileSelector() now allows the user to select existing files only.
- - Erase background events are now not generated at all when background style is
- changed. See the updated wxWindow::SetBackgroundStyle() description in the
- manual for more details.
- - wxTreeCtrl::GetSelection now asserts if the tree has the wxTR_MULTIPLE style.
- Instead use GetSelections() for multiple items; or if you want only the
- single item last touched, the new wxTreeCtrl::GetFocusedItem.
- - Custom log targets should be updated to override wxLog::DoLogRecord() method
- instead of DoLog() or DoLogString() and must be updated if they call the base
- class versions of these functions as this won't work any more; please see the
- documentation of wxLog for more information.
- - Confusing wxGridSizer(int cols, int vgap = 0, int hgap = 0) ctor which was
- easy to mistake for wxGridSizer(int rows, int cols) overload was removed, you
- will need to specify both vertical and horizontal gap if you want to use this
- overload or specify both rows and columns and the gap otherwise. Use of the
- new constructors taking wxSize for the gap argument is preferred. The same
- applies to wxFlexGridSizer as well.
- - wxBoxSizer::AddSpacer(x) now adds space in the direction of the sizer only
- and not in both this and the orthogonal directions. This behaviour is what
- most of the people expect but if you really relied on this overload adding
- space in both directions you should change your code to use AddSpacer(x, x).
- - wxTextCtrl::LoadFile no longer sends a text update event.
- - wxXmlDocument::Save()'s indentstep argument's interpretation was fixed
- to match the documentation: it now really is the number of spaces in
- indentation instead of being its double. Its default value was changed
- accordingly, to 2.
- - wxLOCALE_CONV_ENCODING flag has no effect now, catalogs are converted
- regardless of whether the flag was specified or not. This only affects
- legacy ANSI builds.
- - wxNotebook::GetSelection() returns the new page index when called from
- wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event handler in wxMSW, not the old one.
- The new behaviour is consistent with wxGTK and more logical but different
- from the previous versions. Using wxNotebookEvent::GetSelection() instead of
- querying the notebook selection avoids the problem and is recommended.
- - wxMSW-specific wxAutomationObject::GetInstance() method now creates a new
- instance if needed instead of failing if the application providing the
- requested ProgID is not running. Pass wxAutomationInstance_UseExistingOnly
- flag to it to revert to the old behaviour. It is also possible to use the
- wxAutomationInstance_SilentIfNone flag to prevent the error message if no
- currently running instances of this object are available.
- - Signature of wxDataViewCustomRenderer::StartDrag() virtual method changed.
- You will need to change it in your derived renderer class too if you override
- it.
- - wxDataViewCustomRenderer::Activate() and LeftClick() were replaced with the
- new ActivateCell() method. You will need to change it in your derived
- renderer class accordingly.
- - wxThread::Wait() and wxThread::Delete() used to dispatch the events while
- waiting for the thread to exit in wxMSW. They still do it in default build
- with WXWIN_COMPATIBILITY_2_8 defined but won't dispatch any events, i.e. the
- default wait mode will become wxTHREAD_WAIT_BLOCK in the next wxWidgets
- release so you are strongly encouraged to upgrade your code to stop relying
- on this behaviour.
- - wxEVT_CHAR_HOOK events are not generated any more if the mouse is captured to
- prevent the parent wxTopLevelWindow from interfering with the keyboard
- handling of the window that captured the mouse.
- - wxDataViewCtrl::GetSelection() now returns invalid item in all ports (this
- behaved differently in wxMSW and wxGTK/wxOSX before) if more than one item
- is selected in a control with wxDV_MULTIPLE style.
- - wxEVT_COMMAND_MENU_SELECTED, MENU_OPEN and CLOSE events returned a menu from
- GetEventObject() in all ports but the frame the menu was attached to in wxMSW.
- Now all ports return the menu that was opened or closed as the event object.
- - wxAny now uses C locale format for the floating point numbers and not the
- current locale one, i.e. decimal point is always used.
- - wxGridBagSizer::AddGrowable{Col,Row}() must now be called after the items are
- added to the sizer, i.e. the columns and rows already exist.
- - wxWindow::FindWindow() skips over top level children now as finding a child
- dialog when looking for a child control could have been very unexpected.
- Changes in behaviour which may result in compilation errors
- -----------------------------------------------------------
- - WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
- you still relied on features deprecated since version 2.4
- - WXWIN_COMPATIBILITY_2_6 still exists but is 0 by default in this release and
- will be removed in 3.2. You can set it to 1 and rebuild wxWidgets to access
- the old and deprecated symbols but please consider updating your code
- instead. Here are replacements for some of the obsolete symbols:
- + wxSAVE and wxOPEN -> wxFD_SAVE and wxFD_OPEN
- + WXK_PRIOR and WXK_NEXT -> WXK_PAGEUP and WXK_PAGEDOWN
- + wxRESIZE_BOX -> wxMAXIMIZE_BOX
- + wxTHICK_FRAME -> wxRESIZE_BORDER
- + wxPROCESS_ENTER and wxPASSWORD -> wxTE_PROCESS_ENTER and wxTE_PASSWORD
- + EVT_SCROLL_ENDSCROLL -> EVT_SCROLL_CHANGED
- + NewControlId -> wxWindow::NewControlId()
- + wxFileHistory::GetNoHistoryFiles() -> wxFileHistory::GetCount()
- + wxSizerItem::SetOption() -> wxSizerItem::SetProportion()
- + wxSizer::Remove(wxWindow*) -> wxSizer::Detach()
- - wxDC classes hierarchy has changed, if you derived any classes from wxDC you
- need to review them as wxDC doesn't have any virtual methods any longer and
- uses delegation instead of inheritance to present different behaviours.
- - wxWindow::ProcessEvent() (and other wxEvtHandler methods inherited by wxWindow)
- has been made protected to prevent wrongly using it instead of correct
- GetEventHandler()->ProcessEvent().
- New ProcessWindowEvent() was added for convenience.
- - Return type of wxString::operator[] and wxString::iterator::operator* is no
- longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem
- in vast majority of cases because of conversion operators, but it can break
- code that depends on the result being wxChar.
- - The value returned by wxString::c_str() cannot be casted to non-const char*
- or wchar_t* anymore. The solution is to use newly added wxString methods
- char_str() (which returns a buffer convertible to char*) or wchar_str()
- (which returns a buffer convertible to wchar_t*). These methods are
- available in wxWidgets 2.8 series beginning with 2.8.4 as well.
- - The value returned by wxString::operator[] or wxString::iterator cannot be
- used in switch statements anymore, because it's a class instance. Code like
- this won't compile:
- switch (str[i]) { ... }
- and has to be replaced with this:
- switch (str[i].GetValue()) { ... }
- - Return type of wxString::c_str() is now a helper wxCStrData struct and not
- const wxChar*. wxCStrData is implicitly convertible to both "const char *"
- and "const wchar_t *", so this only presents a problem if the compiler cannot
- apply the conversion. This can happen in 2 cases:
- + There is an ambiguity because the function being called is overloaded to
- take both "const char *" and "const wchar_t *" as the compiler can't choose
- between them. In this case you may use s.wx_str() to call the function
- matching the current build (Unicode or not) or s.mb_str() or s.wc_str() to
- explicitly select narrow or wide version of it.
- Notice that such functions are normally not very common but unfortunately
- Microsoft decided to extend their STL with standard-incompatible overloads
- of some functions accepting "const wchar_t *" so you may need to replace
- some occurrences of c_str() with wx_str() when using MSVC 8 or later.
- + Some compilers, notably Borland C++ and DigitalMars, don't correctly
- convert operator?: operands to the same type and fail with compilation
- error instead. This can be worked around by explicitly casting to const
- wxChar*: wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "")
- - wxDateTime::ParseXXX() overloads don't return anything when called with
- wxCStrData argument. If you need to test the parsing success, use a newer
- overload taking wxString::const_iterator and returning bool or explicitly
- select a narrow or wide char version to use by casting c_str() to either
- "char*" or "wchar_t*". Or create a temporary wxString and parse it instead.
- - wxCtime() and wxAsctime() return char*; this is incompatible with Unicode
- build in wxWidgets 2.8 that returned wchar_t*.
- - DigitalMars compiler has a bug that prevents it from using
- wxUniChar::operator bool in conditions and it erroneously reports type
- conversion ambiguity in expressions such as this:
- for ( wxString::const_iterator p = s.begin(); *p; ++p )
- This can be worked around by explicitly casting to bool:
- for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
- - Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now.
- - Functions that took wxChar* arguments that could be NULL in wxWidgets 2.8
- are deprecated and passing NULL to them won't compile anymore, wxEmptyString
- must be used instead.
- - wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx()
- with void pointers.
- - Removed insecure wxGets() and wxTmpnam() functions.
- - Removed global GetLine() function from wx/protocol/protocol.h, use
- wxProtocol::ReadLine() instead.
- - wxVariant no longer derives from wxObject. wxVariantData also no longer
- derives from wxObject; instead of using wxDynamicCast with wxVariantData you
- can use the macro wxDynamicCastVariantData with the same arguments.
- - wxWindow::Next/PrevControlId() don't exist any more as they couldn't be
- implemented correctly any longer because automatically generated ids are not
- necessarily allocated consecutively now. Use GetChildren() to find the
- next/previous control sibling instead.
- - Calling wxConfig::Write() with an enum value will fail to compile because
- wxConfig now tries to convert all unknown types to wxString automatically.
- The simplest solution is to cast the enum value to int.
- - Several wxImage methods which previously had "long bitmaptype" parameters
- have been changed to accept "wxBitmapType bitmaptype", please use enum
- wxBitmapType in your code.
- - wxGridCellEditor::EndEdit() signature has changed and it was split in two
- functions, one still called EndEdit() and ApplyEdit(). See the documentation
- of the new functions for more details about how grid editors should be
- written now.
- - wxEVT_GRID_CELL_CHANGE event renamed to wxEVT_GRID_CELL_CHANGED and shouldn't
- be vetoed any more, use the new wxEVT_GRID_CELL_CHANGING event to do it.
- - wxListCtrlCompare function used with wxListCtrl::SortItems() must now declare
- its third parameter as wxIntPtr and not long (this allows passing pointers
- to it under 64 bit platforms too).
- - Global wxPendingEvents and wxPendingEventsLocker objects were removed.
- You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
- locking wxPendingEventsLocker now.
- - wxBitmapButton::GetBitmapXXX() overloads returning non-const wxBitmap
- references have been removed, modifying the returned bitmaps never worked and
- now results in compile-time error.
- - wxLogXXX() are now macros, not functions. Because of this calling them with
- an explicit scope resolution operator ("::wxLogError()") doesn't work any
- longer, just remove it. Also notice that using them inside an "if" statement
- without enclosing parentheses results in warnings from g++ with -Wparentheses,
- add parentheses around the if statement body to work around it.
- - wxList::Member() now returns bool and not a pointer/iterator. This shouldn't
- require any changes as it was always meant to be used for checking for the
- presence of an element in the list only. If you used it as Find(), simple do
- use Find() instead.
- - wxLongLongFmtSpec is now a normal and not wide string so you will need to
- change expressions of the form wxT("%") wxLongLongFmtSpec wxT("x") to
- just "%" wxLongLongFmtSpec "x", i.e. simply remove wxT() from the strings you
- concatenate with it.
- - wxST_MARKUP doesn't exist any more, use wxControl::SetLabelMarkup() instead.
- - wxComboBox::IsEmpty(), which was previously available in some ports (but not
- wxMSW), doesn't exist any more, use either IsListEmpty() or IsTextEmpty().
- - wxSingleChoiceDialog ctors and Create() now have 2 overloaded versions: one
- taking void** client data and the deprecated one taking char**. This can
- result in compilation errors due to an ambiguity between them if you pass
- NULL as client data. To fix this, cast NULL explicitly to "void**".
- - wxChoicebookEvent, wxListbookEvent, wxNotebookEvent, wxToolbookEvent and
- wxTreebookEvent are now all synonyms for wxBookCtrlEvent. The existing code
- using the old names continues to work but they can't be forward-declared
- any more. Use wxBookCtrlEvent in your code if you need to forward-declare
- it or just include the appropriate header instead of forward declaration.
- - wxStandardPaths class can't be created now. This was never the right thing
- to do, wxStandardPaths::Get() always had to be used to access the global
- object of the correct type but now doing it results in a compilation error.
- Deprecated methods and their replacements
- -----------------------------------------
- - wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead.
- - wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer
- or wxStringBufferLength instead.
- - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if
- specified so this style should simply be removed
- - wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and
- wxDocument::GetPrintableName() with GetUserReadableName() which are simpler
- to use
- - wxXmlProperty class was renamed to wxXmlAttribute in order to use standard
- terminology. Corresponding wxXmlNode methods were renamed to use
- "Attribute" instead of "Property" or "Prop" in their names.
- - wxConnection::OnExecute() is not formally deprecated yet but new code should
- use simpler OnExec() version which is called with wxString argument
- - Various wxMenuItem methods were deprecated in favour of more consisently
- named new versions:
- . GetLabel() is now GetItemLabelText()
- . GetText() is not GetItemLabel()
- . GetLabelFromText() is now GetLabelText()
- . SetText() is now SetItemLabel()
- - wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen
- ctor now take respectively a wxBrushStyle and a wxPenStyle value instead of a
- plain "int style"; use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX
- and wxPENSTYLE_XXX) instead of the old deprecated wxXXX styles.
- - EVT_GRID_CELL_CHANGE was deprecated, use EVT_GRID_CELL_CHANGED instead if you
- don't veto the event in its handler and EVT_GRID_CELL_CHANGING if you do.
- - EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED.
- - EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated,
- use EVT_CALENDAR_PAGE_CHANGED which replaces both of them.
- - wxCalendarCtrl::EnableYearChange() and wxCAL_NO_YEAR_CHANGE are deprecated.
- There is no replacement for this functionality, it is being dropped as it is
- not available in native wxCalendarCtrl implementations.
- - wxDC::SetClippingRegion(const wxRegion&) overload is deprecated as it used
- different convention from the other SetClippingRegion() overloads: wxRegion
- passed to it was interpreted in physical, not logical, coordinates. Replace
- it with SetDeviceClippingRegion() if this was the correct thing to do in your
- code.
- - wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow.
- - wxThreadHelper::Create() has been renamed to CreateThread which has a better
- name for a mix-in class, and allows setting the thread type.
- - wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName,
- wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath
- were deprecated in favour of wxFileName methods. See docs for more info.
- - wxEvtHandler::TryValidator/Parent() are deprecated, override the new and
- documented TryBefore/After() methods if you used to override these ones.
- - wxGetMultipleChoices() is deprecated, use wxGetSelectedChoices() which has
- the same signature but returns -1 and not 0 if the dialog was cancelled.
- - building the windows which are placed inside wxStaticBoxes as siblings of the
- wxStaticBox is still allowed but it's deprecated as it gives some problems
- on some ports (e.g. wxGTK).
- You should now create windows placed inside a wxStaticBox as children of
- the static box itself.
- - wxMouseState::{Left,Middle,Right}Down() were renamed to XXXIsDown() for
- consistency with wxMouseEvent and the old names were deprecated.
- - wxFont::SetNoAntiAliasing() was deprecated, it never really worked in most
- ports and was always marked as "experimental" API. It will be replaced with
- wxDC-level anti-aliasing control in the future.
- - wxValidator::SetBellOnError() incorrectly interpreted its argument (it
- disabled the bell when it was true) and was replaced by SuppressBellOnError()
- with more expected semantics.
- - wxPORTRAIT and wxLANDSCAPE are now elements of wxPrintOrientation enum and
- wxPrintData::SetOrientation(int) takes wxPrintOrientation and not int.
- - Second parameter of wxSlider::SetTickFreq(int n, int pos) is deprecated,
- simply remove it from your code and use wxSlider::SetTickFreq(int n) as it
- was never used anyhow.
- - wxSingleChoiceDialog ctor and Create() take "void**" client data pointer
- instead of "char**". As the client data is typically untyped, you should
- simply remove the casts to "char**" which you probably have in your code if
- you use these functions.
- - wxDataViewCtrl::StartEditor(item, n) taking column index is now deprecated,
- use EditItem(item, GetColumn(n)), which takes the column itself, instead.
- - wxWindow::MakeModal() is deprecated, use wxDialog::ShowModal() instead if
- possible or wxWindowDisabler otherwise.
- Changes in behaviour visible to end users
- -----------------------------------------
- - wxTextCtrl::SaveFile() now creates UTF-8-encoded files instead of using the
- default locale encoding. This ensures that the entire text control contents
- can be saved and is consistent with the use of UTF-8 by default in the other
- places, notably DoLoadFile(), but is a change since the previous versions.
- If you need the old behaviour, consider calling wxFFile::Write() explicitly
- with wxConvCurrent conversion parameter.
- - In wxMSW wxSpinCtrl used to prevent the user from entering more digits than
- could fit in its visible area. This was inconsistent with the other ports and
- now the control scrolls if too much text is added.
- Build system changes
- --------------------
- - Cocoa is now used by default under OS X instead of Carbon. Pass --with-carbon
- option to configure to use wxCarbon.
- - In wxMSW makefile builds, "_x64" is used instead of "_amd64" when compiling
- for this architecture in the architecture-specific paths and library names.
- TARGET_CPU can still be specified as "amd64" for compatibility but "x64"
- should be used now.
- - Official wxMSW binaries, i.e. those built with OFFICIAL_BUILD=1, built with
- MSVC now include the version of the compiler used and the architecture if
- it's not the default "x86". E.g. a library built with MSVC 10 for amd64 is
- called "wxbase294ud_vc110_amd64.dll" now.
- - MSVC projects don't include neither wxUniversal nor ANSI (non-Unicode)
- configurations any more. The simplest way to build wxWidgets in these
- configurations if you need them is to use nmake from the command line with
- WXUNIV=1 or UNICODE=0 command line parameter respectively.
- - The manifest is not included by wx/msw/wx.rc any longer for MSVC compiler.
- If you're using MSVC 6 or 7 which require it, you must explicitly define
- wxUSE_RC_MANIFEST=1 and also predefine WX_CPU_X86 in the resource compiler
- options in your project file.
- Major new features in this release
- ----------------------------------
- - wxWidgets is now always built with Unicode support but provides the same
- simple (i.e. "char *"-tolerant) API as was available in ANSI build in the
- past.
- - wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally,
- depending on what is optimal for the target platform.
- - New webview library, implementing wxWebView: a wrapper for the native
- platform web engine with full support for HTML and JavaScript.
- - New propgrid library containing wxPropertyGrid and related classes.
- - New ribbon library for advanced toolbars.
- - Many enhancements to wxDataViewCtrl.
- - Event loops, timers and sockets can now be used in wxBase, without GUI.
- - Events can now be connected to any functor, not necessarily a method of
- wxEvtHandler-derived class. The compile-time safety was also improved.
- - Documentation for wxWidgets has been converted from LaTex to C++ headers
- with Doxygen comments and significantly improved in the process (screenshots
- of various controls were added, more identifiers are now linked to their
- definition &c). Any reports about inaccuracies in the documentation are
- welcome (and due to using the simple Doxygen syntax it is now easier than
- ever to submit patches correcting them! :-)
- - Support for persistent objects automatically saving and restoring their state
- was added.
- 3.0.2: (released 2014-10-06)
- ----------------------------
- All:
- - Fix silent data loss in wx[F]File::Write(wxString) if conversion fails.
- - Make wxString::FromCDouble() work when the global C++ locale is not the C one.
- - Add support for "%V", "%G" and "%g" to wxDateTime::Format().
- All (GUI):
- - Add wxGenericListCtrl::EndEditLabel() (Tim Kosse).
- - Implement bounding box computation in wxGCDC (Toni Ruža).
- - Fix saving GIF animations with 2.5s+ delays between frames (elvissteinjr).
- - Add "variant" property to windows in XRC.
- - Add XRC handler for wxSimplebook.
- - Return correct value from wxCommandEvent::GetString() for programmatically
- generated wxEVT_TEXT events from wxComboBox.
- - Accept "default" as font family value in XRC (pieleric).
- - Send events when toggling wxPropertyGrid nodes from keyboard (Armel Asselin).
- wxGTK:
- - Fix mouse handling in wxNotebook containing wxListCtrl (Charlie Fenton).
- - Fix layout of wxSearchCtrl to not truncate text in it.
- wxMSW:
- - Fix Cygwin 1.7 build.
- - Work around a bug in MinGW 4.8 headers and fix build with it too.
- - Include x64 configurations in MSVC 8/9 project files too.
- - Fix parallel build of MSVC 11/12 solutions (Artur Wieczorek).
- - Fix background of wxRadioBox buttons and wxSlider (Artur Wieczorek).
- - Fix appearance of wxToggleButtons with non default colours (Artur Wieczorek).
- - Fix drawing on wxDC when using right-to-left layout (Artur Wieczorek).
- - Fix wxGrid appearance and behaviour in RTL (Artur Wieczorek).
- - Fix creating wxBitmap from monochrome wxIcon or wxCursor (Artur Wieczorek).
- - Fix handling of bitmaps with alpha in wxImageList (Artur Wieczorek).
- - Add paragraph spacing attributes support to wxTextCtrl (dannchr).
- - Show new style directory selector even for non existent paths (raychow).
- - Fix order of radial gradient stops (Alexandru Pana).
- - Fix font created using wxFont(wxFontInfo()) ctor.
- - Fix wxFileName::GetShortcutTarget() in console applications.
- - Fix wxFileName::MakeRelativeTo() for shortcut files (gafatoa).
- - Fix height of initially empty wxBitmapComboBox (Artur Wieczorek).
- - Fix setting label of submenu items (Artur Wieczorek).
- - Fix using Esc as accelerator in the menus.
- - Fix wrong initial status bar height in some cases (Artur Wieczorek).
- 3.0.1: (released 2014-06-15)
- ----------------------------
- All:
- - Fix wxMBConvUTF8::ToWChar() for non-NUL-terminated strings (andyr).
- - Fix length returned from wxMBConvUTF16::ToWChar(NULL) (Thomas Goyne).
- - Fix wxSocket::WaitForAccept() in non-main thread (Hajo Kirchhoff).
- - Fix memory overallocation in wxVector::reserve() (Nigel Paton).
- - Fix `wx-config --libs` in monolithic build.
- - Fix wxFileSystemWatcher::RemoveAll() (Melroy Tellis).
- - Fix the build under HP-UX (tested under 11.31).
- - Add Aragonese translation.
- All (GUI):
- - Fix crash when setting invalid label ending with "&" (ZaneUJi).
- - Fix wxEditableListBox user data corruption when exchanging items
- in 64 bit builds (Tom Mettam, Rapid2D).
- - Fix wxCommandProcessor::IsDirty() return value which was wrong after undoing
- all commands without saving (Neil Chittenden).
- - Fix crash when Destroy()-ing a TLW with non-TLW parent.
- - Fix crash in wxAuiToolBar::GetToolBarFits().
- - Make wxFILTER_INCLUDE_LIST in wxTextValidator actually usable.
- - Make wxHTML more efficient when displaying large tables (Kinaou Hervé).
- - Prevent wxGrid rows/columns from becoming too small on double click.
- - Fix wxGraphicsBitmap::ConvertToImage() when using Cairo.
- - Support loading ICO files with data in PNG format (Artur Wieczorek).
- - Fix dragging columns in wxGrid when some of them are hidden (Artur Wieczorek).
- - Fix selecting elements from wxPropertyGrid enum properties (Artur Wieczorek).
- - Don't show the dialog twice for colours in wxPropertyGrid (Artur Wieczorek).
- - Fix handling of custom colours in wxPropertyGrid choices (Artur Wieczorek).
- - Add "hint" property to wxTextCtrl XRC handler.
- - Allow using wxALIGN_CENTER, and not just CENTRE, in XRC for wxStaticText.
- - Handle files used in wxAnimationCtrl "animation" property in wxrc.
- wxGTK:
- - Fix mouse wheel scrolling in wxListCtrl broken just before 3.0.0.
- - Fix memory leak in wxSocket.
- - Fix raw access to wxBitmap pixels after drawing on it using wxMemoryDC.
- - Fix setting font and colours of wxToggleButtons with images.
- - Fix wxPopupTransientWindow mouse events with GTK3,
- also fixes wxOwnerDrawnComboBox, wxDatePickerCtrl.
- - Fix cursor inheritance.
- - Fix wxStaticBoxSizer size calculation.
- - Fix AUI panel re-docking.
- - Add support for wxDD_DIR_MUST_EXIST to wxDirDialog.
- - Fix handling of the accelerators for sub menu items (Chaobin Zhang).
- - Fix disappearing mouse clicks when using wxTreeCtrl.
- - Fix calls to Move{Before,After}InTabOrder() after parent window creation.
- - Fix wxDirPickerCtrl to send wxEVT_DIRPICKER_CHANGED when user selects a
- special folder from combobox
- - Fix wxSystemSettings::GetColour() returning transparent colors with GTK3.
- - Fix setting client data when adding items to a sorted wxListBox.
- - Fix X 'BadPixmap' crash in wxDC::Blit() with mask when GTK+ <= 2.16.
- wxMSW:
- - Disable the use of compiler TLS to avoid mysterious crashes in plugins.
- - Added solution files for MSVS 2012 and 2013 (Artur Wieczorek).
- - Fix handling of unsupported formats in dnd (jwiesemann).
- - Fix blank wxBitmapComboBox dropdown appearance.
- - Fix clicking on checkboxes in wxDataViewCtrl.
- - Fix handling of Esc while an auto-complete drop down is open (Chaobin Zhang).
- - Many improvements to alpha transparency handling (Artur Wieczorek).
- - Make "%lu" work with size_t arguments under Win64 (laro).
- - Fix wxRegion::Offset() with shared objects (Joost Nieuwenhuijse).
- - Fix wxSocket::Initialize() after Shutdown() (Laurent Poujoulat).
- - Fix coordinates of EVT_MOUSEWHEEL in frames with toolbars (LtJax).
- - Support "show" verb as well as "open" in wxFileType (Eric Jensen).
- - Fix display of bitmaps with alpha in wxStaticBitmap (Artur Wieczorek).
- - Fix wxClientDC::Clear() for scrolled windows (Artur Wieczorek).
- - Make wxPrinterDC::DrawIcon() actually work (Artur Wieczorek).
- - Fix handling of wxSET, wxCLEAR and wxINVERT in wxDC (Artur Wieczorek).
- - Fix bug with multiple default buttons in a dialog (Artur Wieczorek).
- - Improve tooltips wrapping after updating their text (Artur Wieczorek).
- - Fix checking menu items before appending them to the menu.
- - Fix crash when adding/removing the same path to/from wxFileSystemWatcher.
- - Draw "classic" disabled owner drawn buttons better (Artur Wieczorek).
- - Fix width of the vertical toolbars (Artur Wieczorek).
- - Fix handling of controls in the vertical toolbars (Artur Wieczorek).
- - Fix loading of top to bottom BMP files in wxBitmap (Artur Wieczorek).
- - Fix resource leak in wxStaticBitmap with RGBA icons (Artur Wieczorek).
- - Fix toolbar repainting after deleting a tool from it (Artur Wieczorek).
- - Allow resetting bitmaps used in wxButton (Artur Wieczorek).
- - Fix bug with removing items from a menu with radio buttons (Artur Wieczorek).
- - Fix handling of deleting directories in wxFileSystemWatcher (Eric Raijmakers).
- - Disable the use of new style wxDirDialog under Vista to work around a bug in
- its implementation under this system (jtrauntvein).
- - Fix wxExecute() keeping open too many thread handles for too long (dannchr).
- - Fix clicking on togglable columns in wxDataViewCtrl (Laurent Poujoulat).
- - Fix expander in non left-most position in wxDataViewCtrl (Laurent Poujoulat).
- - Don't fail when using large paper sizes in print preview.
- - Fix wxRichMessageDialog return value for dialog with only "OK" button.
- - Fix precision loss in wxGraphicsContext::{Draw,Stroke}Lines() (tibo_).
- - Fix destroying the font from wxFont::GetFaceName() in some cases (aebailey82).
- - Fix wxCheckListBox appearance when using larger fonts (Igor Korot).
- - Return correct results from wxPopupWindow::GetPosition() (Christian Walther).
- wxOSX:
- - Fix buffer overrun in drag-and-drop code (Kristian Duske).
- - Fix incorrect joystick detection in configure (Lauri Nurmi).
- - Fix crash in wxDataViewCtrl when cancelling choice selection (hartwigw).
- - Implement support for wxGA_VERTICAL in wxGauge (themindiswatching).
- - Add support for wxEVT_COMBOBOX_DROPDOWN and wxEVT_COMBOBOX_CLOSEUP
- events to wxOSX/Cocoa (Igor Korot).
- - Fix several memory leaks in wxDataViewCtrl (John Roberts).
- 3.0.0: (released 2013-11-11)
- ----------------------------
- All:
- - Fix crash if wxCharBuffer fails to allocate the requested amount of memory.
- wxGTK:
- - Fix wxSpinButton default width under GTK+ 3 (David Hart).
- wxMSW:
- - Compilation fix for WXWIN_COMPATIBILITY_2_6=1 case (Tim Stahlhut).
- - Fix behaviour of wxComboBox using ID=1000.
- 3.0-RC2: (released 2013-10-28)
- ------------------------------
- All:
- - wxTextFile::SaveFile() uses UTF-8 now.
- - Add possibility to validate the input files against a schema to wxrc.
- - Fix recently broken compilation with Intel compiler.
- - Fix reading of files with Mac EOLs in wxTextFile.
- All (GUI):
- - Fix wxListEvent::GetData() in LLP64 builds.
- - Fix special characters handling in wxSVGFileDC::DrawText() (Ludovic Aubert).
- wxGTK:
- - Fix DrawArc() when printing.
- wxMSW:
- - Optional better handling of SAFEARRAYs in wxAutomationObject (PB).
- 3.0-RC1: (released 2013-10-07)
- ------------------------------
- All:
- - Adjust dates invalid due to DST consistently under all platforms in wxDateTime.
- - Allow using custom HTTP methods with wxHTTP (Kolya Kosenko).
- - Add wxFileName::SetPermissions() (Catalin Raceanu).
- - Add specific wxFSW_WARNING_OVERFLOW warning type (Rob Bresalier).
- - Fix build with wxUSE_FFILE==0 (jroemmler).
- - Add wxDEPRECATED_MSG() and use it in a few places.
- - Return the old file descriptor/pointer from wx(F)File::Detach() (troelsk).
- - _() and wxGetTranslation() are now thread-safe.
- All (GUI):
- - Fix crash in wxHTML on mal-formed <area> elements (LukasK).
- - Set correct cursor when the mouse is over image map links in wxHTML (LukasK).
- - Add wxPropertyGridPageState::GetColumnFullWidth() (Teodor Petrov).
- - wxRTC: extracted XML utilities into a separate class for potential reuse.
- - wxPropertyGrid: improve composite flags handling (Jens Lody).
- - Don't crash laying out wxGridBagSizer with only hidden elements (briceandre).
- - Fix alignment and transparency of bitmaps in wxDataViewCtrl (Eric Jensen).
- - Fix crash when auto-sizing a wxDataViewCtrl column (Spencer T. Parkin).
- - Add wxHtmlTag::GetParamAsString() convenience method.
- - Add wxActivateEvent::GetActivationReason() (Trigve).
- wxGTK:
- - Fix horizontal mouse wheel scrolling (minoki).
- - Fix wxMenu::GetTitle() before the menu is appended to the bar (David Hart).
- wxMSW:
- - It is now possible to tab into radio boxes again.
- - Fix launching some types of files under Windows 7 and later (Steven Houchins).
- - Don't use an icon for items inserted without one into wxListCtrl (Chuddah).
- - Handle custom configurations when using MSVC autolinking (tinman).
- wxOSX:
- - Improve handling of keyboard entry using IME (minoki).
- - Fix capturing non-ASCII output using wxExecute().
- - Fix column sorting UI in wxDataViewCtrl (Myrsloik).
- 2.9.5: (released 2013-07-15)
- ----------------------------
- INCOMPATIBLE CHANGES SINCE 2.9.4:
- - The locale is not set automatically on startup any more, unlike in the
- previous 2.9 versions (but like in 2.8). Use wxLocale (preferred) or call
- wxApp::SetCLocale() from your overridden wxApp::Initialize() to restore the
- old behaviour.
- - wxWebView::New now takes a string identifier for the backend to be used
- rather than a wxWebViewBackend enum value.
- - wxWebView identifiers of the form WEB_VIEW_* have been renamed to WEBVIEW_*
- for consistency with the rest of wxWidgets.
- - wxFont(int size, wxFontFamily family, int flags) ctor added in 2.9.4 was
- removed to avoid ambiguities with the other existing ctors and replaced with
- the new wxFont(wxFontInfo) ctor.
- All:
- - Provide short synonyms using the same name as event table macros for the
- event type constants to make using Bind() less verbose. E.g.
- wxEVT_COMMAND_MENU_SELECTED is now wxEVT_MENU (but the old name remains
- available for compatibility) (Catalin Raceanu).
- - Fix wxExecute() implementation under Unix (Rob Bresalier).
- - Also fix reading output from children exiting with -1 () (Jonathan Dagresta).
- - Add wxEvtHandler::CallAfter() method for asynchronous method calls.
- - Add support for symlinks to wxFileName (David Hart).
- - Add wxDIR_NO_FOLLOW flag for wxDir traversal (David Hart).
- - Allow testing for symlink/FIFO/socket existence in wxFileName (David Hart).
- - Many important bug fixes in wxFileSystemWatcher (David Hart).
- - Add wxInputStream::ReadAll() and wxOutputStream::WriteAll() (Catalin Raceanu).
- - Fix wxCountingOutputStream::LastWrite() return value (Catalin Raceanu).
- - Add new wxFSW_EVENT_ATTRIB and wxFSW_EVENT_UNMOUNT flags (David Hart).
- - Add separate read/written bytes counters and per-direction NOWAIT and WAITALL
- flags to wxSocket (Rob Bresalier).
- - Add wxEventLoop::ScheduleExit() (Rob Bresalier).
- - Add wxProcess::SetPriority() (Marián "VooDooMan" Meravý).
- - Add wxDir::Close() method (Silverstorm82).
- - Fix wxDateTime::GetWeekOfYear() for the last week of year (aimo).
- - Fix compilation of wxHash{Map,Set} with g++ 4.7 (Nathan Ridge).
- - Fix posting large amounts of data in wxHTTP (Platonides).
- - Add wxFile::ReadAll() for consistency with wxFFile.
- - Add wxDateTime::DiffAsDateSpan() and wxDateSpan::GetTotalMonths() (jonasr).
- - Add wxVector::assign() (Jonas Rydberg).
- - Add wx[F]File{Input,Output}Stream::GetFile() (troelsk).
- - Add wxSocketBase::GetSocket() (Laurent Poujoulat).
- - Add IEEE 754 formats support to wxDataStream classes (Jonathan Liu).
- - Add wxVector<>::const_reverse_iterator (troelsk).
- - Fix thread-safety issue in wxSharedPtr<> (plorkyeran).
- - Add wxTimer::StartOnce().
- - Add Nepali translation (Him Prasad Gautam).
- All (GUI):
- - Add support for wxAuiNotebook to XRC (Steven Lamerton).
- - Add support for wxRibbonBar and related controls to XRC (Armel Asselin).
- - Add wxBITMAP_PNG() macro similar to wxBITMAP() but for PNG files.
- - Add new wxSimplebook class.
- - Implement possibility to hook all modal dialog calls.
- - Support hexadecimal numbers in wxSpinCtrl.
- - Respect window max size in wxBoxSizer (Nathan Ridge).
- - Add support for searching in wxWebView for MSW and GTK (Allonii).
- - Add generic wxFileSystem support to wxWebView with
- wxWebViewFSHandler (Nick Matthews).
- - Add possibility to disable context menu in wxWebView.
- - Add ability to register custom wxWebView backends using
- wxWebView::RegisterFactory and a wxWebViewFactory derived class.
- - Add possibility to hide and show again wxRibbonBar pages (wxBen).
- - Add wxRibbonBar pages highlighting (wxBen).
- - Add expand/collapse button to wxRibbonBar (rakeshthp).
- - Fix item data access in wxDataViewListCtrl (Kry).
- - Fix problem with floating maximized AUI panes (Laurent Poujoulat).
- - Add owned client data support to wxRibbonButtonBar. Notice that the client
- data now must be set using the SetItemClient{Data,Object}() methods and not
- when inserting the button (Laurent Poujoulat).
- - Add wxBitmapButton::NewCloseButton().
- - Add wxTextEntry::SelectNone() (troelsk).
- - Restore the original wxGrid col/row size when unhiding it (Michael Richards).
- - Don't show hidden wxGrid columns/rows when resizing them (Michael Richards).
- - Fix text origin and extent computations in wxSVGFileDC (Neil Chittenden).
- - Show tooltips for the too long items in generic wxTreeCtrl (Steven Houchins).
- - Add wxStyledTextCtrl::AnnotationClearLine() (sentieshar).
- - Add support for background-color style to span element in wxHTML (gevorg).
- - Add limited support for CSS styles for <a> tags too in wxHTML (gevorg).
- - Add "inherit" to <font> XRC tag (Steffen Olszewski, Gero Meßsysteme GmbH).
- - Add support for wxALWAYS_SHOW_SB style to wxScrolled<> (Catalin Raceanu).
- - Add wxTreeCtrl::EnableBellOnNoMatch() (Jonathan Dagresta).
- - Implement incremental search in wxGenericListCtrl (Jonathan Dagresta).
- - Make TAB behaviour in wxGrid more flexible (Fulvio Senore).
- - Add missing styles support to wxWindow XRC hanlder (Steffen Olszewski).
- - Allow specifying all wxFlexGridSizer parameters in XRC (Steffen Olszewski).
- - Close wxLogWindow automatically if it's the last remaining top level window.
- - Implement clipping for wxSVGFileDC (Steve Benbow).
- - Add wxDirCtrl::GetPath() (troelsk).
- - Add wxEVT_DIRCTRL_SELECTIONCHANGED event (troelsk).
- - Add wxEVT_DIRCTRL_FILEACTIVATED event (troelsk).
- - Add wxControl::GetSizeFromTextSize() (Manuel Martin).
- - Optionally allow showing tooltips for disabled ribbon buttons (wxBen).
- - Improve horizontal scrolling in wxRibbonControl (wxBen).
- - Add wxTL_NO_HEADER style to wxTreeListCtrl (robboto).
- - Add possibility to delay showing wxRichToolTip (John Roberts).
- - Add "rect" paramerer to wxRichToolTip::ShowFor() (John Roberts).
- - Add wxListCtrl::EnableAlternateRowColours() (troelsk).
- - Fix wrong tab order in wxAuiNotebook after dragging (Mark Barber).
- - Fix bug in generic wxDataViewCtrl column dragging (jobuz).
- - Add wxMask::GetBitmap() for wxMSW, wxGTK and wxOSX
- - Add wxCheckListBox::GetCheckedItems() (hartwigw).
- - Add wxAUI_TB_PLAIN_BACKGROUND wxAuiToolBar style (Allann Jones).
- - Make wxGenericDataViewCtrl::SetFont() really work (Laurent Poujoulat).
- - Remove wxLogWindow::OnFrameCreate(), it was never called anyhow.
- - Add wxBookCtrlBase::FindPage() (troelsk).
- - Add wxDocument::Activate() (troelsk).
- - Add wxDocManager::FindDocumentByPath() (troelsk).
- - Add wxEVT_GRID_COL_AUTO_SIZE event (Igor Korot).
- - Add chainable wxWizardPageSimple::Chain() overload.
- - Add wxTextEntryDialog::SetMaxLength() (derEine).
- - Fix maximum width support in wxGridCellTextEditor (derEine).
- - Allow associating a validator with wxGridCellTextEditor (derEine).
- - Add more convenient wxFont(wxFontInfo) ctor.
- - Pass menu events to the handler in the associated wxMenuBar.
- - Add wxWindow::BeginRepositioningChildren() and EndRepositioningChildren().
- - Fix wxStyledTextCtrl::SetInsertionPointEnd() (troelsk).
- - Add wxFileDialog::GetCurrentlySelectedFilename() (Carl Godkin).
- - Add wxMouseEvent::GetColumnsPerAction() (toiffel).
- - Add support for horizontal mouse wheel scrolling in wxSTC (toiffel).
- - Improve wrapping of cell contents in wxGrid (nmset).
- - Big speed up in wxImage::Scale(wxIMAGE_QUALITY_HIGH) (Hsilgos).
- wxGTK:
- - Allow building wxGTK3 with Broadway and Wayland backends (Kolya Kosenko).
- - Further improvements to wxGTK/Win32 port (Kolya Kosenko).
- - Provide native implementation of wxNotificationMessage using libnotify.
- - Generate clipboard events for wxComboBox and not only wxTextCtrl.
- - Improve drag-and-drop of URLs.
- - Make key event handling consistent with wxMSW (John Rails).
- - Fix printing in landscape mode (Marcin Wojdyr).
- - Fix path selection in wx{File,Dir}Dialog with GTK+ > 2.24.10 (obfuscated).
- - Make "More windows..." menu item in MDI "Window" menu actually work.
- wxMSW:
- - Fix pulsing of bitmaps in focused buttons under Windows 7 (Catalin Raceanu).
- - Fix setting colours for the text part of wxComboBox (Igor Korot).
- - Add support for CURRENCY and SCODE types to OLE Automation helpers (PB).
- - Allow setting LCID used by wxAutomationObject (PB).
- - Better support for SAFEARRAY in OLE Automation code (PB).
- - Fix calling Iconize(false) on hidden top level windows (Christian Walther).
- - Don't send any events from wxSpinCtrl::SetRange() even if the value changed.
- - Display system drag images during drag and drop if available (PeterO).
- - Fix setting initial wxSpinCtrl value outside 0..100 range (joim).
- - Fix changing labels of menu items with bitmaps (Daniel Hyams).
- - Fix appearance of multiline coloured wxCheckBox (Catalin Raceanu).
- - Allow creating wxCursor from ANI files (Catalin Raceanu).
- - Add wxIcon::CreateFromHICON() (troelsk).
- - Improve wxCURSOR_RIGHT_ARROW appearance (DoltAlya).
- - Generate menu highlight events for popup menus in wxDialog (Sam Partington).
- - Return more native shell icons from wxArtProvider (Markus Juergens).
- - Fix filter checks in wxDir::FindFirst/Next() (Catalin Raceanu).
- - Add support for wxICON_AUTH_NEEDED to wxMessageDialog (Chris Spencer).
- - Fix printing too many copies of the document in some cases (John Roberts).
- - Fix DST confusion in wxFileName::{Set,Get}Times().
- wxOSX/Cocoa:
- - Implement image support in wxNotebook (Malcolm MacLeod).
- - Add support for button mnemonics (joostn).
- - Implemented wxTextCtrl::SetDefaultStyle().
- - Fix insertion and removal of radio items in wxMenu.
- 2.9.4: (released 2012-07-09)
- ------
- INCOMPATIBLE CHANGES SINCE 2.9.3
- - wxDataViewListCtrl doesn't delete its client data any more for compatibility
- with wxListCtrl, use full wxDataViewCtrl if you don't need compatibility.
- All:
- - Added wxLogFormatter to allow customizing wxLog output (Sébastien Gallou).
- - Added wxFSInputStream for reading data from wxFileSystem (Armel Asselin).
- - Added "%z" support to wxDateTime::Format() and Parse() (Armel Asselin).
- - Add wxHTTP::SetPostBuffer(wxMemoryBuffer) and SetPostText() (Eran Ifrah).
- - Fix wrong time zone used in wxDateTime::UNow().
- - Fix performance of wxStdInputStream with MSVC8/9 (wsu).
- - Added wxFileName::Exists().
- - Implement wxThread::SetConcurrency() for POSIX systems (Igor Korot).
- - Fix deadlock due to too many events in Unix console apps (Lukasz Michalski).
- - Added wxDir::GetNameWithSep().
- - Allow unloading wxPluginLibrary objects in any order (manyleaves).
- - Fix passing strings with embedded NULs in wxThreadEvents (Steffen Olszewski).
- - Add wxList::AsVector<>() helper (troelsk).
- All (GUI):
- - Add wxGrid::Render() for printing wxGrid (John Roberts).
- - Added strike-through support to wxFont (Igor Korot).
- - Add support for horizontal mouse wheel events to MSW and GTK (Lauri Nurmi).
- - Fix infinite loop in wxHtmlEasyPrinting when trying to page break images
- taller than the page height in wxHtmlEasyPrinting (Laurent Poujoulat).
- - Added wxFilePickerCtrl::SetInitialDirectory().
- - Added wxDataViewItemAttr::SetBackgroundColour() and implemented it in generic
- wxDataViewCtrl (Andrew Xu).
- - Fix item alignment in icon view in the generic wxListCtrl.
- - Support font-family/style, text-decoration in wxHtmlWindow (Blake Oleander).
- - Show ribbon tools help strings in tooltips (John Roberts).
- - Improve row/column selection modes in wxGrid (joostn).
- - Send wxEVT_UPDATE_UI for wxRibbonButtonBar and wxRibbonToolBar (Emilien Kia).
- - Add InsertXXXButton() to wxRibbonButtonBar and wxRibbonToolBar (Emilien Kia).
- - Allow enabling/disabling and toggling tools in wxRibbonToolBar (Emilien Kia).
- - Add wxRibbonBar::DeletePage() and ClearPages() methods (Emilien Kia).
- - Implement support for extension button to wxRibbonPanel (Emilien Kia).
- - Fix multiple item selection in generic wxTreeCtrl (Igor Korot).
- - Implement wxMenuBar::IsEnabledTop() for all major ports (Igor Korot).
- - Implement best size calculation for report mode wxListCtrl.
- - Fix setting of the frame icon when using non-standard icon sizes (vid).
- - Implement wxDV_ROW_LINES in generic wxDataViewCtrl (RedCAT).
- - Added EVT_AUI_PANE_ACTIVATED event (Ronny Krüger).
- - Added support for page tooltips to wxAuiNotebook (Armel Asselin).
- - Added wxSplitterWindow::SetSashInvisible() (Armel Asselin).
- - Enable/disable "Window" menu items in AUI MDI correctly (wsu).
- - Added wxTimePickerCtrl::Get/SetTime().
- - Fix WXK_MENU handling in wxStyledTextCtrl under wxGTK (cantabile).
- - Added wxAcceleratorEntry::ToRawString() (Armel Asselin).
- - Added wxDataViewEvent::SetDragFlags() and GetDropEffect() (Friedrich).
- - Added support for fields and virtual attributes to wxRichTextCtrl.
- - Added custom text and dimension scaling to wxRichTextCtrl.
- - Added pixel font size capability to wxTextAttr and wxRichTextCtrl.
- - Fully implement wxStyledTextCtrl::PositionToXY() (troelsk).
- - Added wxDataViewListCtrl::{Set,Get}ItemData().
- - Added wxDataViewListCtrl::GetItemCount() (Kry).
- - Added support for Korean Johab and Vietnamese encodings (jank9201).
- - Fix off by 1 bug with setting font size in points in wxHTML (gevorg).
- - Fix return value of wxGenericListCtrl::InsertColumn() (Sebastian Walderich).
- - Add wxDocManager::Get{Views,Documents,Templates}Vector() (troelsk).
- GTK:
- - Added support for GTK+ 3 (John Chain and Paul Cornett)
- - Implement support for wxBG_STYLE_TRANSPARENT (Armel Asselin).
- - Implement stippled/hatched pens/brushes in wxGraphicsContext (Kit Bishop).
- - Fix wxNotebook best size calculation.
- - Implement wxDirDialog::Create() and wxFileDialog::Create() (vinayakgarg).
- - Fix const methods display in assert dialog (vinayakgarg).
- - Implement native tab art for wxAUI (Jens Lody and Teodor Petrov).
- - Fix pasting large amounts of text (Bradley Hawkins).
- - Show gstreamer errors if wxMediaCtrl fails to play file.
- - Fix wxGridCellEnumEditor mouse handling (Fulvio Senore).
- MSW:
- - Fixed regression with initial focus in the dialogs in 2.9.3.
- - Use new style directory selection dialog under Vista and later (PB).
- - Added support for wxEXEC_MAKE_GROUP_LEADER to wxExecute (tteras).
- - Set wxMenu being closed in wxEVT_MENU_CLOSE events (Marcin Malich).
- - Fix coordinates and Z-position for joystick events (Markus Juergens).
- - Fix size of the font returned by wxTextCtrl::GetStyle() (Igor Korot).
- - Add wxActiveXContainer::QueryClientSiteInterface and implement it in
- wxWebViewIE to improve the default behaviour (Allonii).
- - Update stretchable spaces in wxToolBar after tool removal (Catalin Raceanu).
- - Implement wxGraphicsContext::SetInterpolationQuality() (Eric Jensen).
- - Fix coordinate handling in wxDC::Blit() when source DC is a DIB.
- - Fix handling of composite windows in wxToolTip (Armel Asselin).
- - Add VT_I8 support to wxAutomationObject (PB).
- - Fix wxListbook size calculations to avoid spurious scrollbars.
- - Fix code compilation with wxUSE_UNICODE_UTF8 (Kolya Kosenko).
- - Fix crash in wxTreeCtrl when calling GetSelection() from selection changed
- event handler under Vista and later (sbrowne).
- - Fix text extent computation in wxGraphicsContext (juria90).
- OSX:
- - Provide native implementations of wxDatePickerCtrl and wxTimePickerCtrl.
- - Fix handling of positional parameters in wxPrintf() &c (David Connet).
- - Implement wxStackWalker.
- Univ:
- - Fix regression with read-only wxComboBox appearance (Jason Erb).
- Unix:
- - Fix bug with wxDir("/").GetName() returning empty string.
- 2.9.3: (released 2011-12-14)
- ------
- INCOMPATIBLE CHANGES SINCE 2.9.2
- - wxPanel::SetBackgroundBitmap() was removed, derive your class from
- wxCustomBackgroundWindow and use its method with the same name instead.
- All:
- - Fix parsing of negated long options in wxCmdLineParser (roed_bis).
- - Fix crash in wxArray::insert() overload taking iterator range (wsu).
- - Added wxEventFilter class and wxEvtHandler::{Add,Remove}Filter().
- - Added convenient wxCmdLineParser::AddLong{Option,Switch}() wrappers.
- - Added wxStopWatch::TimeInMicro() and wxGetUTCTimeUSec() and improved
- wxStopWatch precision.
- - Made wxGetLocalTimeMillis() really return local time, added
- wxGetUTCTimeMillis() returning what this function used to return.
- - Added wxCriticalSection::TryEnter() (Catalin Raceanu).
- - Add support for OpenBSD to wxDialUpManager (brad0).
- - Added wxEXEC_HIDE_CONSOLE flag.
- All (GUI):
- - Added wxWebView library (Steven Lamerton & Auria, GSoC 2011 project).
- - Added wxTreeListCtrl class.
- - Added wxTimePickerCtrl class.
- - Added wxRichToolTip class.
- - Added documented, public wxNavigationEnabled<> class.
- - Added wxTextCtrl::PositionToCoords() (Navaneeth).
- - Added support for wxHELP button to wxMessageDialog.
- - Added wxBannerWindow class.
- - Allow setting window shape to arbitrary wxGraphicsPath.
- - Added wxTextEntry::AutoCompleteDirectories().
- - Support float, double and file name values in wxGenericValidator (troelsk).
- - Add support for custom numeric formats to wxGrid (Kinaou Hervé).
- - Fix keyboard navigation in wxGrid with hidden columns (ivan_14_32).
- - Add wxDataViewEvent::IsEditCancelled() (Allonii).
- - Send EVT_DATAVIEW_ITEM_CONTEXT_MENU events even when not clicking on an item.
- - Allow marking wxTreeBook nodes to expand initially in XRC (RedTide).
- - Added customizable wxDocManager::OnMRUFileNotExist() virtual method.
- - Fix stock labels when not using mnemonics for Chinese (cw.ahbong).
- - Added wxComboBox::IsListEmpty() and IsTextEmpty().
- - Added wxDataViewCtrl::GetSelectedItemsCount() and HasSelection().
- - Added wxFLP_SMALL and wxDIRP_SMALL styles.
- - Added support for saving alpha with TIFF images.
- - Added wxPersistentSplitter.
- - Derive wxAuiNotebook from wxBookCtrlBase (Steven Lamerton).
- - Fix tooltips in wxSearchCtrl and other composite controls (Catalin Raceanu).
- - Allow converting to and from wxGraphicsBitmap and wxImage directly.
- - Allow wxGraphicsFont creation without passing by wxFont.
- - Added wxDataViewCustomRenderer::ActivateCell().
- - Add "checked" property for toolbar tool elements in XRC.
- - Allow customization of the locations where persistent settings are stored.
- - Restore support for reusing ids more than 254 times (Armel Asselin).
- - Added wxIMAGE_OPTION_ORIGINAL_{WIDTH,HEIGHT} (Catalin Raceanu).
- - Add wxTopLevelWindow::SetRepresentedFilename() (Andrej Vodopivec).
- OSX:
- - Implement wxRegion::Equal() (Dr.Acula).
- - Implement wxFileType::GetOpenCommand().
- - wxGetOsVersion() now returns more sensible version numbers, e.g. 10 and 6
- for OS X 10.6.
- - Added wxApp::MacOpenFiles and deprecated wxApp::MacOpenFile.
- - Implement wxEVT_CHAR_HOOK event generation in wxOSX/Cocoa.
- - Implemented wxComboBox::Popup() and Dismiss() in wxOSX/Cocoa (joostn).
- GTK:
- - Generate events for two auxiliary mouse buttons in wxGTK (Marcin Wojdyr).
- - Fix conflict between wxDIALOG_NO_PARENT and wxICON_EXCLAMATION (David Hart).
- MSW:
- - Added wxGCDC(wxEnhMetaFileDC) ctor (Marcin Wojdyr).
- - Added wxTopLevelWindow::MSWGetSystemMenu().
- - Multiline text controls no longer select all content when gaining focus from
- the keyboard.
- - Implement wxStackWalker for x86-64 (Artur Bać).
- 2.9.2: (released 2011-07-05)
- ------
- All:
- - Added cwd and env arguments to wxExecute() (Emilien Kia).
- - Added "rest" argument to wxString::Before{First,Last}().
- - Added wxThread::OnKill() and OnDelete() callbacks.
- - Added wxFile::GetLastError() and ClearLastError() (ryazanov).
- - Added negatable command line switches (Armel Asselin).
- - Added wxVersionInfo and various GetLibraryVersionInfo() functions (troelsk).
- - Added wxNumberFormatter for dealing with thousands separators.
- - Added wxIntegerValidator<> and wxFloatingPointValidator<> validators.
- - Added wxIMAGE_OPTION_GIF_COMMENT to read and write GIF comments (troelsk).
- - Added wxStack<> template class.
- - Added precision parameter to wxString::From[C]Double().
- - Added wxThread::Wait() and Delete() "wait mode" parameter (Catalin Raceanu).
- - Allow showing milliseconds in wxLog time stamps (tan).
- - Added support for processing instructions in wxXmlDocument (Nick Matthews).
- - Added wxThreadEvent for communicating between threads to wxBase.
- Unix:
- - Fix spurious errors when writing to child process pipe (ryazanov).
- All (GUI):
- - Implement support for markup in wxButton and wxStaticText.
- - Added wxRichMessageDialog (Rickard Westerlund, GSoC 2010 project).
- - Added wxCommandLinkButton (Rickard Westerlund, GSoC 2010 project).
- - Added wxUIActionSimulator (Steven Lamerton, GSoC 2010 project).
- - Added support for dynamic auto-completion in wxTextEntry.
- - Added images support to wxToggleButton (Garrick Meeker).
- - wxAUI: support auto-orientable toolbars (wsu).
- - wxAUI: add support for icons in pane title bars (triton).
- - Added wxPanel::SetBackgroundBitmap().
- - Added wxDataViewCtrl::Set/GetCurrentItem().
- - Added possibility to disable individual wxDataViewCtrl items (Neno Ganchev).
- - wxHTML: render in RTL order inside RTL window (Richard Bullington-McGuire).
- - wxRibbon: added EVT_RIBBONGALLERY_CLICKED event (John Roberts).
- - wxRibbon: allow hiding the panels and showing tabs only (snowleopard).
- - Add support for child documents to docview framework.
- - Add support for CP-866 encoding to wxEncodingConverter (madnut).
- - Consistency fixes for keyboard events across all major ports.
- - Added EVT_RIBBONBAR_TAB_LEFT_DCLICK event (snowleopard).
- - Fix display of right aligned columns in wxGenericListCtrl (jl).
- - Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
- - Add support for id ranges to XRC (David Hart).
- - Added wxToolbook XRC handler (Andrea Zanellato).
- - Added wxDocManager::FindTemplate() (troelsk).
- - Return bool, not void, from wxImage::ConvertAlphaToMask() (troelsk).
- - Fixed resizing columns in wxGrid when they were reordered.
- - Fixed keyboard navigation when wxGrid columns are reordered.
- - Added wxImage::Rotate180() (Jeff Tupper).
- - Added support for saving TGA files.
- - Added wxArtProvider returning higher quality icons from Tango project.
- - wxPropertyGrid: Added "HasAlpha" attribute for wxColourProperty.
- - wxPropertyGrid: Disabling a property didn't work properly if a child item
- was selected (Sébastien Gallou).
- - Added support for saving PNG files with palette (troelsk).
- - Added support for saving as GIF and animated GIF (troelsk).
- - Fix wxWrapSizer minimal size calculation (Catalin Raceanu).
- - Added wxFont::Underlined() and MakeUnderlined() methods.
- - Added wxFont::SetSymbolicSize() and related methods.
- - Fix SVG files generation in locales using decimal comma (snowleopard).
- - Fix setting tooltips for generic wxSpinCtrl (Catalin Raceanu).
- - Added support for reading image resolutions from PNG images (scottb).
- - wxComboCtrl, wxOwnerDrawnComboBox: better support for themed and custom
- panel backgrounds, especially on OS X.
- - Add WXK_CONTROL_A..WXK_CONTROL_Z constants (Jan van Dijk).
- - Add support for alpha channel in colours in wxSVGFileDC (snowleopard).
- - Allow customizing AUI tab colours in wxAuiTabArt (snowleopard).
- - Added wxAffineMatrix2D class (Catalin Raceanu).
- - Allow showing preview frame non modally (John Roberts).
- - Improve appearance of the generic wxHyperlinkCtrl (David Connet).
- GTK:
- - Improve print/page setup dialog (rafravago).
- - Switch to GtkTooltip from deprecated GtkTooltips (Emilien Kia).
- - wxTLW generates wxEVT_MAXIMIZE.
- - Fix copying clipboard data to primary selection (David Hart).
- - Implement wxGraphicsContext::GetSize() (Marcin Wojdyr).
- - Implement wxCalendarCtrl::SetDateRange() for the native control.
- MSW:
- - Native implementation of wxHyperlinkCtrl and wxProgressDialog under modern
- Windows versions (Rickard Westerlund, GSoC 2010 project).
- - Fix Cygwin 1.7 build (David Gangola).
- - Allow using wxDC::DrawText() with multiline texts.
- - Fix wxBitmapButton best size determination broken in 2.9.1.
- - Center task dialog-based wxProgressDialog on the parent (John Roberts).
- - wxAutomationObject::GetInstance() creates objects on demand (Kolya Kosenko).
- - Fix EVT_UPDATE_UI generation for items in submenus (wsu).
- - Added support for world transformation matrix to wxDC (Catalin Raceanu).
- OSX:
- - Implement auto-completion support in wxTextEntry.
- - Implement switching to default video mode in wxDisplay (soren).
- 2.9.1:
- ------
- INCOMPATIBLE CHANGES SINCE 2.9.0
- - wxStandardPaths doesn't use vendor name by default under MSW and OSX to
- remain compatible with 2.8 behaviour but this makes it incompatible with
- 2.9.0. Please use UseAppInfo(AppInfo_AppName | AppInfo_VendorName) explicitly
- to use the vendor name in the paths returned by wxStandardPaths.
- - wxDataViewModel::GetAttr() is now const, as it should have been from the very
- beginning. You will need to change it to be const in your derived model
- class too if you override it.
- All:
- - Added wxFileSystemWatcher (Bartosz Bekier, Google Summer of Code project).
- - Added wxStd{Input,Output}Stream classes (Jonathan Liu).
- - Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
- - Added wxTempFile::Flush().
- - Added support for wxLongLong and wxULongLong in wxVariant.
- - Added wxVector::swap().
- - Many wxLog improvements:
- * wxLogXXX() functions are now thread-safe.
- * Log levels can now be set independently for different log components.
- * wxLog::DoLogRecord() has access to the location of the log message
- (file, line and function name) and id of the thread which generated it.
- * SetThreadActiveTarget() allows to set up thread-specific log targets.
- - Fix output buffer overflow in wxBase64Decode() (Eric W. Savage).
- - Added bilinear image resizing algorithm to wxImage (bishop).
- - Fix bug with position argument in wxImage::Size() (Byron Sorgdrager).
- - Added wxImage::ClearAlpha() (Javier Torres).
- - Fix bug with parsing concatenated switches in wxCmdLineParser (Mike Funduc).
- - Added wxMBConv::cMB2WC(wxCharBuffer) and cWC2MB(wxWCharBuffer) overloads.
- - Added wxAny class; a modern, backwards-incompatible replacement for
- wxVariant.
- - wxDateTime timezone functions now dynamic (no caching).
- - Added wxHttp::GetCookie and wxHttp::HasCookies (dodge).
- - Added support for unique volume names to wxFileName (Neno Ganchev).
- - Correct bugs when using wxTextInputStream with wxConvAuto (Leon Buikstra).
- - Don't crash when input is empty in wxFileConfig ctor (Lukasz Michalski).
- - Correct wxSocket::Peek() to not block (Anders Larsen).
- - Added IEC and SI units support to GetHumanReadableSize() (Julien Weinzorn).
- - Add convenient wxString::ToStd{String,Wstring}() helpers.
- - Added wxTranslations class to allow localization without changing locale.
- It provides more flexible languages enumeration API as well.
- - Added wxResourceTranslationsLoader for loading translations from Windows
- resources.
- - Added wxMessageQueue::Clear().
- - Added wxConfig::Read(float *) overload (Terry Farnham).
- - Always use decimal point (and not the current locale separator) in wxConfig.
- - Fix posting of binary data using wxHTTP (Catalin Raceanu).
- Unix:
- - Return signed return code from wxExecute(wxEXEC_SYNC).
- - Allow to use WX_APPNAME_DATA_DIR environment var to override the return value
- of wxStandardPaths::GetDataDir().
- All (GUI):
- - Added support for showing bitmaps in wxButton.
- - Added wxInfoBar.
- - Added stretchable spaces support to wxToolBar.
- - Added support for corner, row and column headers renderers to wxGrid.
- - wxWindow::SetAutoLayout() now works for all windows, not just panels.
- - Support wxListCtrl columns, items and image lists in XRC (Kinaou Hervé).
- - Added support for wxFileCtrl to XRC (Kinaou Hervé).
- - Added ownfg, ownbg and ownfont tags to XRC.
- - Added wxEditableListBox XRC handler.
- - Added multiple selection support to wxDirCtrl (Steve Lamerton).
- - wxGrid: add possibility to prevent resizing of individual rows/columns.
- - wxGrid: allow changing the horizontal alignment of numeric cells.
- - wxHTML: add support for table borders width (Laurent Humbertclaude).
- - wxHTML: add limited support for span elements styles (Nigel Paton).
- - Added wxMouseEventsManager.
- - Building OpenGL library is now enabled by default.
- - Fixed wxDataViewCtrl::Set{Foreground,Background}Colour().
- - Added wxDataViewRenderer::EnableEllipsize().
- - Improve wxTreeCtrl::ScrollTo() in generic version (Raanan Barzel).
- - Added wxFont::[Make]{Bold,Italic,Smaller,Larger} and Scale[d]() methods.
- - Added wxDC::CopyAttributes() and use it in wxBufferedDC.
- - Added wxTextWrapper helper class useful for wrapping lines of text.
- - Added EVT_DATAVIEW_CACHE_HINT() event (Trigve).
- - Added wxLB_NO_SB style (implemented for MSW only; Dario Senic).
- - Added long version field to wxAboutDialogInfo (Jeff Tupper).
- - Added wxWindow::CanScroll() behaving like the old HasScrollbar() and made
- HasScrollbar() really check for the scrollbar existence.
- - Added wxKeyEvent::IsKeyInCategory() (Jeff Tupper).
- - Add A0 and A1 paper formats support (Martin Perktold).
- - Fixed wxComboCtrl popup size on Mac (scrollbars were always shown).
- - Fixed wxComboCtrl focus problem on Mac (first-time popup
- dismissed immediately as text control grabbed the focus).
- - wxPropertyGrid: added wxPG_EX_MULTIPLE_SELECTION.
- - wxPropertyGrid: added functions for editing property labels.
- - wxPropertyGrid: many fixes to property validation failure behaviour. Added
- new flags: wxPG_VFB_SHOW_MESSAGEBOX and wxPG_VFB_SHOW_MESSAGE_ON_STATUSBAR.
- - wxPropertyGrid: Added wxPropertyGrid::DedicateKey().
- - wxPropertyGrid: wxArrayStringProperty now uses wxEditableListBox.
- - wxPropertyGrid: Added "Delimiter" attribute for wxArrayStringProperty.
- - wxPropertyGridManager: added wxPG_NO_INTERNAL_BORDER,
- wxPG_EX_NO_TOOLBAR_DIVIDER and wxPG_EX_TOOLBAR_SEPARATOR styles for finer
- control over borders. Borders around property grid are now native for
- consistency.
- - Added wxPropertyGridManager::ShowHeader().
- - Added wxXmlResource::LoadObjectRecursively().
- - Added wxColour::Set/GetRGB() and Set/GetRGBA() methods (Marcel Haß).
- - wxRTC: added wxRICHTEXT_HANDLER_USE_CSS flag for HTML handler to use CSS
- where possible.
- - wxRTC: corrected centring and right-justification spacing.
- - wxRTC: fixed style selection reset after editing a style.
- - wxRTC: can now edit line spacing in .1 increments from 1 to 2.
- - wxRTC: added PaintAboveContent function for drawing on top of text.
- - Added wxBORDER_THEME to XRC.
- - wxGraphicsContext is now enabled by default if supported by the platform.
- - Fix building with using system libpng 1.4 (Volker Grabsch).
- - Add wxComboBox::Popup() and Dismiss() methods (Igor Korot).
- - Added wxTreeCtrl::SelectChildren() (Nikolay Tiushkov).
- - Show pages icons in window list menu in wxAuiNotebook (Ronny Krüger).
- - Add "initial selection" parameter to wxGetSingleChoice() (Nikolay Tiushkov).
- - Implement wxDocument::Revert() (troelsk).
- - Allow overriding print preview frame creation in docview (troelsk).
- - Added support for gradient stops in wxGraphicsContext (Kit Bishop).
- - Added wxTransparentColour.
- - Added wxToolBar::GetToolByPos().
- - Added wxProgressDialog::Was{Cancelled,Skipped}() (Julien Weinzorn).
- - Added wxTreeCtrl::{Clear,Set}FocusedItem() (Nikolay Tiushkov).
- - Added "filter changed" event to wxFileCtrl (Bill Jones).
- - wxAUI: update floating window position and not only size on resize (MacGyver).
- - Added wxComboCtrl::SetTextCtrlStyle().
- - Also update client data in wxRearrangeList control (John Roberts).
- - Generate more click events in wxGrid when using native header (John Roberts).
- GTK:
- - wxRadioBox constructor uses default consistent with other ports now.
- - Implement wxMask copy ctor.
- - Partially implemented wxTextCtrl::GetStyle() (Igor Romanov).
- - Corrected themed border display.
- - Fix wxClipboard::GetData() for asymmetric wxDataObjects (Timothy Lee).
- Mac:
- - Implement wxWindow::ShowWithEffect() in wxOSX/Cocoa.
- - Correct min/max pages display in the print dialog (Auria).
- - Fix wxDataViewColumn::GetWidth() in Cocoa (Neno Ganchev).
- MSW:
- - Translate wxMessageDialog labels to the language of the current locale.
- - Allow changing the height of wxChoice and wxComboBox.
- - Update CRT environment block in wxSetEnv() too.
- - Fix wxMDIChildFrame::SetSize() (Lars Rosenboom).
- - Fix wxTreeCtrl::UnselectItem() in single selection controls.
- - Allow customizing wxStandardPaths logic for program directory determination.
- - Use time in wxDateTime <-> SYSTEMTIME conversion (troelsk).
- - Setting colours for wxSpinCtrl now works.
- - Worked around child window and caret positioning bug (in Windows) when using
- wxBORDER_THEME in a container window.
- - Suppressed spurious character event for decimal key in numeric keypad.
- - Allow to not create wxPaintDC in EVT_PAINT handler.
- - Fix sending of wxEVT_COMMAND_LIST_COL_DRAGGING events in wxListCtrl.
- - Allow putting the UAC symbol on buttons (Chris Spencer).
- - Fix wxTaskBarIcon for older Windows systems (Daniel Wyatt).
- - Fixed wxOwnerDrawnComboBox keyboard handling: drop-down is no longer
- displayed when arrow key is pressed (without Alt).
- - In some rare cases wxOwnerDrawnComboBox drop-down animation could display
- as garbage. This has now been greatly reduced (mcben).
- - Fixed wxComboCtrl::SetButtonPosition() on Vista/Win7.
- - Allow accessing 64/32 bit registry from 32/64 bit code (Rickard Westerlund).
- i18n:
- - Korean translations added (Sungkee Jung).
- - Romanian translations added (Manuel Ciosici).
- 2.9.0
- -----
- All:
- - Added (experimental) IPv6 support to wxSocket (Arcen).
- - Cleaned up wxURI and made it Unicode-friendly.
- - Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski).
- - Added wxXLocale class and xlocale-like functions using it.
- - Added wxMessageQueue class for inter-thread communications
- - Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen)
- - Added support for user-defined types to wxConfig (Marcin Wojdyr).
- - Added numeric options support to wxCmdLineParser (crjjrc)
- - Added wxJoin() and wxSplit() functions (Francesco Montorsi).
- - Added wxDateTime::FormatISOCombined() and ParseISODate/Time/Combined()
- - Added wxMutex::LockTimeout() (Aleksandr Napylov).
- - Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev).
- - Implemented wxMemoryInputStream::CanRead().
- - Implemented wxMemoryFSHandler::FindFirst/Next().
- - Added wxEventLoop::DispatchTimeout().
- - Added wxZlibStream::SetDictionary() (Axel Gembe).
- - Added wxEXEC_BLOCK flag (Hank Schultz).
- - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
- - Added wxStreamBuffer::Truncate() (Stas Sergeev).
- - Allow using wxEventLoop in console applications (Lukasz Michalski).
- - Added functions for Base64 en/decoding (Charles Reimers).
- - Added support for binary data to wxConfig (Charles Reimers).
- - Added functions for atomically inc/decrementing integers (Armel Asselin).
- - wxLogInterposer has been added to replace wxLogPassThrough and new
- wxLogInterposerTemp was added.
- - Added support for broadcasting to UDP sockets (Andrew Vincent).
- - Documentation now includes the wx library in which each class is defined.
- - wxrc --gettext now generates references to source .xrc files (Heikki
- Linnakangas).
- - wxVariant::Unshare allows exclusive allocation of data that must be shared,
- if the wxVariantData::Clone function is implemented.
- - Added wxWeakRef<T>, wxScopedPtr<T>, wxScopedArray<T>, wxSharedPtr<T> templates
- and renamed old wx/ptr_{scpd,shrd}.h headers to wx/scoped{ptr,array}.h and
- wx/sharedptr.h (but old headers are still provided for compatibility).
- - Added wxVector<T> class templates
- - Added wxON_BLOCK_EXIT_SET() and wxON_BLOCK_EXIT_NULL() to wx/scopeguard.h.
- - Added wxEvtHandler::QueueEvent() replacing AddPendingEvent() and
- wxQueueEvent() replacing wxPostEvent().
- - wxString now uses std::[w]string internally by default, meaning that it is
- now thread-safe if the standard library provided with your compiler is.
- - Added wxCmdLineParser::AddUsageText() (Marcin 'Malcom' Malich).
- - Fix reading/writing UTF-7-encoded text streams.
- - Corrected bug in wxTimeSpan::IsShorterThan() for equal time spans.
- - Use std::unordered_{map,set} for wxHashMap/Set if available (Jan van Dijk).
- - Added wxString::Capitalize() and MakeCapitalized().
- - Added wxArray::swap().
- - Added wxSHUTDOWN_LOGOFF and wxSHUTDOWN_FORCE wxShutdown() flags (troelsk).
- - Added wxSocket::ShutdownOutput().
- - Handle exceptions thrown from overridden wxView::OnCreate() gracefully.
- - Added wxPATH_RMDIR_FULL/RECURSIVE wxFileName::Rmdir() flags (Marcin Malich).
- - Added wxStandardPaths::GetAppDocumentsDir().
- - Added wx-prefixed versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros.
- - Added wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir.
- - Added wxProtocol::SetDefaultTimeout(); the default timeout for both wxHTTP and wxFTP
- protocols is 60 seconds.
- - Added wxStrnlen() for safe computation of string length.
- - Added wxImage::Clear() (troelsk).
- - Added wxLog::Log().
- - Added wxProtocolLog and use it in wxFTP.
- - Added wxXmlResource::GetResourceNode().
- - Optimize wxString::Replace() to use an O(N) algorithm (Kuang-che Wu).
- - Added support of %l format specifier to wxDateTime::ParseFormat().
- - wxImage handlers can now support multiple extensions (Ivan Krestinin).
- - Added wxFileName::StripExtension() (troelsk).
- - Added wxLOCALE_DATE/TIME_FMT support to wxLocale::GetInfo().
- - Store page setup data directly in wxDocManager (troelsk).
- All (Unix):
- - Added wx-config --optional-libs command line option (John Labenski).
- - Noticeably (by a factor of ~150) improve wxIPC classes performance.
- - Configure options --with-opengl and --enable-mediactrl now default to "auto":
- if OpenGL and GStreamer libraries are available the "gl" and "media" wx libraries
- are automatically built.
- All (GUI):
- - Added wxDataViewCtrl class and helper classes.
- - Integrated wxPropertyGrid in wxWidgets itself (Jaakko Salli).
- - Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK.
- - Added wxHeaderCtrl and allow using it in wxGrid.
- - Added wxRearrangeList, wxRearrangeCtrl and wxRearrangeDialog.
- - Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames().
- - Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
- - Added wxNotificationMessage class for non-intrusive notifications.
- - Added wxWindow::Show/HideWithEffect().
- - Added wxWrapSizer (Arne Steinarson).
- - Added wxSpinCtrlDouble (John Labenski).
- - Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version).
- - Added wxScrolledWindow::ShowScrollbars().
- - Also added wxCANCEL_DEFAULT to wxMessageDialog.
- - Allow copying text in the log dialogs.
- - Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
- - Added wxEVT_COMMAND_COMBOBOX_DROPDOWN/CLOSEUP events (Igor Korot).
- - Added wxCAL_SHOW_WEEK_NUMBERS wxCalendarCtrl style (Sören Meyer-Eppler).
- - Initialize wx{Client,Paint,Window}DC with fonts/colours of its window.
- - Added wxNativeContainerWindow to allow embedding wx into native windows.
- - Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr).
- - Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
- - Added support for drop down toolbar buttons (Tim Kosse).
- - Added support for labels for toolbar controls (Vince Harron).
- - Added wxMessageDialog::SetMessage() and SetExtendedMessage().
- - Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov).
- - Added wxTextEntry::SetHint().
- - Made wxLogWindow thread-safe (Barbara Maren Winkler).
- - Added wxWindow::AlwaysShowScrollbars() (Julian Scheid).
- - Added wxMouseEvent::GetClickCount() (Julian Scheid).
- - Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid).
- - Added support for drop-down toolbar buttons to XRC.
- - Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II).
- - New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr).
- - Added wxEventBlocker class (Francesco Montorsi).
- - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
- - Added wxSizerFlags::Top() and Bottom().
- - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
- - Implemented background colour in wxRichTextCtrl.
- - Fixed crashes in helpview when opening a file.
- - Set locale to the default in all ports, not just wxGTK.
- - Added wxJoystick::GetButtonState/Position() (Frank C Szczerba).
- - Added wxGridUpdateLocker helper class (Evgeniy Tarassov).
- - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov).
- - Added wxWindow::NavigateIn() in addition to existing Navigate().
- - Add support for <data> tags to wxrc.
- - Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr).
- - Show standard options in wxCmdLineParser usage message (Francesco Montorsi).
- - Added wxRect::operator+ (union) and * (intersection) (bdonner).
- - Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland).
- - Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper).
- - Added wxTaskBarIcon::Destroy().
- - Added XRC handler for wxSearchCtrl (Sander Berents).
- - Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto).
- - Add support for reading alpha data from TIFF images.
- - Added wxSYS_DCLICK_TIME system metric constant (Arne Steinarson).
- - Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II).
- - Added wxWindow::GetPopupMenuSelectionFromUser() (Arne Steinarson).
- - Implemented wxTreeCtrl::GetPrevVisible() in the generic version and made the
- behaviour of GetNextSibling() consistent between wxMSW and generic versions.
- - Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table
- to wxRichTextBuffer to reduce wxFont consumption and increase performance.
- - Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren()
- (Szczepan Holyszewski).
- - Added <scrollrate> parameter to wxScrolledWindow XRC handler.
- - Added support for automatic dialog scrolling, via the new
- wxDialogLayoutAdapter class and various new wxDialog functions. See the
- topic "Automatic Scrolling Dialogs" in the manual for further details.
- - Added support for resizing wxWizard bitmaps to the current page height,
- via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth.
- Also made it easier to derive from wxWizard and override behaviour.
- - Made wxSizer::Fit() set the client size of the target window.
- - Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
- - Added wxWindow::HasFocus().
- - Added wxGLCanvas::IsDisplaySupported().
- - Added wxApp::SetNativeTheme() (Stefan H.).
- - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola).
- - Freeze() and Thaw() now recursively freeze/thaw the children too.
- - Generalized wxScrolledWindow into wxScrolled<T> template that can derive
- from any window class, not just wxPanel.
- - Allow having menu separators with ids != wxID_SEPARATOR (Jeff Tupper)
- - Fix appending items to sorted wxComboCtrl after creation (Jaakko Salli)
- - Don't blit area larger than necessary in wxBufferedDC::UnMask (Liang Jian)
- - Fixed wxPixelData<wxImage> compilation (Leonardo Fernandes).
- - Added wxImage::GetType() (troelsk).
- - Added wxGenericStaticBitmap suitable for display of large bitmaps.
- - Support wxListCtrl::GetViewRect() in report view too.
- - Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard).
- - Add column parameter to wxListCtrl::GetItemText() (Allann Jones).
- - Added wxVListBox::GetItemRect() (Javier Urien).
- - Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
- - Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr).
- - Added "enabled" and "hidden" attributes to radio box items in XRC.
- - wxWindow::IsBeingDeleted() now returns true not only if the window itself is
- marked for destruction but also if any of its parent windows are.
- - Improved drawing of the hint during column move in wxGrid (Santo Pfingsten).
- - Add wxGridSelectRowsOrColumns selection mode to wxGrid.
- - Add wxEVT_GRID_CELL_CHANGING event matching wxEVT_GRID_CELL_CHANGED.
- - Get/HasModifiers() of wxKeyEvent are now also available in wxMouseEvent.
- - Provide new/old cell value in wxEVT_GRID_CELL_CHANGING/CHANGED events.
- - Added wxArtProvider::GetNativeSizeHint(); GetSizeHint() as well as
- GetNativeSizeHint() now return more sensible values in wxMSW and wxMac and
- no longer return bogus values.
- - Added wxControl::SetLabelText() and EscapeMnemonics().
- - Added support for wxFILTER_EMPTY and wxFILTER_DIGITS styles to wxTextValidator;
- added also the SetCharIncludes() and SetCharExcludes() utilities.
- - Added wxIMAGE_OPTION_PNG_FILTER and many wxIMAGE_OPTION_PNG_COMPRESSION_* options
- to wxImage and wxPNGHandler to allow for custom compression levels when saving PNGs
- (Perdana Panduwana)
- - Added GetValue(), GetRange(), GetMessage() functions to wxProgressDialog
- - Moved yield functions to wxEventLoopBase and implemented for wxMSW and wxGTK
- a selective wxEventLoopBase::YieldFor() function.
- Added also wxEventLoopBase::IsYielding to help cure re-entrancy problems with Yield().
- - Render <th> element contents in bold in wxHTML.
- - Added wxGrid::{Set,Get}{Row,Col}Sizes() methods (Andrey Putrin).
- - Add support for wxSP_WRAP in the generic version of wxSpinCtrlDouble.
- - Add alignment flags support to wxSpinCtrl[Double] (Andrew Radke).
- - Added wxGetSelectedChoices() replacing wxGetMultipleChoices() (Kolya Kosenko).
- - Check whether document fits into page horizontally in wxHtmlPrintout, see the
- new CheckFit() method for more information.
- - Allow reading GIFs with incorrectly specified animation size.
- - Return number of frames in animated GIF from wxGIFHandler::GetImageCount().
- - Improved anchors handling in wxHTML.
- wxGTK:
- - Support for markup and ellipsization in wxStaticText (Francesco Montorsi).
- - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
- - Native implementation for wxHyperlinkCtrl (Francesco Montorsi).
- - Native keyboard navigation implementation.
- - Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov).
- - Don't overwrite primary selection with clipboard and vice versa.
- - Implemented support for underlined fonts in wxStaticText.
- - wxTopLevelWindow::SetSizeHints size increments now work.
- - wxTopLevelWindow::GetSize() returns the size including the WM decorations.
- - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized.
- - Added support for colour cursors (Pascal Monasse).
- - Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
- - Added gtk.tlw.can-set-transparency system option.
- - Added support for GTK+ print backend
- - Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
- - Fix wxDC::Blit() support for user scale and source offset (Marcin Wojdyr).
- wxMac:
- - Better IconRef support (Alan Shouls).
- - Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs).
- - Allow accelerators to be used with buttons too (Ryan Wilcox).
- - Support resource forks in wxCopyFile() (Hank Schultz).
- - Implement wxLocale::GetInfo() using CFLocale.
- - Native wxCollapsiblePane implementation.
- wxMSW:
- - Fix many problems with selection in multi-selection wxTreeCtrl (Jonathan Liu).
- - Fixed infinite loop in wxThread::Wait() in console applications.
- - Return the restored window size from GetSize() when window is minimized.
- - wxCheckListBox now looks more native, especially under XP (Marcin Malich).
- - wxCheckListBox now also supports use of client data (Marcin Malich).
- - Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon
- - Fix centering wxFileDialog and allow positioning it.
- - Allow centering wxMessageDialog on its parent window (troelsk).
- - Use vertical scrollbar in wxMessageDialog if it's too big to fit on screen.
- - Show resize gripper on resizable dialogs (Kolya Kosenko).
- - Implement support for display enumeration under WinCE (Vince Harron).
- - Use different Win32 class names in different wx instances (Thomas Hauk).
- - Support multiline labels for wxCheckBox and wxToggleButton.
- - Print preview is now rendered in the resolution used by printer and
- accurately represents what will be printed. This fixes wxHtmlEasyPrinting
- preview inaccuracies on Windows; on other platforms, native preview
- should be used.
- - Implement wxFileName::SetTimes() for directories (Steve Lamerton).
- - Added wxToolTip::SetMaxWidth() and improved default wrapping (Joachim Hönig).
- - Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
- by modern apps.
- - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
- - Fix spurious repaint when changing tooltip text (Jonathan Liu).
- - Fix wxSP_WRAP and wxSP_ARROW_KEYS in wxSpinCtrlDouble (Andrew Radke).
- wxX11:
- - Added mouse wheel support (David Hart).
- - Make Enter key activate the default button (David Hart).
- wxDFB:
- - Implement wxBitmap ctor from XBM data.
- i18n:
- -----
- - Slovak translations added (Ivan Masár).
- 2.8.10:
- -------
- All:
- - wxHashMap::insert() doesn't update the value if it didn't insert the element
- any more (Marcin Malich).
- - Correct bug in wxTimeSpan::Format() for negative spans.
- - Correct several bugs in wxList using end() iterators (Suzumizaki-Kimitaka).
- - Added Vietnamese translation (Tran Ngoc Quan).
- - Updated Slovenian translation (Martin Srebotnjak).
- - Corrected Serbian locale name (Cody Precord).
- - Fix wxURL::GetInputStream() for URLs with special characters in credentials
- (Robert Wruck).
- - Fix wxURI::GetUser() for URIs without password.
- - Correct wxDateTime DST computation for 2006 and later (Christopher Barker).
- All (GUI):
- - wxRTC: fixed input that uses Alt on Mac OS X, for example Polish Pro input.
- Also fixed a bug whereby e.g. Croatian keys didn't work, by moving more code
- to key down handler.
- - wxRTC: fixed a problem with HTML list generation.
- - wxRTC: no longer deletes a character when content is selected before
- pressing Delete.
- - wxRTC: fixed inability to select no superscript and no subscript in
- formatting dialog.
- - wxRTC: fixed centering and right-justification when combined with left
- indentation.
- - wxRTC: fixed lack of right margin when centering or right-justifying.
- - wxRTC: fixed wrong descent when wrapping lines with different font sizes.
- - wxRTC: fixed wrapping problem for long lines.
- - wxRTC: all buffer margins now respected.
- - wxRTC: Added wxRE_CENTRE_CARET to centre the caret line vertically.
- - Fixed wxHTML's pagebreaks computation in tables (D.J.Stauffer).
- - Fixed wxHtmlWindow::SelectionToText() to correctly insert newlines after
- single-cell paragraphs.
- - Fixed wxHTML's line breaks handling in <pre> blocks broken in 2.8.8 (#10120).
- - wxHTML: don't include extra whitespace in table cells.
- - Implemented wxWindow::DragAcceptFiles() on all platforms.
- - Added wxAUI_MGR_LIVE_RESIZE flag to wxAuiManager and made it the default on
- wxMac with CoreGraphics where sash drawing isn't implemented.
- - Use bitmap mask in wxSplashScreen.
- - Translate "(c)" and "(C)" to the real copyright sign in wxAboutBox.
- - Fix painting of highlight border for merged cells in wxGrid (K. Jones).
- - Fix handling of long lines in wxGridCellAutoWrapStringRenderer.
- All (Unix):
- - Return false from wxSingleInstanceChecker::IsAnotherRunning() if an error
- occurred while opening or reading the lock file (Lauri Nurmi).
- wxMSW:
- - Fixed bug with using non default encoding in wxTextCtrl in ANSI build.
- - Restored generation of events for accelerators when there is no menu bar.
- - Fixed wxArtProvider::GetSizeHint() to return 16x16 for wxART_FRAME_ICON.
- - Fixed toolbar buttons so that they don't disappear temporarily when clicked
- if the event handler causes window update.
- - Fix display enumeration under WinCE (Vince Harron).
- - Fix best size calculation for wxNotebook with multiple rows (Alex McCarthy).
- - Correct coordinates of wxDropFilesEvent (Dmitriy Maksimov).
- - Fix handling of abandoned mutexes in wxMutex (David Heffernan).
- - Avoid warnings about deprecated localtime with MSVC8/9 (Chris Stankevitz).
- - Fixed invisible CHM tooltip text bug when window text colour is black.
- - Automatically adjust toolbar's tool size if the provided bitmaps
- don't fit into the default size.
- - Don't generate EVT_LISTBOX_DCLICK events with incorrect indices.
- - Don't reuse the double click handled by activation event handler for toggling
- the item in wxTreeCtrl.
- wxMSW/CE:
- - Don't hardcode the menu bar height (Michele Spighi).
- wxGTK:
- - Fixed printing to use fonts sizes adjustment consistent with wxMSW.
- - Make colours used by list, tree and status bar controls more consistent with
- the system theme settings (Tim Kosse).
- - Worked around bug in GTK+ < 2.14 where enabling some controls such
- as wxButton didn't re-enable sensitivity until the mouse was moved.
- wxOS2:
- - Added implementation for wxSingleInstanceChecker contributed by Lauri Nurmi
- 2.8.9
- -----
- All:
- - Optimize wxString::Replace() for single character arguments.
- - Updated Hindi translation (Priyank Bolia).
- - Use tr1::unordered_{map,set} for wxHash{Map,Set} implementation if available
- in STL build; in particular do not use deprecated hash_{map,set} which
- results in a lot of warnings from newer g++ (Jan Van Dijk and Pete Stieber).
- All (GUI):
- - Added support for reading alpha channel in BMP format (Kevin Wright).
- - Fixed help viewer bug whereby the splitter sash in wxHtmlHelpWindow could
- go underneath the left-hand pane, permanently, after resizing the
- help window.
- - Fixed wxHTML default font size for printing to be 12pt regardless of the
- platform, instead of depending on GUI toolkit's screen configuration.
- - Support wxDP_ALLOWNONE style in generic wxDatePickerCtrl version.
- - Set wxKeyEvent::m_uniChar correctly in the events generated by generic
- wxListCtrl (Mikkel S).
- - Fix changing size of merged cells in wxGrid (Laurent Humbertclaude).
- - Fixed wrapping bug in wxRichTextCtrl when there were images present;
- now sets the cursor to the next line after pressing Shift+Enter.
- - Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl.
- - Fix crash when reading malformed PCX images.
- - Fix bug with wrong transparency in GIF animations (troelsk).
- - Store palette information for XPM images in wxImage (troelsk).
- - Fixed selection bugs and auto list numbering in wxRichTextCtrl.
- - Significantly optimize wxGrid::BlockToDeviceRect() for large grids (kjones).
- - Introduced new wxAuiToolBar class for better integration and look-and-feel.
- - Fix a crash in wxAuiFrameManager when Update() was called in between mouse-up
- and mouse-down events
- - wxAUI: added various NULL-ptr asserts.
- - Fixed problem with Floatable(false) not working in wxAuiFrameManager.
- - Fixed maximize bug in wxAUI.
- - Allow period in link anchors in wxHTML.
- - Fixed memory corruption in wxHTML when parsing "&;" in the markup.
- - Fixed event type in EVT_GRID_CMD_COL_MOVE and EVT_GRID_COL_MOVE.
- - wxGrid doesn't steal focus when hiding editor any more (Tom Eckert).
- All (Unix):
- - MIME types reading fixed when running under GNOME, reading .desktop
- files and also the default application list.
- - Added filesys.no-mimetypesmanager system option so that applications that
- must load an XRC file at program startup don't have to incur the
- mime types manager initialization penalty.
- wxMSW:
- - Potentially incompatible change: wxExecute() arguments are now quoted if they
- contain spaces and existing quotes are escaped with a backslash. However, to
- preserve compatibility, the argument is unchanged if it is already quoted.
- Notice that this behaviour will change in wxWidgets 3.0 where all arguments
- will be quoted, please update your code now if you are affected and use only
- wxWidgets 2.8.9 or later.
- - Fix keyboard support in wxSpinCtrl broken in 2.8.8.
- - Compile fix for WinCE in window.cpp (no VkKeyScan in Windows CE).
- - Support disabling items before adding them to the menu (Christian Walther).
- - Allow to call SetFont(wxNullFont) to reset the font to default.
- - Implement UUID::operator==() and !=() (SQLAware Corporation).
- - Fixed long standing (introduced in 2.6.3) bug which resulted in always
- creating a DIB and not DDB in wxBitmap(const wxImage&) ctor.
- - Fix the bug with wxFileDialog not being shown at all if the default file name
- was invalid.
- - Fix hang in keyboard navigation code with radio buttons under Windows 2000.
- - Implement wxWinINetInputStream::GetSize() (spicerno).
- - Always copy "has alpha" flag when copying bitmaps (SQLAware Corporation).
- wxGTK:
- - Fixed masking of disabled bitmaps in wxMenuItem and wxStaticBitmap.
- - Fixed generation of events for an initially empty wxDirPickerCtrl.
- - Fixed detection of Meta key state so that NumLock isn't misdetected
- as Meta (requires GTK+ 2.10).
- - Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
- wxMac:
- - Fixed a glitch where clicking on a scrollbar (but not moving the scrollbar)
- would cause the window to scroll.
- 2.8.8
- -----
- All:
- - Fixed bug with parsing some dates in wxDateTime (Bob Pesner).
- - Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date().
- - Initialize current line in wxTextBuffer ctor (Suzuki Masahiro).
- - Improved performance of XML parsing (Francesco Montorsi).
- - Fix wxDateTime::ParseRfc822Date() to handle missing seconds (Joe Nader).
- All (GUI):
- - Added wxWindow::GetNextSibling() and GetPrevSibling().
- - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov).
- - Ensure that wxGrid::AutoSizeColumn/Row() never sets column/row size
- smaller than the minimal size.
- - Added <scrollrate> parameter to wxScrolledWindow XRC handler.
- - wxRichTextCtrl performance has been improved considerably.
- - Several wxRichTextCtrl style, paste and undo bugs fixed.
- - Added wxRichTextCtrl superscript and subscript support (Knut Petter Lehre).
- - wxNotebook RTTI corrected, so now wxDynamicCast(notebook, wxBookCtrlBase)
- works.
- - When focus is set to wxScrolledWindow child, scroll it into view.
- - Improve wximage::ResampleBox() (Mihai Ciocarlie).
- - Implemented ScrollList() in generic wxListCtrl (Tim Kosse).
- - SaveAs in docview takes into account path now.
- - Fixed wxXmlResource::GetText() to convert data to current locale's
- charset in ANSI build.
- - wxGrid now indicates focus by using different colour for selection
- and hiding cell cursor when it doesn't have focus.
- - Added alpha support to wxImage::Paste() (Steven Van Ingelgem)
- - Use current date when opening popup in generic wxDatePickerCtrl.
- - Remove associated help text from wxHelpProvider when a window is destroyed.
- - Added wxSizerFlags::ReserveSpaceEvenIfHidden() and
- wxRESERVE_SPACE_EVEN_IF_HIDDEN sizer flag.
- - Added wxWindow::ClientToWindowSize() and WindowToClientSize() helpers.
- - Added wxSizer::ComputeFittingClientSize() and ComputeFittingWindowSize().
- - Fixed wxSizer::SetSizeHints() to work when the best size decreases.
- - Fixed crash in wxHtmlHelpController if the help window is still open.
- - Fixed generic art provider to scale bitmaps down to client-specific
- best size if needed.
- - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola).
- - Fixed timing of malformed animated GIFs in wxHTML (Gennady Feller).
- - Fixed incorrect layout width caching in wxHTML (Jeff Tupper).
- - wxHTML: preserve TAB characters when copying <pre> content to clipboard.
- - Set focus to wxCalendarCtrl when it is clicked.
- - Don't clear the list control when wxLC_[HV]RULES style is toggled.
- - Don't crash when Ctrl-Shift-T is pressed in empty wxStyledTextControl.
- All (Unix):
- - Fixed shared libraries to not depend on GStreamer when built with
- --enable-media; only wxMedia library depends on it now.
- - wxLaunchDefaultBrowser() now uses xdg-open if available.
- - Don't close UDP socket if an empty datagram is received (Mikkel S)
- - Honour locale modifiers such a "@valencia" in system locale (Tim Kosse)
- wxMSW:
- - Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse).
- - Fix setting icons when they have non-default (16*16 and 32*32) sizes.
- - Fixed wxLocale::GetInfo to use the C locale.
- - Don't enable disabled windows when showing them (Harry McKame).
- - Fix assert when using owner-drawn menu items with the newest (Vista) SDK.
- - Fixed wxTextCtrl to not process clipboard events twice if there's
- a custom wxEVT_COMMAND_TEXT_* event handler.
- - Fix wxComboBox to not lose the current value if it was programmatically set
- to a value not in a list of choices on popup close (Kolya Kosenko)
- - Switching wxListCtrl to report mode from another one now uses full row
- highlight, just as if the control were created in report mode initially.
- - Use correct index of the right-clicked column in wxListCtrl in the
- corresponding event even when the control is scrolled horizontally.
- - Implement wxRadioBox::Reparent() correctly (Vince Harron).
- - Make context sensitive help work for the text part of wxSpinCtrl.
- - wxFileType::GetCommand() now looks at Explorer associations and CurVer
- for increased reliability and conformance to user expectations.
- - Fixed double Init() call in wxTopLevelWindow causing a memory leak on
- SmartPhone.
- - Fixed rendering of borders for wxTextCtrl with wxTE_RICH(2) style when
- using Windows XP's Classic UI theme.
- - Text controls with wxTE_RICH style now also generate wxClipboardTextEvents.
- - Fixed wxEVT_COMMAND_TEXT_ENTER generation in wxSpinCtrl.
- - Fixed wxSpinCtrl::GetClientSize() to return sensible value and not just
- spin button's client size.
- - Fixed IMPLEMENT_APP() to be compatible with the -WU flag of Borland C++
- compiler (Matthias Bohm).
- - Correct size calculation for toolbars containing controls under pre-XP
- systems (Gerald Giese)
- wxGTK:
- - Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and
- so the loop should exit (Rodolfo Schulz de Lima).
- - Implement wxListBox::EnsureVisible() (Andreas Kling)
- - Fixed wxCURSOR_HAND to map to GDK_HAND2 and not GDK_HAND1, for consistency
- with other applications.
- - Fix wxNotebook::GetPage{Text,Image}() when they were called from the page
- change event handler for the first added page (Mikkel S).
- - Fixed wxBitmapButton to use focus and hover bitmaps correctly.
- - Fixed race condition which could cause idle processing to stop without
- processing all pending events.
- - wxAcceleratorTable now works with buttons too.
- wxMac:
- - Fixed cursor for wxBusyCursor and wxContextHelp.
- - Fixed wxListCtrl to respect items' non-default fonts.
- - wxListCtrl::SetColumnWidth() now supports wxLIST_AUTOSIZE.
- - Fixed handling of transparent background in borderless wxBitmapButton.
- 2.8.7
- -----
- All:
- - Fixed bug with default proxy destruction in wxURL (Axel Gembe).
- wxMSW:
- - Correct (harmless) warnings given for forward-declared DLL-exported classes
- by mingw32 4.2 (Tim Stahlhut).
- wxGTK:
- - Added gtk.window.force-background-colour wxSystemOptions option to work around
- a background colour bug in the gtk-qt theme under KDE.
- - Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports.
- 2.8.6
- -----
- All:
- - Fixed another bug in wxFileConfig when deleting entries (Axel Gembe)
- - Added Portuguese translation (Antonio Cardoso Martins)
- 2.8.5
- -----
- All (GUI):
- - Added colour normalization to PNM image handler (Ray Johnston)
- - Fixed selecting part of word from right to left in wxHTML (Michael Hieke)
- - Selecting text in wxHTML with character precision was made easier, it's
- enough to select half of a character (Michael Hieke)
- - Significantly improved startup times of XRC-based applications using
- embedded resources on Unix (requires resources recompilation)
- - Fixed freeing of "static" alpha data in wxImage (Axel Gembe)
- - Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is
- invalid, to conform to the documented behaviour (Langhammer)
- - Fixed wxXPMHandler::SaveFile for images with more than 92 colors.
- wxMSW:
- - Correct problem with page setup dialog when using landscape mode
- - Added msw.font.no-proof-quality system option, see manual for description
- - Fix appearance of notebook with non-top tabs under Windows Vista
- - Fixed bug with symbol resolving in wxStackWalker (Axel Gembe)
- - Fixed showing busy cursor for disabled windows and during wxExecute()
- - Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa)
- - Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady)
- wxGTK:
- - Setting foreground colour of single line wxTextCtrl now works
- - More work on setting defaults in GNOME print dialogs.
- - Also made landscape printing work as per wxMSW.
- - Add support for clipping in GNOME print backend.
- - Speed up wxBitmap::Rescale()
- - Add right button event for wxToolbar's tools (Tim Kosse)
- - Don't unconditionally add wxCAPTION style to wxMiniFrame
- - Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change
- - Fix WX_GL_STEREO attribute handling (Tristan Mehamli)
- - Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis)
- - Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse)
- 2.8.4
- -----
- All:
- - Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem)
- - Fix wxStringOutputStream::Write() in Unicode build when the argument
- overlaps UTF-8 characters boundary
- - Account for lines without newline at the end in wxExecute()
- All (Unix):
- - Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse)
- All (GUI):
- - Allow status bar children in XRC (Edmunt Pienkowski)
- - Fix memory leak in wxWizard when not using sizers for the page layout
- - Added wxListCtrl::SetItemPtrData()
- - wxHTML: Apply table background colour between the cells too (Michael Hieke)
- wxMSW:
- - Corrected wxStaticBox label appearance when its foreground colour was set:
- it didn't respect font size nor background colour then (Juan Antonio Ortega)
- - Don't lose combobox text when it's opened and closed (Kolya Kosenko)
- - Corrected GetChecked() for events from checkable menu items (smanders)
- - Fixed popup menus under Windows NT 4
- - Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3
- - Support right-aligned/centered owner drawn items in wxListCtrl (troelsk)
- - Compilation fixed with WXWIN_COMPATIBILITY_2_6==0
- - Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko)
- wxGTK:
- - Fix infinite loop when adding a wxStaticText control to a toolbar
- - Fix wxNO_BORDER style for wxRadioBox (David Hart)
- - Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr)
- wxMac:
- - Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord)
- wxUniv:
- - Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen)
- - Fix wxComboBox::SetSelection(wxNOT_FOUND)
- - Fix setting background colour for controls with transparent background
- 2.8.3
- -----
- All:
- - Shut down the sockets gracefully (Sergio Aguayo)
- - Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal)
- wxMac:
- - Corrected top border size for wxStaticBox with empty label (nusi)
- wxMSW:
- - Fixed wxFileName::GetSize() for large files
- wxGTK:
- - Fixed handling of accelerators using PageUp/Down keys
- 2.8.2
- -----
- All:
- - Added wxSizerFlags::Shaped() and FixedMinSize() methods.
- - Added wxCSConv::IsOk() (Manuel Martin).
- - Added wxDateTime::GetDateOnly().
- - Made wxTextFile work with unseekable files again (David Hart).
- - Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta).
- - Added wxSearchCtrl::[Get|Set]DescriptiveText.
- - Fixed detection of number of processors under Linux 2.6
- - Fixed Base64 computation in wxHTTP (p_michalczyk)
- - Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk)
- Unix Ports:
- - Fixed crash in wxGetUserName() in Unicode build
- wxMSW
- - Fix lack of spin control update event when control lost focus.
- - Corrected drawing of bitmaps for disabled menu items.
- wxGTK
- - Fix hang on startup when using GTK+ options in Unicode build
- wxMac
- - Fix position of the centered windows (didn't take menu bar size into account)
- - Added support for the wxFRAME_FLOAT_ON_PARENT style.
- wxX11:
- - Don't crash in wxWindow dtor if the window hadn't been really Create()d.
- wxUniv:
- - Fixed wxComboBox always sorted.
- 2.8.1
- -----
- All:
- - Fix compilation with wxUSE_STL=1.
- - wxGrid::GetBestSize() returns same size the grid would have after AutoSize().
- - Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi).
- - Several RTL-related positioning fixes (Diaa Sami).
- - Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart).
- - Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner).
- wxMSW:
- - Fixed compilation with Borland C++ in Unicode mode but without MSLU.
- - Show taskbar icon menu on right button release, not press.
- wxGTK:
- - Don't crash if command line is not valid UTF-8 (Unicode build only).
- wxUniv:
- - It is now possible to set background colour of wxStaticText.
- 2.8.0
- -----
- All:
- - Added wxSearchCtrl (Vince Harron).
- - wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32.
- - wxArrayString::Alloc() now works as reserve() and doesn't clear array contents.
- - Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
- - New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return
- a stream that is seekable.
- - Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows.
- - Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize().
- for a control with borders (Tim Kosse).
- wxMSW:
- - Fixed version script problems when using configure with cygwin/mingw32.
- - Use system default paper size for printing instead of A4.
- - Fix (harmless) assert in virtual list control under Vista.
- - Fix colours when converting wxBitmap with alpha to wxImage (nusi).
- wxGTK:
- - Allow dynamically changing most of text control styles.
- - Enable use of libgnomeprintui by default in configure.
- 2.7.2
- -----
- All:
- - Added wxFFile overload to wxFileName::CreateTemporaryFileName().
- - Added GetTempDir() to wxFileName and wxStandardPaths.
- - Added wxTar streams.
- - Added wxFilterFSHandler and wxArchiveFSHandler.
- - Added wxString::ToLongLong() and ToULongLong().
- All (GUI):
- - wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
- calling SelectObject itself if a valid bitmap is passed.
- - Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added
- wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory.
- - Renamed wxProgressDialog::UpdatePulse() to just Pulse().
- - Added wxCollapsiblePane (Francesco Montorsi).
- - Added wxSimpleHtmlListBox (Francesco Montorsi).
- - Printing framework fixes by Robert J. Lang. Bugs fixed,
- wxPrinterDC::GetPaperRect() and other functions added to allow
- easier printing implementation, and the documentation updated.
- - Many enhancements to wxRichTextCtrl including URL support,
- formatting and symbol dialogs, print/preview, and better list
- formatting.
- - Support for loading TGA files added (Seth Jackson).
- - Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot).
- - wxHtmlWindow now generates events on link clicks (Francesco Montorsi).
- - wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event.
- Unix Ports:
- - Added autopackage for wxGTK and an example of using autopackage for a wx
- program (Francesco Montorsi).
- wxGTK:
- - More RTL work.
- - Support wxALWAYS_SHOW_SB.
- - Speed up MIME types loading. Only the GNOME database should be loaded under
- GNOME etc. For this, the code queries the X11 session protocol.
- - wxCaret redraw problem during scrolling fixed.
- 2.7.1
- -----
- All:
- - Added wxDir::FindFirst() (Francesco Montorsi).
- - Added wxPlatformInfo class (Francesco Montorsi).
- - Added wxLocale::IsAvailable() (Creighton).
- - Added Malay translations (Mahrazi Mohd Kamal).
- - Added reference counting for wxVariant.
- - For consistency, all classes having Ok() method now also have IsOk() one, use
- of the latter form is preferred although the former hasn't been deprecated yet.
- - Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).
- - Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi).
- - Added wxSizer::Replace (Francesco Montorsi).
- - wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi).
- - Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide
- event-free alternatives to SetSelection() and SetValue() functions; see the
- "Events generated by the user vs programmatically generated events" paragraph
- in the "Event handling overview" topic for more info.
- All (GUI):
- - Support for right-to-left text layout (started by Diaa Sami during Google Summer of
- Code, with a lot of help from Tim Kosse and others).
- - wxAnimationCtrl added (Francesco Montorsi).
- - Added wxAboutBox() function for displaying the standard about dialog.
- - Added wxID_PAGE_SETUP standard id.
- - Added wxSize::IncBy() and DecBy() methods.
- - Added wxTextCtrl::IsEmpty().
- - Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
- consistency with wxRichTextCtrl.
- - wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,
- fixed some attribute bugs and added wxRichTextStyleComboCtrl.
- - Added wxWindow::IsDoubleBuffered().
- - Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
- - Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
- wxMSW:
- - Implemented wxComboBox::SetEditable().
- - wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
- - Fixed a bug whereby static controls didn't use the correct text colour if the
- parent's background colour had been set (most noticeable when switching to a
- high-contrast theme).
- - Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
- wxMac:
- - Add parameter to the --enable-universal_binary configure option for the path
- to the SDK.
- wxGTK:
- - Automatically use stock items for menu items with standard ids.
- - Setting cursor now works for all controls.
- - Implemented right-to-left support.
- - Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse).
- - Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
- wxUniv:
- - Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
- 2.7.0
- -----
- All:
- - Added positional parameters support to wxVsnprintf() (Francesco Montorsi).
- - wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now.
- - Many fixes for UTF-16/32 handling in Unicode builds.
- - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag.
- - Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir()
- - Added wxStandardPaths::GetDocumentsDir() (Ken Thomases).
- - Added wxStringTokenizer::GetLastDelimiter(); improved documentation.
- - Fixed wxTextFile in Unicode build.
- - Added possibility to specify dependencies for a wxModule.
- - Speed improvements to wxRegEx when matching is done in a loop such as
- during a search and replace.
- - Fix regerror and regfree name conficts when built-in regex and system regex
- are both used in the same program.
- - Basic authentication supported added to wxHTTP.
- - wxCondition::WaitTimeout() now returns correct value when timeout occurs.
- - Fixed occasional wxThread cleanup crash.
- - Bug in wxLogStream::DoLogString in Unicode builds fixed.
- - Added support for memo fields to wxODBC.
- - Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__.
- - wxFileName now also looks for TMPDIR on Unix.
- - Fixed build error in list.h with VC++ 2005.
- - Fixed wxODBC buffer overflow problem in Unicode builds.
- - Fixed wxSocketBase::InterruptWait on wxBase.
- - Important code cleanup (Paul Cornett).
- - Added support for wxLongLong in wx stream classes (Mark Junker).
- - wxSOCKET_REUSEADDR can be used with wxSocketClient.
- - Overloaded Connect() and SetLocal() methods for binding to local address/port.
- - Albanian translation added (Besnik Bleta).
- - Assert messages now show the function in which assert failed.
- - wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert().
- - Fixed several bugs in wxDateTime::ParseDate().
- - The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP
- and WXK*PAGEDOWN. If you have switch statements that use both
- constants from a set then you need to remove the PRIOR/NEXT
- versions in order to eliminate compiler errors.
- - Fixed bug where wxDateTime::Now() would sometimes return an incorrect value
- the first time it was called.
- - Added wxString::rbegin() and rend().
- - Added wxString::EndsWith().
- - wxSocket::_Read continues reading from socket after exhausting pushback buffer.
- Previously, only the buffer would be returned, even if more data was requested.
- - Added wxPowerEvent (currently MSW-only).
- - Make wx-config compatible with Bourne shells.
- - Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty).
- - Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta).
- - Fixed wxTimeSpan::Format() for negative time spans.
- - Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi).
- All (GUI):
- - New AUI (Advanced User Interface) library for docking windows and much more.
- - Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli).
- - Added wxTreebook (uses a wxTreeCtrl to control pages).
- - Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi).
- - Added wxDC::GradientFillLinear/Concentric().
- - Added wxHyperlinkCtrl (Francesco Montorsi).
- - Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE).
- - Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios).
- - Added wxRadioBox::SetItemToolTip().
- - Added support for CMYK JPEG images loading (Robert Wruck).
- - Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj).
- - Added wxKeyEvent::GetModifiers().
- - Added wxDialog::SetEscapeId().
- - wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox,
- wxComboBox and wxChoice).
- - wxWindow::Fit() now works correctly for frames and dialogs too.
- - Added access to the border size between pages and controller in book
- based controls (wxBookCtrlBase::Get/SetInternalBorder).
- - Added initial wxRichTextCtrl implementation.
- - All book based controls (notebook, treebook etc.) share now the same
- options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated
- wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP.
- - Added parent window parameter to wxHelpController constructor
- and added SetParentWindow/GetParentWindow.
- - wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not.
- - Added wxBitmapButton::SetHoverBitmap().
- - Access to titles through Get/SetTitle is available now only for top level
- windows (wxDialog, wxFrame).
- - Fixed memory leak of pending events in wxEvtHandler.
- - Added wxRadioBox::IsItemEnabled/Shown().
- - Added space after list item number in wxHTML.
- - Implemented <sub> and <sup> handling in wxHTML (based on patch
- by Sandro Sigala).
- - Added caption parameter to wxGetFontFromUser and wxGetColourFromUser.
- - Added wxGetMouseState function.
- - Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes,
- allowing HTML help to be embedded in an application.
- - wxCalendarCtrl positioning and hit-testing fixes for dimensions other than
- best size.
- - wxCalendarCtrl colour schema changed and adjusted to system settings.
- - wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose).
- - More checking of image validity before loading into wxImage.
- - Added wxImage::ConvertToGreyscale.
- - Added ability to use templates with static event tables
- with BEGIN_EVENT_TABLE_TEMPLATEn() macros.
- - Added play, pause, and state change events to wxMediaCtrl.
- - Added double-buffering to wxVListBox and fixed a scrolling issue.
- - Added wxToolbook (uses a wxToolBar to control pages).
- - Added SetSheetStyle to wxPropertySheetDialog and allowed it to
- behave like a Mac OS X settings dialog.
- - Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself.
- - Fixed centering of top level windows on secondary displays.
- - Implemented wxDisplay::GetFromWindow() for platforms other than MSW.
- - UpdateUI handler can now show/hide the window too (Ronald Weiss).
- - More than one filter allowed in wxDocTemplate filter.
- - Added wxListBox::HitTest().
- - Added wxDisplay::GetClientArea().
- - Indices and counts in wxControlWithItems derived API are unsigned.
- - Added support for links to wxHtmlListBox; use code has to override
- wxHtmlListBox::OnLinkClicked() to take advantage of it.
- - Added an easier to use wxMenu::AppendSubMenu().
- - wxString <-> wxColour conversions in wxColour class (Francesco Montorsi).
- - Fixed bug with ignoring blank lines in multiline wxGrid cell labels.
- - Added wxTextAttr::Merge() (Marcin Simonides).
- - Added wxTB_NO_TOOLTIPS style (Igor Korot).
- - Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz).
- - Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz)
- - Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix.
- - Made it possible to associate context help to a region of a window.
- - Added support for tabs in wxRichTextCtrl (Ashish More).
- - Fixed problem with zoom setting in print preview.
- - Moved wxRichTextCtrl from the advanced library to its own.
- - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
- - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
- implementations (so far) for wxMSW and wxMac.
- - Allow customizing individual grid lines appearance (Søren Lassen).
- - Fixed middle click events generation in generic wxTreeCtrl (Olly Betts).
- - Added wxEVT_MOUSE_CAPTURE_LOST event that must be handled by all windows
- that CaptureMouse() is called on.
- wxMSW:
- - Fixed crash with ownerdrawn menu items accelerators (Perry Miller).
- - wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson).
- - Switching page of a hidden notebook doesn't lose focus (Jamie Gadd).
- - Removed wxImageList *GetImageList(int) const.
- - Fixed MDI context menu problem.
- - Removed __WIN95__ define.
- - Create msw/rcdefs.h in setup.h's directory, which can be included by
- resource files. It containts platform/compiler specific defines (such as
- target cpu) which can be used in #ifs in .rc files.
- - Add support for Win64 manifests and VC++ 8 automatic manifests (see the
- wxMSW faq for details).
- - New TARGET_CPU=amd64 (or 'ia64') option for the makefile.vc files which
- puts 64-bit builds in their own directory and adds /machine:amd64 or ia64
- to the link command.
- - wxStatusBar::GetFieldRect now returns correct values under XP.
- - wxStatusBar no longer corrupts surrounding windows on resize.
- - Enable wxListCtrl in report mode to be able to use images in other
- columns, if ComCtl32 >= 470.
- - Fixed problem where using SetValue and wxTE_RICH2 would cause control to
- show.
- - Numpad special keys are now distinguished from normal keys.
- - Fixed GDI leak in wxStaticBitmap when setting images after
- initial construction.
- - Menu codes now stripped before measuring control labels.
- - MFC sample now compiles in Unicode mode.
- - Fixed SetScrollbar thumb size setting bug (set orientation before triggering
- events).
- - Fixed icon to cursor conversion problem for bitmaps with masks.
- - Fixed wxToolBar background colour problem for some video cards.
- - wxGenericDirCtrl now shows volume name.
- - Added XP theme support for DrawHeaderButton, DrawTreeItemButton.
- - Made the wxActiveXContainer class public and documentated.
- - Added a Windows Media Player 9/10 backend for wxMediaCtrl.
- - Multiline notebook tab label change now resizes the control
- correctly if an extra row is removed or added.
- - Fixed a crash when dismissing wxPrintDialog under VC++ 7.1.
- - Fixed out by one error in wxTextCtrl::GetStyle.
- - Fixed problem with getting input in universal/unicode build of wxMSW.
- - Link oleacc.lib conditionally.
- - Drag and drop now works inside static boxes.
- - Fall back to unthemed wxNotebook if specified orientation not available.
- - wxListCtrl and wxTreeCtrl now resize their standard font if the user
- changes the system font.
- - wxDisplay doesn't require multimon.h now and is enabled by default (Olly Betts).
- - Fixed wxChoice/wxComboBox slow appending and infinite recursion
- if its size is set within a paint handler (for example when embedded in a
- wxHtmlWindow). [Now reverted due to problems in W2K and below.]
- - wxDC::GetTextExtent() width calculation is more precise for italics fonts now.
- - Warning fixes for VC++ 5.0 (Igor Korot).
- wxGTK:
- - Fixed handling of font encoding in non-Unicode build
- - wxEVT_MENU_CLOSE and wxEVT_MENU_OPENED for popup menus are now generated.
- - Implemented wxCURSOR_BLANK support.
- - wxSlider generates all scroll events now and not only wxEVT_SCROLL_THUMBTRACK.
- - Fixed a host of bugs in wxMediaCtrl as well as added a GStreamer 0.10
- implementation.
- - Improved configure checks for GStreamer. You may also now specify
- --enable-gstreamer8 to force configure to check for GStreamer 0.8.
- - Fixed problem with choice editor in wxGrid whereby the editor
- lost focus when the combobox menu was shown.
- - Fixed focusing with mnemonic accelerator keys on wxStaticText which
- is now able to focus on wxComboBox and possibly other controls
- previously unable to be focused before.
- - Enabled mnemonics and the corresponding accelerator keys for
- wxStaticBox and wxRadioBox.
- - Fixed problem trying to print from a preview, whereby wrong printer
- class was used.
- - Worked around pango crashes in strncmp on Solaris 10.
- - Polygon and line drawing speeded up if there is no scaling.
- - Fixed problems with CJK input method.
- - Implemented ScrollLines/Pages() for all windows (Paul Cornett).
- - Support underlined fonts in wxTextCtrl.
- - Support all border styles; wxListBox honours the borders now.
- - wxWindow and wxScrolledWindow now generate line, page and thumb-release scroll events.
- - Added file preview support in file dialogs.
- - Implemented SetLineSize and GetLineSize for wxSlider.
- wxMac:
- - Fixed problem with clipboard support for custom data flavors.
- - Fixed focus handling for generic controls in carbon-cfm.
- - Fixed a printing crash bug, for example using File->Print and changing
- Popup from 'Copies & Pages' to e.g. 'Layout'.
- - Improved support for help and application menu items.
- - Added default implementations for wxTextCtrl::Replace and wxTextCtrl::Remove.
- - Added support for 10.4 context menu.
- - Added support for wxFRAME_EX_METAL and wxDIALOG_EX_METAL styles.
- - Added wxNotebook::HitTest support.
- - Corrected idle wake-up.
- - Corrected wxExecute.
- - Now makes use of full printer resolution.
- - Corrected CGImage handling in wxBitmap.
- - Now uses simple hide/show transition for top-level windows.
- - Uses reasonable temporary path for wxFileName::CreateTempFileName.
- - Added support for default key handling (escape, enter, command-period) even
- if there is no control on the frame or dialog that has the focus.
- - Fixed joystick bugs including a link error and a crash if no joysticks
- were found.
- - Removed an errorneous assertion from wxDir.
- - Uses CoreFoundation based and thread-safe implementation for message boxes
- under Mach-O.
- - wxBitmapButton is created as a content icon if wxBORDER_NONE is
- specified, otherwise as a bevel button.
- - Mouse event ids set correctly (fixing problems with Connect in particular).
- - Fixed wxZipInputStream read error on wxSocketInputStream which signals the
- end of file with an error.
- - Xcode wxWidgets and minimal sample project files updated to create Universal
- binaries.
- - Fix for setting wxMenuBar more than once.
- - wxListBox minimum size bug fixed.
- - Fixed wxNotebook off-by-one bug in HitTest.
- - Fixed joystick GetXMin/Max bug.
- - Fixed Unix domain socket problem in wxIPC.
- - Fixed non-detection of process termination on Intel Macs by
- polling for process termination in a separate thread.
- wxCocoa:
- - wxDirDialog is now native (Hiroyuki Nakamura).
- wxWinCE:
- - Pressing build-in joystick on WinCE phones fires wxEVT_JOY_BUTTON_DOWN event.
- - Native wxCheckListBox implementation.
- - All wxTopLevelWindows resizes accordingly to SIP visibility.
- - ::wxGetUserName() implemented.
- - wxDisplay enumeration support.
- - Fixed wxFileDialog breakage on WinCE due to incorrect structure size.
- - New wxSystemOption "wince.dialog.real-ok-cancel" to switch between WinCE
- guidelines with Ok-only dialogs and dialogs using wxButtons.
- - Checkable items in wxToolMenuBarTool supported.
- - Fixed date formatting and mktime.
- - Fixed getting standard folder paths on WinCE.
- - Support for backspace key on Smartphone.
- - Made both windows wxMediaCtrl Windows backends compilable with wxWinCE - it
- is recommended that you use wxMEDIABACKEND_WMP10 on this platform
- directly, however.
- - Added support for the context menu event (wxContextMenuEvent)
- and added platform-specific wxWindow::EnableContextMenu.
- - Fixed wxGenericFileDialog to work with WinCE.
- - Fixed compilation and menubar disappearance on Windows Mobile 5.
- - Fixed wxDatePickerCtrl usage.
- wxUniv:
- - Send wxEVT_SCROLL_XXX events from wxSlider (Danny Raynor).
- - Implemented wxToggleButton (David Bjorkevik).
- - Label in Toolbar tools implemented (Danny Raynor).
- wxX11:
- - Invisible text problem fixed.
- - Bitmap clipping with masks and scaling improved.
- - Fixed a crash bug in the generic timer.
- - Implemented child process termination notifications (David Björkevik)
- Unix:
- - NO_GCC_PRAGMA is not used any more, remove checks for it if you used it.
- wxMGL:
- - Fixed NUM_LOCK having no effect.
- - Fixed wxFileExists (affecting wxImage::LoadFile).
- 2.6.2
- -----
- All:
- - Fixed wxScopeGuard to work with VC++, documented it.
- - Fixed proxy handling in wxURL.
- - Added wxEVT_MEDIA_LOADED event for wxMediaCtrl.
- - Added new methods to wxMediaCtrl (wxURI version of Load, ShowPlayerControls).
- - Added wxZipFSHandler::Cleanup() (Stas Sergeev).
- - Added wxImage::RotateHue() and RGB <-> HSV conversions (John Anderson).
- - Fixed compilation with IBM xlC compiler.
- - wxABI_VERSION, see 'Backward Compatibility' topic overview in the manual.
- - Added wxLongLong::ToDouble().
- - Added wxDateTime::[Make]FromTimezone(), fixed several TZ-related bugs.
- - Fixed bug in wxStreamBuffer::Read(wxStreamBuffer *) (Paul Cornett).
- - Fixed wxListbook and wxChoicebook internal layout.
- All (GUI):
- - Added wxStaticText::Wrap()
- - wxChoice and wxComboBox::GetSelection() now returns completed selection,
- added a new GetCurrentSelection() function having the old behaviour.
- - Added wxXmlResource::Unload().
- - Possibility of modeless wxWizard dialog (with presentation in sample).
- - Fixed a rare crash due to malformed HTML in wxHTML (Xavier Nodet).
- - Ctrl+mouse wheel changes zoom factor in print preview (Zbigniew Zagórski).
- - Cross-compile now supported for wxGTK, wxX11 and wxMotif.
- - Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
- - Now reads "help" parameter for all windows (context help text).
- - wxWizard adapts to PDA-sized screens.
- - Unicode fixes for IPC and a new IPC sample (Jurgen Doornik).
- wxMSW:
- - wxMSW now builds with (beta of) MSVC 8 (a.k.a. 2005).
- - Separators are now correctly shown in the toolbars under Windows XP.
- - Fixed multiline tooltips handling.
- - Fixed wxSlider::GetSelEnd() (Atilim Cetin).
- - Fixed accelerators of menu items added to already attached submenus.
- - Position of wxEVT_MOUSEWHEEL events is now in client, not screen, coordinates.
- - Handle absence of wxListCtrl column image better (Zbigniew Zagórski).
- - Fixed asynchronous playback of large sound files in wxSound.
- - Added wxDynamicLibrary::GetSymbolAorW().
- - Fixed default size of wxStaticText controls with border being too small.
- - Fixed bugs with wxStatusBar positioning (with or withour sizers) (Jamie Gadd).
- - Mouse move events are now generated for all static controls (Jamie Gadd).
- - Fixed nested static box display and splitter sash on some themes (Jamie Gadd).
- - Made wxJoystick::GetProductName() more useful (John Ratliff).
- - Native spline drawing implementation (Wlodzimierz ABX Skiba).
- wxGTK:
- - ShowFullScreen() shows the window if it was still hidden (rpedroso).
- - Implemented wxTopLevelWindow::RequestUserAttention() (Mart Raudsepp).
- - Base library is now binary compatible when built with wxGTK and wxMotif.
- - wxTextCtrl::XYToPosition, PositionToXY and GetLineLength calls are now
- instantaneous in case of GTK 2.x multi-line controls (Mart Raudsepp).
- - Added support for left, centre and right text alignment attributes under
- GTK+2 multi-line text controls (Mart Raudsepp).
- - Various wxFont improvements for GTK 2.x builds (Mart Raudsepp).
- - Changed order of child deletion in window destructor and
- removed focus handlers to avoid spurious events (David Surovell).
- - Fixed domain socket handling.
- wxMac:
- - First implementation of native HIToolbar support.
- - Added text control context menu (ported from wxMSW).
- - More CoreGraphics implementation improvements.
- - Various text control bug fixes.
- - Automatic menu management improved.
- - Fixed crash when wxRadioButton is deleted from a group of radio buttons,
- due to dangling cycle pointers.
- - Native spline drawing implementation for CoreGraphics (Robert J. Lang).
- - Made wxDialog::IsModal meaning the same as other ports (true only when
- showing modally).
- wxOS2
- - Adjustments for building with Open Watcom C++.
- wxUniv:
- - Window creation now honours wxVSCROLL.
- - Standalone scrollbars generate events of correct type (Jochen Roemmler).
- wxMotif:
- - Base library is now binary compatible when built with wxGTK and wxMotif.
- - wxMotif can now display Japanese text under Japanese locale.
- - Fixed button size in common dialogs.
- - Made wxFileDialog translatable.
- - All top level windows should now have a border unless the wxNO_BORDER
- flag has been specified.
- - Improved wxNotebook support for sizers. It requires the wxNotebook to
- be created with a "sensible" initial width.
- - Made wxDialog::IsModal meaning the same as other ports (true only when
- showing modally).
- wxMGL:
- - Fixed crash on exit.
- - Fixed drawing problems when windows are resized.
- wxX11:
- - Various wxFont improvements for unicode builds (Mart Raudsepp).
- 2.6.1
- -----
- All:
- - Added wxLaunchDefaultBrowser.
- - Added wxPLURAL() macro in addition to _() (Jonas Rydberg)
- All (GUI):
- - Fixed potential infinite loop when adjusting wxScrolledWindow scrollbars.
- - Radio in menus do not send menu event for selections of already selected item.
- - Fixed wrong positioning of marks and enumerations in lists of wxHTML.
- - wxImage::Rotate90 respects alpha channel.
- - Added wxEVT_SCROLL_CHANGED as synonym for wxEVT_SCROLL_ENDSCROLL.
- - Replaced artwork for some cursors, icons and toolbar buttons.
- - Fixed sizing problem in generic wxCalendarCtrl for short day abbreviations.
- - Fixed wxWindow::DoGetBestSize to keep original best size.
- - PNM now supports ASCII and raw grey formats.
- - wxGrid focus and edit key improvements.
- wxMSW:
- - Fixed erroneous selection of content in wxComboBox when within a wxStaticBox
- (checking for selection caused by WM_STYLECHANGED).
- - Added deferred positioning to wxRadioBox, wxSlider and wxSpinCtrl and thereby
- eliminated some refresh glitches when resizing.
- - Eliminated further refresh glitches caused by wxRadioBox (to nearby controls)
- by refreshing parent when the radio box moves.
- - Added ability set the system option "msw.staticbox.optimized-paint" to 0 to
- allow a panel to paint graphics around controls within a static box.
- - Refresh exposed areas when resizing, using WM_WINDOWPOSCHANGED.
- - Worked around an apparent bug in deferred window positioning (moving a
- window from (x, y) to (a, b) and back to (x, y) misses the last step) by
- checking window positions against corresponding sizer state, if any.
- - A control's text colour now reflects the system colour setting.
- - Fixed wxFileName::GetLongPath() to behave correctly during the first call too.
- - Fixed alpha blitting to take into account source position.
- - Setting foreground colour for wxCheckBox now works when using XP themes too.
- - wxStaticBox label can use custom foreground colour.
- - Now uses newer font MS Shell Dlg 2 if possible.
- - Compiles again with WIN64.
- - Winelib compilation now works.
- - When converting a wxIcon to a bitmap check if the icon has an alpha
- channel and set the bitmap to use it.
- - wxSlider now also sends wxEVT_SCROLL_CHANGED when using mouse wheel
- - Miscellaneous wxMediaCtrl improvements.
- - wxTopLevelWindow::ShowFullScreen logic error fixed.
- - Fixed wxScrollBar background colour bug.
- - Fixed problems with paper sizes being ignored.
- - wxNotebook refresh problem fixed.
- - DDE fixed for Unicode.
- - Fixed ownerdrawn multiline buttons.
- - wxCheckListBox item background fixed.
- - Fixed error when trying to read a value from key not accessible for writing.
- - Fixed keyboard cue visibility issues under Windows 2000/XP
- wxWinCE:
- - Fixed wxFileName::CreateTempFileName.
- wxGTK:
- - Added support for wxSTAY_ON_TOP (GTK 2.4+).
- - Fixed wxTextCtrl::SetStyle for overlapping calls.
- - Fixed scrollbar border colour.
- - Added bitmap support in menus.
- wxMac:
- - Added support for launching 'APPL' bundles with wxExecute (usually they have a
- .app extension and are the ones that reside in the Applications folder).
- - Fixed a bug in wxGetKeyState where shift and some other keys were returning an
- incorrect state.
- - Fixed toolbar colour bug on Tiger.
- - Fixed visual problems caused by removal of About menu item.
- - Window menu now added automatically.
- - Configure fixed for wxBase compilation.
- - Modified function key support fixed.
- - wxTopLevelWindow::Maximize improvements.
- wxX11:
- - Menu problems fixed.
- - wxScrolledWindow scrolls any child windows.
- - Fixed a font memory leak.
- - Multiple wxTimers now work correctly.
- 2.6.0
- -----
- All:
- - wxPathExists deprecated, use wxDirExists instead.
- - Configure: --enable-std_iostreams, --enable-std_string are now the default.
- All (GUI):
- - Fixed ~wxStatusBar and ~wxToolBar which tried to check
- non-existent wxFrameBase RTTI, causing a crash if not in a frame.
- wxMSW:
- - Fixed static box border when the label is empty.
- - Fixed SetBackgroundColour() to change only label background, not entire box.
- - wxHelpController is now aliased to wxCHMHelpController.
- wxWinCE:
- - Fixed device origin setting and clipping region setting.
- wxGTK:
- - New configure syntax for specifying the GTK+ version.
- --with-gtk Use GTK 2.x, no fallback
- --with-gtk=1 Use GTK 1.2, no fallback
- --with-gtk=2 Use GTK 2.x, no fallback
- --with-gtk=any Use any available GTK
- - wxMenuItem::SetText() takes care of hotkeys, too.
- - Reworked text wrapping for wxStaticText.
- wxMac:
- - Implemented most of the wxFileType and wxMimeTypesManager functions
- 2.5.5
- -----
- All:
- - wxURI::GetUser() only returns the user name now, use GetUserInfo() to get
- user and password as in 2.5.4; wxURI::GetPassword() added.
- - Added wxDebugReport class.
- - Added wxTempFileOutputStream by Stas Sergeev.
- - Fixed wxDateTime::SetToWeekDayInSameWeek(Sun, Monday_First).
- - Added WXK_SPECIAL keycodes for special hardware buttons.
- - Fixed bug with wxFile::Seek(-1, wxFromCurrent).
- - Added wxString/C array constructors to wxArrayString.
- - Added wxMemoryInputStream(wxMemoryOutputStream&) constructor (Stas Sergeev)
- All (GUI):
- - Added GetIcon, GetBitmap to wxImageList. wxGenericImageList's original
- GetBitmap is renamed GetBitmapPtr.
- - Added XPM data constructor to wxImage.
- - Added style parameter to wxBufferedDC to allow buffering just the client, or
- the whole virtual area.
- - Restored ability to set a custom splitter sash size with SetSashSize.
- - Fixed wxScrolledWindow sizer behaviour so that the virtual size
- isn't used to set the window size.
- - Added wxTE_BESTWRAP (based on patch by Mart Raudsepp).
- - wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED is now only sent once at the end of
- splitter dragging and not after each CHANGING event (Jacobo Vilella Vilahur).
- - Added wxImage::IsTransparent().
- Unix:
- - Fixed build on Linux/AMD64.
- wxMSW:
- - Added "orient" parameter to wxMDIParentFrame::Tile().
- - wxTextCtrl with wxTE_RICH2 style now uses RichEdit 4.1 if available.
- - fix handling Alt-key events in wxComboBox (reported by Joakim Roubert).
- - wxWindow::Refresh() refreshes the window children as well.
- - Improved static box and radio box refresh and background colour
- handling (Jamie Gadd).
- wxGTK:
- - Improved wxSystemSettings::GetMetric() to work better with X11 (Mart Raudsepp).
- - Corrected wxListBox selection handling.
- - Corrected default button size handling for different themes.
- - Corrected splitter sash size and look for different themes.
- - Fixed keyboard input for dead-keys.
- - Added support for more wrapping styles (Mart Raudsepp).
- - GTK2.4+ wxFileDialog reimplemented to support non-modal usage better,
- and fix all known bugs (Mart Raudsepp).
- wxMac:
- - Added wxFRAME_EX_METAL, wxDIALOG_EX_METAL for metallic-look windows.
- wxPalmOS:
- - Native wxRadioBox implementation.
- wxWinCE:
- - Added wxNB_FLAT for flat-look notebooks on Windows CE.
- - Titlebar OK button on PocketPC now sends command set by SetAffirmativeId.
- You can also override wxDialog::DoOK if you need more flexibility.
- - Dialog size now takes into account SIP or menubar.
- - Panels more naturally white on PocketPC.
- - wxDIALOG_EX_CONTEXTHELP ignored on WinCE since it interferes
- with correct titlebar style.
- - Frames have Ctrl+Q accelerator set automatically, as per the
- PocketPC guidelines
- - Documented issues in manual under wxWinCE topic.
- - Made (Un)RegisterHotKey WinCE-aware.
- - Sends wxEVT_HIBERNATE event.
- - Now fakes wxEVT_ACTIVATE_APP to be symmetrical with wxEVT_HIBERNATE.
- - Added wxTE_CAPITALIZE for CAPEDIT controls.
- - wxDialog::GetToolBar can be used if you need to add buttons
- to the dialog's toolbar.
- 2.5.4
- -----
- All:
- - wxEvent and derived classes don't have public members any more, you must
- use accessors methods now (Mart Raudsepp)
- - new classes for reading and writing ZIP files (M.J.Wetherell)
- - large files support for wxFFile (M.J.Wetherell)
- - classes in the manual are now cross-referenced (Zbigniew Zagórski)
- - Norwegian (Bokmål) translation added (Hans F. Nordhaug)
- - wxDynamicLibrary::HasSymbol() added
- - added wxEXEC_NODISABLE flag to be used with wxExecute(wxEXEC_SYNC)
- - added wxTextInputStream::operator>>(wchar_t) for compilers which support this
- - added wxURI, a class for dealing with Uniform Resource Identifiers
- - changed wxURL to inherit from wxURI and provide assignment and comparison
- - implemented wxConvUTF7 (modified patch from Fredrik Roubert)
- - added versions of MB2WC and WC2MB for wxMBConv that works for embedded null chars
- - Unicode support in wxODBC is now fully implemented
- - A new data type specific to wxWidgets called SQL_C_WXCHAR has been introduced.
- SQL_C_WXCHAR should be used rather than SQL_C_CHAR to ensure transparent
- behaviour between Unicode and non-unicode builds
- - BLOB example added to samples/db (thanks to Casey O'Donnell)
- - use wxStream::GetLength() instead of deprecated GetSize()
- - wxGetOsDescription() is now more precise (Olly Betts)
- - XRC supports system fonts and colours (Ray Gilbert)
- - Added flags argument to wxKill/wxProcess::Kill to kill child processes.
- - Added wxPrintFactory classes so that it is possible to add a new
- print system backend at run-time. This was required by the new GNOME
- printing stuff in the GTK port.
- - Deprecated print setup dialog.
- - Added support to the wxODBC classes for Firebird 1.5 database
- - The samples/db sample program now includes an optional example of using a BLOB
- datatype (if BLOB support is enabled and supported by the database)
- - added wxDynamicLibrary::ListLoaded()
- - wxGetPowerType() and wxGetBatteryState() addition
- - wxSystemSettings::GetSystem*() members deprecated and replaced with
- wxSystemSettings::Get*()
- - wxWindowBase::DoGetBestSize now includes the difference (if any) between
- the client size and total size of the window. Code that sets the
- client size using the best size, or that added extra space to sizers
- to compensate for this bug may need to be changed.
- - Changed calculation of scrolling area to not clip away some bits
- due to a rounding error.
- - Changed GetVirtualSize() to return client size by default until
- SetVirtualSize() gets called. From then on it will only return that.
- - Various changes to how wxListCtrl and wxTreeCtrl react to right
- mouse clicks and left mouse click for starting a drag operation.
- - "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not WXK_MENU
- - wxFFile::ReadAll() now takes an optional wxMBConv parameter
- - wxCommandProcessor::MarkAsSaved() and IsDirty() added (Angela Wrobel)
- - added wxStackWalker and related classes (Win32 and some Unix versions only)
- All (GUI):
- - added wxMediaCtrl
- - added wxDatePickerCtrl
- - wxHtmlWindow now supports background images given in <body> tag
- - wxSplitterWindow now supports gravity parameter (Zbigniew Zagórski)
- - recursive wxSizer::GetItem returns item of given window, sizer or nth index
- - wxLayoutConstraints now use best size, not current size, for AsIs() condition
- - wxSizer::Add/Insert etc. now returns pointer to wxSizerItem just added and this
- item remembers its wxRect area (Brian A. Vanderburg II)
- - wxBookCtrl renamed to wxBookCtrlBase, wxBookCtrl is reserved for most native
- book control (for now wxChoicebook for MSSmartphone, wxNotebook for others).
- Necessary event macros, types and styles mapped accordingly.
- - new wxBrush::IsHatch() checking for brush type replaces IS_HATCH macro
- - wxProgressDialog accepts smooth gauge again (wxPD_SMOOTH style)
- - wxProgressDialog new style: wxPD_CAN_SKIP which provides skipping some parts
- of the progress (with new "Skip" button in dialog)
- - wxGenericListCtrl::SetItemState(-1) now changes the state of all items as
- in wxMSW version (Gunnar Roth)
- - added wxImage::InitAlpha()
- Unix:
- - wxPuts() now correctly outputs trailing new line in Unicode build
- wxGTK:
- - Added printing support by way of using libgnomeprint. The library
- now checks at runtime, if the library is installed and will use it
- if it is. Otherwise, it will fall back to the old PostScript printing
- code, from which the Pango drawing code was removed.
- - Implemented/improved wxDC::DrawRotatedText()
- - fixed wxFileDialog::SetWildcard()
- - native file dialog is now used if available (Zbigniew Zagorski)
- - implemented wxTextCtrl::Freeze() and Thaw(). The GtkTextBuffer
- is not a valid one during frozen state. Get a pointer to it right
- after wxTextCtrl creation if you really need to. (Mart Raudsepp)
- - Changed calls to GTK+ 2.4.x functions so that the code checks at
- runtime, which library version is installed so that these functions
- are only called with GTK+ 2.4.x installed and should yield linker
- errors otherwise.
- - wxTextCtrl text insertion efficiency fixed. (Mart Raudsepp)
- - Added wxRawBitmap support
- - Corrected Input method handler code (for Chinese etc.) and its
- interaction with wxWidgets' events.
- - wxTE_AUTO_URL implemention for wxGTK2 multiline wxTextCtrls (Mart Raudsepp)
- wxMac:
- - Vertical sliders oriented consistent with MSW/GTK (0 at top) (Kevin Hock)
- - wxDynamicLibrary::GetDllExt() now returns ".bundle", not ".dylib"
- - wxDynamicLibrary::GetSymbol() now prepends underscore to the symbol name
- - wxJoystick now works on OSX
- wxMSW:
- - fixed enhanced metafiles loading from files (Andreas Goebel)
- - wxRadioButtons no longer have to be consecutive in a group
- - fixed spurious selection of combobox text during resize
- - pass correct tool id (and not always -1) to EVT_TOOL_RCLICKED() handler
- - added wxRegKey::Export(file)
- wxWinCE:
- - Added support for MS Handheld PC 2000. This was done before 2.5.4,
- but not mentioned anywhere.
- - Added (preliminary) support for sockets
- wxUniv:
- - wxBU_... button align flags support
- - vertical notebook orientation support
- - 3rd state support for checkboxes
- - wxLB_SORT and wxCB_SORT now cause case-insensitive sorting
- wxPalmOS:
- - William Osborne has won and new port was born
- (see: "wxPalmOS porting challenge")
- - polishing of the port (unnecessary 2.4 API compatibility, removed
- all wxMSW specific code which was base for the new port)
- - enumeration of available volumes
- - native wxPrefConfig around Preferences database
- - native wxProgressDialog implementation
- - native wxColourDialog implementation
- - native wxSystemSettings colours
- - native wxButton implementation
- - native wxCheckBox implementation
- - native wxSlider implementation
- - native wxToggleButton implementation
- - native wxRadioButton implementation
- - native wxStaticText implementation
- - native wxDatePickerCtrl implementation
- 2.5.3
- -----
- All:
- - support for large (>2 Gb) files in wxFile (Tim Kosse)
- - number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten)
- - fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem)
- - fixed bug in wxDateTime::Set(jdn) when DST was in effect
- - fixed fatal bug in wxString when wxUSE_STL==1 (Kurt Granroth)
- - support msgids in charsets other than C and languages other than English
- (based on patch by Stefan Kowski)
- - added wxMicroSleep() and wxMilliSleep() replacing deprecated wxUsleep()
- - basic UDP sockets support (Lenny Maiorani)
- - fixed wxDateTime::GetWeekDayName() for some dates (Daniel Kaps)
- - deprecated wxDateTime::SetToTheWeek() in favour of SetToWeekOfYear()
- - active mode support in wxFTP (Randall Fox)
- - sped up wxHTTP and wxFTP
- - added wxStringInput/OutputStreams
- - added wxFileConfig::Save(wxOutputStream)
- - fixed wxString's behaviour with inserted null characters
- All (GUI):
- - added wxWindow::MoveBefore/AfterInTabOrder() to change tab navigation order
- - added wxTaskBarIcon::CreatePopupMenu which is now the recommended way
- of showing a popup menu; calling wxTaskBarIcon::PopupMenu directly
- is discouraged
- - added ..._CMD_...(id) variants for wxGrid event table entry macros
- - added wxWindow::Navigate for programmatic navigation to the next control
- - wxTextCtrl::OnChar now inserts a tab character if wxTE_PROCESS_TAB is set
- - added wxKeyEvent::GetUnicodeKey()
- - added wxKeyEvent::CmdDown() and wxMouseEvent::CmdDown()
- - implemented wxListCtrl::FindItem() for non-MSW (Robin Stoll)
- - added status bar fields styles support (Tim Kosse)
- - added convenience functions wxSizer::AddSpacer() and
- wxSizer::AddStretchSpacer() (as well as Prepend and Insert variants)
- - added samples/splash
- - added support for stock buttons
- - added wxTopLevelWindow::RequestUserAttention()
- - support for comma in contrib gizmo wxLEDNumberCtrl (Grant Likely)
- - recursive wxSizer::Show for subsizer and return value if element was found
- - added wxChoicebook control
- - smoother time estimation updates in wxProgressDialog (Christian Sturmlechner)
- - the XRC contrib library was moved to the core
- - wx(Choice/List/Note)book controls send CHANG(ED/ING) events in SetSelection
- - it is now possible to create a wxFont with given size in pixels (d2walter)
- - added wxTopLevelWindow::IsActive()
- - wxSystemSettings::GetMetric now returns -1 for metrics that are not
- supported, instead of zero.
- - IMPLEMENT_DYNAMIC_CLASS2 macro compilation fixed (Serge Bakkal)
- Unix:
- - wxTaskBarIcon now supports freedesktop.org System Tray protocol
- - security fixes to wxSingleInstanceChecker
- - wx-config script was modified to allow choosing from multiple installed
- builds of wxWidgets and to return flags/libs for selected libraries only
- - wx-config has new --version-full option
- wxCocoa:
- - added Unicode compatibility layer for OSX 10.2
- - fixed so that wxCocoa runs in OSX 10.2
- - Tooltips now supported
- - wxSound now supported
- - wxDisplay now supported
- - Some stock cursors now supported
- wxMac:
- - fixed MLTE text control GetLineText and GetLineLength on OSX
- - added OSX wxTaskBarIcon implementation for the OSX Dock
- - added Unicode compatibility layer for OSX 10.2
- - wxGetKeyState now works with nearly all wx key codes
- wxGTK:
- - wxGTK uses GTK+ 2.x by default now, you have to pass --disable-gtk2 to
- configure if you want to use GTK+ 1.2
- - fixed many rendering artifacts and wrong colours with lots of GTK+ themes
- - implemented wxColourDialog as native dialog
- - implemented wxTextCtrl::HitTest() (GTK+ >= 2)
- - implemented wxTextCtrl::ScrollLines() and ScrollPages for GTK+ 2.x
- - wxTreeCtrl::GetCount() counts root as well now (compatible with MSW)
- - added support for wxCHK_3STATE style (GTK2 only)
- - implemented text underlining under GTK2
- - implemented wxFRAME_NO_TASKBAR style (GTK >= 2.2)
- - implemented support for wxSYS_DCLICK_?, wxSYS_DRAG_? and wxSYS_CURSOR_?
- in wxSystemSettings::GetMetric (Mart Raudsepp)
- - implemented wxTopLevel::IsMaximized() for GTK+2 and WMs that implement
- freedesktop.org's wm-spec (Mart Raudsepp)
- - wxEVT_CONTEXT_MENU is now generated for right mouse press, not release
- - implemented alpha channel support in wxBitmap
- - added native GTK+2 wxArtProvider implementation with ability to load
- icons from icon theme in addition to recognized stock art
- - fixed crash on 64 bit platforms (Paul Cornett)
- wxMotif:
- - added support for wxCHK_3STATE style (3 state checkbox)
- wxMSW:
- - fixed UNC paths handling in wxFileSystem (Daniel Nash)
- - set wxKeyEvent::m_uniChar in Unicode build
- - support for alpha channel in toolbar bitmaps (Jurgen Doornik)
- - wxFileDialog can now be moved and centered (Randall Fox)
- - restored (and improved) possibility to use wx with MFC broken in 2.5.2
- - fixed wxTextCtrl::SetMaxLength for rich edit controls
- - fixed flat style for toolbars under XP, Windows Classic style
- - fixed truncation of transferred data in wxConnection under unicode build
- - wxChoice and wxComboBox dropdown background can be set now too (Adrian Lupei)
- - fixed wxMaximizeEvent generation in wxFrame
- - don't send duplicate EVT_COMBOBOX events whenever selection changes any more
- - implemented support for selecting printer bin (Steven Van Ingelgem)
- - fixed wxListCtrl::SetSingleStyle() which was broken since a few releases
- - fixed print setup problem (always uses default printer) in Unicode build
- wxUniv/X11:
- - fixed fatal crash when opening a menu
- wxWinCE:
- - added native WinCE driven smartphone wxTextCtrl implementation using spinners
- - added native WinCE driven smartphone wxChoice implementation using spinners
- - added automated but customizable handling of native WinCE driven smartphone menus
- - fixed wxRadioBox and wxStaticBox
- wxHTML:
- - added support for nested index entries and index entries pointing to more
- than one page to wxHtmlHelpController
- 2.5.2
- -----
- All:
- - Hindi translation added (Dhananjaya Sharma)
- - Brazilian Portuguese translation added (E. A. Tacao)
- - wxDynamicCast() now uses static_cast<wxObject *> internally and so using it
- with anything not deriving from wxObject will fail at compile time (instead
- of run-time) now
- - when wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set,
- wxHashMap/wxHashSet are just typedefs for them. This makes impossible
- to forward declare these classes.
- All (GUI):
- - wxHtmlWindow now delays image scaling until rendering,
- resulting in much better display of scaled images
- - Added UpdateSize to wxSplitterWindow to allow layout while hidden
- - implemented Freeze/Thaw() for wxGenericTreeCtrl (Kevin Hock)
- - support for KOI8-U encoding added (Yuriy Tkachenko)
- - The old wxADJUST_MINSIZE behaviour is now the default behaviour for
- sizer items that are windows. This means that GetAdjustedBestSize
- will now be called by default to determine the minimum size that a
- window in a sizer should have. If you want to still use the initial
- size (and not the BestSize) then use the wxFIXED_MINSIZE flag. When
- windows are added to a sizer their initial size is made the window's
- min size using SetSizeHints, and calls to wxSizer::SetItemMinSize
- are also forwarded to SetSizeHints for window items.
- - added wxRegEx::GetMatchCount()
- - it is now possible to display images in wxHtmlListBox
- wxMSW:
- - wxWindow::Freeze()/Thaw() can now be nested
- - Added wxSP_NO_XP_THEME style to wxSplitterWindow to switch off
- XP theming (some applications look bad without 3D borders)
- - wxMenuBar::GetLabelTop() doesn't include '&'s in the label any more
- - wxRegConf couldn't read global settings without admin privileges and didn't
- even try to do it by default -- now it does
- - wxTaskBarIcon must be explicitly destroyed now, otherwise the application
- won't exit even though there are no top level windows
- - wxFileName::GetModificationTime() works with opened files too now
- - wxDC::GetClippingBox() now works even for clipping regions created by Windows
- - fixed wxFileDataObject in Unicode build (Alex D)
- - subindented paragraphs support (Tim Kosse)
- wxGTK:
- - added support for wxTE_RIGHT and wxTE_CENTRE styles under GTK2 (Mart Raudsepp)
- wxMotif:
- - removed wxMenuItem::DeleteSubMenu()
- - wxButtons use Motif default size, which is smaller than it used to be
- and closer to wxMSW/wxGTK look. This can be disabled by setting
- motif.largebuttons system option to 1 (see wxSystemOptions).
- wxUniv/X11:
- - implemented DrawRoundedRectangle() (clawghoul)
- wxHTML:
- - improved tables and lists layout algorithms (Tim Kosse)
- - <div> handling fix (Xavier Nodet)
- Unix:
- - fixed priorities of mailcap entries (David Hart)
- - added "wx-config --libs=std,<extra>" syntax (i.e. support for "std")
- wxODBC:
- - Full Unicode support is now available
- - BLOB support is working
- 2.5.1
- -----
- All:
- - event table macros now do some minimal type safety checks (Michael Sögtrop)
- - added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
- - wxDateTime::ParseDateTime() implemented (Linus McCabe)
- - wxHTTP::GetResponse() added (David Nock)
- - added conversions to/from UTF 16/32 LE/BE (Andreas Pflug)
- - added wxTextInputStream::ReadChar() (M.J.Wetherell)
- - added translation to Afrikaans (Petri Jooste)
- - Spanish translations updated (Javier San Jose)
- - added gettext plural forms support to wxLocale (Michael N. Filippov)
- - wxFileName::Normalize(wxPATH_NORM_ALL) doesn't lower filename case any more
- - wxFileName::Normalize(wxPATH_NORM_ENV_VARS) now works
- - check if file exists in wxFileConfig::DeleteFile() (Christian Sturmlechner)
- - when wxUSE_STL == 1 wxHashTable will not be implemented using wxHashMap
- (as in 2.5.0).
- - added some extra convenience functions to wxRect such as
- GetBottomRight (Hajo Kirchhoff)
- - changed built-in regex library to a Unicode-compatible version based
- on TCL sources (Ryan Norton, M. J. Wetherell)
- - added extra convenience functions to wxPoint for adding a
- wxSize (Wlodzimierz Skiba)
- - intermediate wxIPaddress class added to prepare for
- wxIPV6address (Ray Gilbert)
- - added overloaded constructors and Create() methods taking wxArrayString
- for wxChoice, wxComboBox, wxListBox, wxRadioBox, wxCheckListBox,
- wxSingleChoiceDialog, wxMultipleChoiceDialog
- - renamed wxWave class to wxSound
- All (GUI):
- - added 3-state checkboxes for MSW/Mac (Dimitri Schoolwerth)
- - added some support for C++ exceptions in the library (do read the manual!)
- - added wxListCtrl::GetViewRect()
- - added wxTextCtrl::MarkDirty()
- - wxToolBar::ToggleTool() now works for radio buttons (Dag Ågren)
- - wxListCtrl now sends an END_LABEL event if editing was cancelled, too
- - bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett)
- - status text is now restored after wxMenu help is shown in it
- - bug in wxWindow::RemoveEventHandler() fixed (Yingjun Zhang)
- - make it possible to use wxRTTI macros with namespaces (Benjamin I. Williams)
- - wxColourDatabase API now uses objects instead of pointers
- - added resolution option to JPEG image handler (Jeff Burton)
- - added wxCalendarEvent::SetDate, wxCalendarEvent::SetWeekDay
- - wxGenericDirCtrl now accepts multiple wildcards
- - added focus event forwarding to wxGrid (Peter Laufenberg)
- - fixed scrollbar problem in wxGrid (not showing scrollbars
- when sizing smaller) (Shane Harper)
- - dbbrowse demo fixed for Unicode (Wlodzimierz Skiba)
- - added wxStatusBar support to XRC (Brian Ravnsgaard Riis)
- - wxMenu::Append and etc. return a pointer to the wxMenuItem that was
- added or inserted, or NULL on failure.
- - using a -1 (wxID_ANY) for menu or toolbar item IDs will now generate new id
- - added option to generate C++ headers to wxrc utility (Eduardo Marques)
- - added wxDC::DrawPolyPolygon() for MSW/PS (Carl-Friedrich Braun)
- - wxBufferedDC now allows to preserve the background and is documented
- - added wxDC::GetPartialTextExtents
- wxMSW:
- - wxWidgets now builds under Win64
- - fixed DDE memory leaks
- - fixed wxTE_*WRAP styles handling
- - wxTextCtrl::GetValue() works with text in non default encoding
- - changed wxCrashReport to generate minidumps instead of text files
- - wxRadioButtons are now checked when they get focus (standard behaviour)
- - several fixes to owner drawn menu items (Christian Sturmlechner)
- - wxGauge now supports full 32 bit range (Miroslav Rajcic)
- - make it possible to give focus to the notebook tabs (Hajo Kirchhoff)
- - MDI child frames are not always resizable any more (Andrei Fortuna)
- - fixed enumerating of entries/groups under '/' in wxRegConfig
- - added wxSYS_ICONTITLE_FONT (Andreas Pflug)
- - added wxPATH_NORM_SHORTCUT to wxFileName
- - wxComboBox::GetValue within a wxEVT_COMMAND_TEXT_UPDATED event
- should now pass the correct value even if the handler for
- wxEVT_COMMAND_COMBOBOX_SELECTED changed the selection
- - wxFileDialog now returns correct filter index for multiple-file dialogs
- - added wxTextCtrl::HitTest()
- - experimental wxURL implementation using WinInet functions (Hajo Kirchhoff)
- - fixed several bugs in wxNotebook with wxNB_MULTILINE style
- - accelerators are now initially hidden if appropriate (Peter Nielsen)
- - background colour of a wxComboBox may now be set
- - fixed wxListCtrl::GetItemText/BackgroundColour()
- - Esc can now be used to close menus in the dialogs (Hartmut Honisch)
- - Added msw.remap system option so colourful toolbar buttons
- aren't mangled if you set it to 0. The default is 1
- - Toolbar buttons are now centred if the bitmap size is smaller
- than the specified default size
- - Fixed a bug in wxSpinCtrl::DoGetBestSize that would make wxSpinCtrl too tall
- wxGTK:
- - fixes to wxTextCtrl scrolling under GTK2 (Nerijus Baliunas)
- - fix for crash when using user-dashed lines (Chris Borgolte)
- - fixed wxChoice::Delete() in presence of client data
- - allow calling wxWindow::SetFont if window not yet created
- - use same average character width as other ports when calculating dialog units
- - fixed mouse wheel handling under GTK2 (Hugh Fisher)
- - wxNotebook::HitTest() implemented (Daniel Lundqvist)
- - memory leaks fixes in wxFileDialog (John Labenski)
- - don't drop click events from triple clicks (Frode Solheim)
- wxMac:
- - use same average character width as other ports when calculating dialog units
- - implemented handling of mouse wheel
- - fix for long file names (longer than 32 characters) in file dialogs
- - use Unix sockets for Mach-o builds
- wxMotif:
- - look for Motif 2.1 headers before Motif 1.2 ones in configure
- wxHTML:
- - wxHtmlHelpController now supports compressed MS HTML Help files (*.chm)
- on Unix (Markus Sinner)
- Unix:
- - added XFree86 resolution changing using xf86vidmode extensions (Ryan Norton)
- - implemented asynchronous playback in wxSound and added SDL backend in
- addition to existing OSS one
- - it is now possible to send PostScript to any output stream (Zoltan Kovacs)
- 2.5.0
- -----
- All:
- - It is now possible to build several smaller libraries instead of single
- huge wxWidgets library; wxBase is now dependency of GUI ports rather then
- separately compiled library
- - added wxDateSpan::operator==() and !=() (Lukasz Michalski)
- - added wxFileName::GetForbiddenChars() (Dimitri Schoolwerth)
- - use true/false throughout the library instead of TRUE/FALSE
- - wxStopWatch::Start() resumes the stop watch if paused, as per the docs
- - added wxDirTraverser::OnOpenError() to customize the error handling
- - added wxArray::SetCount()
- - wxFile, wxFFile, wxTextFile and wxTempFile now all use UTF-8 encoding
- by default in Unicode mode
- - bug in wxDateTime with timezones on systems with tm_gmtoff in struct tm fixed
- - added wx/math.h (John Labenski)
- - added Catalan translations (Pau Bosch i Crespo)
- - added Ukrainian translations (Eugene Manko)
- - fixed bug with deleting entries at root level in wxFileConfig
- - chkconf.h now includes platform-specific versions (for MSW
- and Mac) which contain some tests that were in setup.h
- - added event sink argument to wxEvtHandler::Connect()
- - added support for POST method and alt ports to wxHTTP (Roger Chickering)
- - added wxSocket::IPAddress() (Chris Mellon)
- - wxDataStreams can read/write many elements at once (Mickael Gilabert)
- - added wxRecursionGuard class
- - added wxThreadHelper class (Daniel Howard)
- - Added STL support (--enable-stl for configure, wxUSE_STL in setup.h).
- When enabled, wxString will derive from std::string, wxArray from,
- std::vector, wxList from std::list. In addition wxHashTable will be
- implemented in terms of wxHashMap.
- - Added wxList::compatibility_iterator. Can be used like wxNode* (except
- it can't be delete()d). It permits writing code which will work
- both with wxUSE_STL==1 and wxUSE_STL==0.
- wxBase:
- - added Watcom makefiles
- - fixed bug with searching in sorted arrays (Jürgen Palm)
- All GUI ports:
- - added wxVScrolledWindow, wxVListBox and wxHtmlLbox classes
- - added wxListbook control
- - added alpha channel support to wxImage
- - added wxRenderer class allowing to customize the drawing of generic controls
- - added wxCLOSE_BOX style for dialogs and frames
- - added wxSplitterWindow and wxWizard handlers to XRC
- - wxWizard is now sizer-friendly and may be made resizable (Robert Vazan)
- - added proportion to wxFlexGridSizer::AddGrowableRow/Col (Maxim Babitski)
- - added wxFlexGridSizer::SetFlexibleDirection() (Szczepan Holyszewski)
- - implemented GetEditControl for wxGenericTreeCtrl (Peter Stieber)
- - improved contrib/utils/convertrc parsing (David J. Cooke)
- - fixed handling of URLs and filenames in wxFileSystem
- - implemented alignment for wxGrid bool editor and renderer
- - support wxListCtrl columns alignment for all platforms and not just MSW
- - added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
- - added wxTB_HORZ_TEXT style for MSW and GTK (Axel Schlueter)
- - fixed user dash handling for MSW and GTK (Ken Edwards)
- - WXR resources can now be used in Unicode builds
- - it is now possible to use several wxFileHistory objects in the same menu
- by giving them different base IDs (Dimitri Schoolwerth)
- - Added wxTLW::SetShape with implementations for wxMSW and wxGTK (so far)
- - FL: removed const from EnableTool parameters
- - FL: signal child window when toolbar is closed
- - In various places, changed tests for pathsep on last char of string to call
- wxEndsWithPathSeparator(s)
- - Added to defs.h a couple of macros (wxPtrToULong & wxULongToPtr)
- - Minor improvements to document/view framework, including
- delayed deletion of a document (until after the user has chosen
- a new document), and more intelligent addition of filenames to
- the file history, including not adding filenames if not using the
- default extension for the template
- - sped up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
- - Added BLOB support to wxDB (John Skiff)
- - wxWizard now validates when pressing Back or Next
- - Implemented wxNotebook::DoGetBestSize so Fit now works
- - Added FindItemByPosition to wxMenu
- - wxTimer now derives from wxEvtHandler and is its own owner object by default
- - Extended wxTextAttr and added wxTextCtrl::GetStyle stub
- to allow better rich text support.
- - implemented wxFlexGridSizer::Show() (Wade Brainerd)
- - Added m_ prefix to wxColourData and wxFontData members
- - Added wxHtmlPrintout::AddFilter so HTML printing can be subject to
- custom filters as well as HTML viewing.
- - Moved wxApp::SendIdleEvents and wxApp::ProcessIdle into common code.
- - wxWindow::OnInternalIdle is now used in all ports, and ensures that
- user OnIdle events do not interfere with crucial internal processing.
- - wxWindow::UpdateWindowUI is now a documented function that
- sends wxUpdateUIEvents, and can be overridden. It has a helper function
- DoUpdateWindowUI for taking appropriate wxUpdateUIEvent action.
- - Added functions to wxUpdateUIEvent: Set/GetMode, Set/GetUpdateInterval,
- CanUpdate, to assist with optimising update event frequency.
- - Added functions to wxIdleEvent: Set/GetMode, CanSend, to
- determine whether a window should receive idle events.
- - Added wxWS_EX_PROCESS_IDLE, wxWS_EX_PROCESS_UI_UPDATES window
- styles for use with conservative idle and update event modes.
- - send menu update events only when a menu is about to be used (MSW/GTK)
- - improved event processing performance (Hans Van Leemputten)
- - added wxMirrorDC class
- - printing improvements: GetPageInfo() gets called after the DC has
- been set and after OnPreparePrinting() has been called so it can
- report the number of pages accurately; doesn't try to set
- number of pages in print dialog, in common with other Windows apps;
- wxHTML easy printing's preview shows number of pages
- correctly; preview scrollbars are set correctly; keyboard navigation
- improved
- Unix:
- - fixed compilation on systems with zlib installed but < 1.1.3 version
- - fixed compilation on Solaris 7 with large files support enabled
- - added wxTaskBarIcon implementation for X11
- - added support for GNU/Hurd in configure
- - wxLocale::Init now tries to set .utf8 locale in Unicode mode (Andreas Pflug)
- Generic controls:
- - implemented wxListCtrl::Refresh() (Norbert Berzen)
- - support adding/removing columns dynamically (Donald C. Taylor)
- - wxToolBarSimple, property list classes, wxTreeLayout moved
- to contrib/src/deprecated
- wxGTK:
- - added support for label mnemonics to GTK+2 build (Michael Moss)
- - added native wxMessageDialog implementation for GTK+2 build
- - fixed wxMenu::Remove (John Skiff and Benjamin Williams)
- - made wxTextCtrl::EmulateKeyPress() work for Delete and Backspace
- - fixed wxTopLevelWindow::ShowFullScreen to work with kwin, IceWM and
- window managers that support _NET_WM_STATE_FULLSCREEN
- - added wxEVT_MENU_OPEN event generation
- - fixed bug in generic file selector causing incomplete file extensions to
- be appended to filenames with no extension
- - added wxTextCtrl::SetSelection implementation for GTK+ 2
- - fixed wxTextCtrl::IsEditable() for GTK+ 2
- - fixed wxStaticText alignment for GTK+ 2 (Kevin Hock)
- - don't consume 100% CPU when showing a popup menu
- wxMac:
- - generate wxEVT_SCROLL_THUMBRELEASE and wxEVT_SCROLLWIN_THUMBRELEASE events
- - generate wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE events
- wxMSW:
- - possibility to use DIBs for wxBitmap implementation (Derry Bryson)
- - added wxCrashReport
- - wxStaticBitmap doesn't stretch its bitmap any longer (like other ports)
- - support for accelerator keys in the owner drawn menus (Derry Bryson)
- - wxCaret::SetSize() doesn't hide the caret any longer as it used to
- - wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
- - fixed bugs in wxThread::Wait() and IsAlive()
- - fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE
- - fixes for compilation with OpenWatcom and DigitalMars compilers
- - fixed wxStaticText best size calculation (was wrong by '&' width)
- - fixed calling wxFrame::Maximize(FALSE) before the window is shown
- - added wxNotebook::HitTest() (Otto Wyss)
- - libraries built with makefile.g95 have a _min or _cyg suffix (MinGW/Cygwin)
- - when using DLL, wxLocalFSHandler was not being exported
- - fixed problem with wxEvtHandler object not removed from wxPendingEvents
- - Windows XP manifest is now included in wx.rc; it is no longer necessary
- to ship .exe.manifest file with applications to support XP themes
- - wxLocale::Init no longer reports error if trying to set Unicode-only locale
- or if user's default locale is Unicode-only
- - improved border handling under Windows XP
- - partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
- enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
- wxWidgets to use the theme tab colour for control backgrounds.
- - disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles under Windows XP
- - fixed release mode build with VC 7.x (Martin Ecker)
- - added support for wxALWAYS_SHOW_SB style
- - you don't need to add opengl32.lib when using VC++ now (David Falkinder)
- wxMotif:
- - made wxFileDialog behaviour with complex wildcards more sensible (it still
- does not support all the features other ports do); refer to wxFileDialog
- documentation for a detailed explanation
- - implemented wxWakeUpIdle
- - for Motif 2.0, used the native combobox widget instead of the GPL'd
- xmcombo; xmcombo is still used for Motif 1.x and Lesstif when compiled
- with Motif 1.x compatibility
- - implemented wxToggleButton
- - wxRadioBox and wxStaticBox now use the default shadow (border) style
- instead of a sunken border
- - implemented wxBitmapDataObject
- - finished wxClipboard implementation
- wxUniv:
- - controls in toolbars now supported
- wxHTML:
- - added text selection to wxHtmlWindow
- - added SetFonts to HTML printing classes (Adrian Philip Look)
- - it is now possible to force page break when printing by inserting
- <div style="page-break-before:always"> into the markup (Greg Chicares)
- - wxHtmlWindow now uses double buffering to prevent flicker
- OLD CHANGES
- ===========
- INCOMPATIBLE CHANGES SINCE 2.2.x
- ================================
- Please take a few minutes to read the following list, especially
- paying attention to the most important changes which are marked
- with '!' in the first column.
- Also please note that you should ensure that WXWIN_COMPATIBILITY_2_2
- is defined to 1 if you wish to retain maximal compatibility with 2.2
- series -- however you are also strongly encouraged to try to compile
- your code without this define as it won't be default any longer in
- 2.6 release.
- NB: if you want to build your program with different major versions
- of wxWidgets you will probably find the wxCHECK_VERSION() macro
- (see the documentation) useful.
- wxBase:
- ! wxArray<T>::Remove(size_t) has been removed to fix compilation problems
- under 64 bit architectures, please replace it with RemoveAt() in your
- code.
- ! wxArray<T> macros have been changed to fix runtime problems under 64 bit
- architectures and as a side effect of this WX_DEFINE_ARRAY() can only be
- used now for the pointer types, WX_DEFINE_ARRAY_INT should be used for the
- arrays containing non-pointers.
- - wxObject::CopyObject() and Clone() methods were removed because they
- simply don't make sense for all objects
- - wxEvent now has a pure virtual Clone() method which must be implemented
- by all derived classes, if you have user-defined event classes please
- add "wxEvent *Clone() const { return new MyEvent(*this); }" line to them
- - small change to wxStopWatch::Pause() semantics, please see the documentation
- - unlikely but possible incompatibility: the definition of TRUE has changed
- from "1" to "(bool)1" (and the same thing for FALSE), so the code which
- could be erroneously compiled previously such as doing "return FALSE" from
- a function returning a pointer would stop compiling now (but this change
- is not supposed to have any effects on valid code)
- - another minor change: wxApp::OnAssert() has a new "cond" argument, you
- must modify YourApp::OnAssert() signature if you were using it to override
- the default assert handling.
- All (GUI):
- ! the event type constants are not constants any more but are dynamically
- allocated during run-time which means that they can't be used as case labels
- in the switch()es, you must rewrite them to use if()s instead
- You may also define WXWIN_COMPATIBILITY_EVENT_TYPES to get the old behaviour
- but this is strongly discouraged, please consider changing your code
- instead!
- ! wxDialog does not derive from wxPanel any longer - if you were using it in
- your code, please update it. The quick fix for the most cases is to replace
- the occurrences of wxPanel with wxWindow.
- ! if you handle (and don't skip) EVT_KEY_DOWN, the EVT_CHAR event is not
- generated at all, so you must call event.Skip() in your OnKeyDown() if
- you want to get OnChar() as well
- - in general, the key events sent for the various non ASCII key combinations
- have been changed to make them consistent over all supported platforms,
- please see the wxKeyEvent documentation for details
- - wxYES_NO is now wxYES | wxNO and the manifest values of both wxYES and wxNO
- have changed (to fix some unfortunate clashes), please check your code to
- ensure that no tests for wxYES or wxNO are broken: for example, the following
- will *NOT* work any longer:
- if ( flags & wxYES_NO )
- ... do something ...
- if ( flags & wxYES )
- ... do something else ...
- - static wxWizard::Create() doesn't exist any more, the wizards are created
- in the same way as all the other wxWindow objects, i.e. by directly using
- the ctor
- - wxGLCanvas now derives directly from wxWindow, not wxScrolledWindow
- - wxGridCellAttrProvider class API changed, you will need to update your code
- if you derived any classes from it
- - wxImage::ComputeHistogram()'s signature changed to
- unsigned long ComputeHistogram(wxImageHistogram&) const
- - wxEvtHandler cannot be copied/assigned any longer - this never worked but
- now it results in compile-time error instead of run-time crashes
- - WXK_NUMLOCK and WXK_SCROLL keys no longer result in EVT_CHAR() events,
- they only generate EVT_KEY_DOWN/UP() ones
- - the dialogs use wxApp::GetTopWindow() as the parent implicitly if the
- parent specified is NULL, use wxDIALOG_NO_PARENT style to prevent this
- from happening
- - several obsolete synonyms are only retained in WXWIN_COMPATIBILITY_2_2 mode:
- for example, use wxScrolledWindow::GetViewStart() now instead of ViewStart()
- and GetCount() instead of Number() in many classes
- - wxCmdLineParser does not use wxLog to output messages anymore.
- to obtain the previous behaviour, add
- wxMessageOutput::Set(new wxMessageOutputLog); to your program
- (you will need to #include <wx/msgout.h>)
- wxMSW:
- ! build system changed: setup.h is not a static file in include/wx any more
- but is created as part of the build process under lib/<toolkit>/wx
- where <toolkit> is of the form (msw|univ)[dll][u][d]. You'll need to update
- the include path in your make/project files appropriately. Furthermore,
- xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder
- class. You'll need to remove all references to xpm.lib from your
- make/project files. Finally, the library names have changed as well and now
- use the following consistent naming convention: wxmsw[ver][u][d].(lib|dll)
- where 'u' appears for Unicode version, 'd' -- for the debug one and version
- is only present for the DLLs builds.
- - child frames appear in the taskbar by default now, use wxFRAME_NO_TASKBAR
- style to avoid it
- - all overloads of wxDC::SetClippingRegion() combine the given region with the
- previously selected one instead of replacing it
- - wxGetHomeDir() uses HOME environment variable and if it is set will not
- return the programs directory any longer but its value (this function has
- never been meant to return the programs directory anyhow)
- - wxHTML apps don't need to include wx/html/msw/wxhtml.rc in resources file
- anymore. The file was removed from wxMSW
- Unix ports:
- ! You should use `wx-config --cxxflags` in your makefiles instead of
- `wx-config --cflags` for compiling C++ files. CXXFLAGS contains CFLAGS
- and the compiler flags for C++ files only, CFLAGS should still be used
- to compile pure C files.
- wxThread and related classes:
- - The thread-related classes have been heavily changed since 2.2.x versions
- as the old code had many serious problems. This could have resulted in
- semantical changes other than those mentioned here, please review use of
- wxThread, wxMutex and wxCondition classes in your code.
- ! wxCondition now *must* be used with a mutex, please read the (updated) class
- documentation for details and revise your code accordingly: this change was
- unfortunately needed as it was impossible to ensure the correct behaviour
- (i.e. absence of race conditions) using the old API.
- - wxMutex is not recursive any more in POSIX implementation (it hasn't been
- recursive in 2.2.x but was in 2.3.1 and 2.3.2), please refer to the class
- documentation for the discussion of the recursive mutexes.
- - wxMutex::IsLocked() doesn't exist any more and should have never existed:
- this is was unique example of a thread-unsafe-by-design method.
- OTHER CHANGES
- =============
- 2.4.0
- -----
- wxMSW:
- - fixed loss of client data in wxChoice::SetString()
- 2.3.4
- -----
- All:
- - added (partial) Indonesian translations (Bambang Purnomosidi D. P.)
- - added wxSizer::Show()/Hide() (Carl Godkin)
- - fixed bugs in wxDateTime::SetToWeekDay()/GetWeek()
- Unix (Base/GUI):
- - minor OpenBSD compilation/linking fixes, now builds OOB under OpenBSD 3.1
- - don't include -I/usr/include nor -I/usr/local/include in wx-config output
- - shared library symbols are now versioned on platforms that support it (Linux)
- wxGTK:
- - Further work for GTK 2.0 and Unicode support.
- - Addition of native frame site grip.
- wxX11:
- - Unicode support through Pango library.
- wxMSW:
- - fixed crashes in wxListCtrl under XP
- - added context menu for rich edit wxTextCtrl
- wxHTML:
- - fixed wxHTML to work in Unicode build
- 2.3.3
- -----
- wxBase:
- - building wxBase with Borland C++ is now supported (Michael Fieldings)
- - wxSemaphore class added, many fixed to wxCondition and wxThread (K.S. Sreeram)
- - fixes to the command line parsing error and usage messages
- - modified wxFileName::CreateTempFileName() to open the file atomically
- (if possible) and, especially, not to leak the file descriptors under Unix
- - memory leak in wxHTTP fixed (Dimitri Schoolwerth)
- - fixes to AM_PATH_WXCONFIG autoconf macro
- - added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
- after (non standard) STL hash_map
- - wxLocale now works in Unicode mode
- - wxLocale can now load message catalogs in arbitrary encoding
- - added wxShutdown() function (Marco Cavallini)
- - added wxEXPLICIT macro
- - IPC classes improved and memory leaks fixed (Michael Fielding).
- Global buffer removed, duplication in docs removed
- - debug new/free implementations made thread-safe
- Unix (Base/GUI):
- - wxWidgets may be built using BSD and Solaris (and possibly other) make
- programs and not only GNU make
- - wxTCP-based IPC classes now support communicating over Unix domain sockets
- - wxWidgets may be built as a dynamic shared library under Darwin / Mac OS X
- lazy linking issues have been solved by linking a single module (.o) into
- the shared library (two step link using distrib/mac/shared-ld-sh)
- - fixed thread priority setting under Linux
- All (GUI):
- - it is now possible to set the icons of different sizes for frames (e.g. a
- small and big ones) using the new wxIconBundle class
- - implemented radio menu items and radio toolbar buttons
- - added possibility to show text in the toolbar buttons
- - added wxArtProvider class that can be used to customize the look of standard
- wxWidgets dialogs
- - significantly improved native font support
- - wxImage::ComputeHistogram() now uses wxImageHistogram instead of type-unsafe
- wxHashTable
- - added IFF image handler
- - fixed using custom renderers in wxGrid which was broken in 2.3.2
- - support for multiple images in one file added to wxImage
- (TIFF, GIF and ICO formats)
- - support for CUR and ANI files in wxImage added (Chris Elliott)
- - wxTextCtrl::GetRange() added
- - added wxGetFontFromUser() convenience function
- - added EVT_MENU_OPEN and EVT_MENU_CLOSE events
- - added Hungarian translations (Janos Vegh)
- - added wxImage::SaveFile(filename) method (Chris Elliott)
- - added wxImage::FloodFill and implemented wxWindowDC::DoFloodFill method
- for GTK+, Mac, MGL, X11, Motif ports (Chris Elliott)
- - added (platform-dependent) scan code to wxKeyEvent (Bryce Denney)
- - added wxTextCtrl::EmulateKeyPress()
- - Added wxMouseCaptureChangedEvent
- - Added custom character filtering to wxTextValidator
- - wxTreeCtrl now supports incremental keyboard search
- - wxMessageOutput class added
- - wxHelpProvider::RemoveHelp added and called from ~wxWindowBase
- so that erroneous help strings are no longer found as the hash
- table fills up
- - updated libpng from 1.0.3 to 1.2.4
- - Added wxView::OnClosingDocument so the application can do cleanup.
- - generic wxListCtrl renamed to wxGenericListCtrl, wxImageList
- renamed to wxGenericImageList, so they can be used on wxMSW
- (Rene Rivera).
- - Added wxTreeEvent::IsEditCancelled so the application can tell
- whether a label edit was cancelled.
- - added static wxFontMapper::Get() accessor
- wxMSW:
- - small appearance fixes for native look under Windows XP
- - fixed the bug related to the redrawing on resize introduced in 2.3.2
- - fixed multiple bugs in wxExecute() with IO redirection
- - refresh the buttons properly when the window is resized (Hans Van Leemputten)
- - huge (40*) speed up in wxMask::Create()
- - changing wxWidgets styles also changes the underlying Windows window style
- - wxTreeCtrl supports wxTR_HIDE_ROOT style (George Policello)
- - fixed flicker in wxTreeCtrl::SetItemXXX()
- - fixed redraw problems in dynamically resized wxStaticText
- - improvements to wxWidgets applications behaviour when the system colours
- are changed
- - choose implicit parent for the dialog boxes better
- - fixed wxProgressDialog for ranges > 65535
- - wxSpinButton and wxSpinCtrl now support full 32 bit range (if the version
- of comctl32.dll installed on the system supports it)
- - wxFontEnumerator now returns all fonts, not only TrueType ones
- - bugs in handling wxFrame styles (border/caption related) fixed
- - showing a dialog from EVT_RADIOBUTTON handler doesn't lead to an infinite
- recursion any more
- - wxTextCtrl with wxTE_RICH flag scrolls to the end when text is appended to it
- - the separators are not seen behind the controls added to the toolbar any more
- - wxLB_SORT style can be used with wxCheckListBox
- - wxWindowDC and wxClientDC::GetSize() works correctly now
- - Added wxTB_NODIVIDER and wxTB_NOALIGN so native toolbar can be used in FL
- - Multiline labels in buttons are now supported (simply use "\n" in the label)
- - Implemented wxMouseCaptureChangedEvent and made wxGenericDragImage check it
- has the capture before release it.
- - fixed bugs in multiple selection wxCheckListBox
- - default button handling is now closer to expected
- - setting tooltips for wxSlider now works
- - disabling a parent window also disables all of its children (as in wxGTK)
- - multiple events avoided in wxComboBox
- - tooltip asserts avoided for read-only wxComboBox
- - fixed a race condition during a thread exit and a join
- - fixed a condition where a thread can hang during message/event processing
- - increased space between wxRadioBox label and first radio button
- - don't fail to register remaining window classes if one fails to register
- - wxFontDialog effects only turned on if a valid colour was
- provided in wxFontData
- - Added wxTE_LEFT, wxTE_CENTRE and wxTE_RIGHT flags for text control alignment.
- - Bitmap printing uses 24 bits now, not 8.
- wxGTK:
- - wxDirDialog now presents the file system in standard Unix way
- - wxButton now honours wxBU_EXACTFIT
- - wxStaticBox now honours wxALIGN_XXX styles
- - added support for non alphanumeric simple character accelerators ('-', '=')
- - new behaviour for wxWindow::Refresh() as it now produces a delayed refresh.
- Call the new wxWindow::Update() to force an immediate update
- - support for more SGI hardware (12-bit mode among others)
- - fixed wxDC::Blit() to honour source DC's logical coordinates
- - implemented wxIdleEvent::RequestMore() for simple background tasks
- - implemented wxChoice::Delete()
- - fixed bad memory leak in wxFileDialog (Chris Elliott)
- - made internal GC pool dynamically growable
- - added GTK+ 2 and Unicode support
- wxMotif:
- - improved colour settings return values (Ian Brown)
- - improved border style handling for wxStaticText (Ian Brown)
- - improved toolbar control alignment
- - implemented wxSpinButton
- - implemented wxCheckListBox
- - fixed wxSpinCtrl and wxStaticLine when used with sizers
- - wxStaticBitmap now shows transparent icons correctly
- wxX11:
- - added generic MDI implementation (Hans Van Leemputten)
- - first cut at wxSocket support (not yet working)
- wxMac:
- - Many improvements
- wxOS2:
- - First alpha-quality release
- wxHTML:
- - fixed wxHtmlHelpController's cache files handling on big endian machines
- - added blocking and redirecting capabilities to wxHtmlWindow via
- wxHtmlWindow::OnOpeningURL()
- - fixed alignment handling in tables
- - fixed <font face="..."> handling to be case insensitive
- 2.3.2
- -----
- New port: wxUniv for Win32/GTK+ is now included in the distribution.
- wxBase:
- - wxRegEx class added
- - wxGetDiskSpace() function added (Jonothan Farr, Markus Fieber)
- - wxTextBuffer and wxTextFile(wxStream) added (Morten Hanssen)
- - more fixes to wxMBConv classes. Conversion to and from wchar_t now works with
- glibc 2.2 as well as with glibc 2.1. Unix version now checks for iconv()'s
- capabilities at runtime instead of in the configure script.
- All (GUI):
- - support for virtual list control added
- - column images in report mode of the list control
- - wxFindReplaceDialog added (based on work of Markus Greither)
- - wxTextCtrl::SetMaxLength() added (wxMSW/wxGTK)
- - polygon support in wxRegion (Klaas Holwerda)
- - wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
- - fixed bug with using wxExecute() to capture huge amounts of output
- - new wxCalendarCtrl styles added (Søren Erland Vestø)
- - wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
- - wxDirSelector() added (Paul A. Thiessen)
- - wxGrid cell editing veto support (Roger Gammans)
- - wxListCtrl ITEM_FOCUSED event added
- - support for ICO files in wxImage added (Chris Elliott)
- - improvements to wxDragImage (Chuck Messenger)
- wxMSW:
- - support for the DBCS fonts (CP 932, 936, 949, 950) (Nathan Cook)
- - new library naming convention under VC++ -- please change your application
- project files
- wxGTK:
- - fixed popup menu positioning bug
- - fixed the edit function for wxListCtrl (Chuck Messenger)
- - fixed the key-hitting events for wxListCtrl and wxTreeCtrl, so they
- correctly return the key which was pressed (Chuck Messenger)
- wxMac:
- - support for configuration and build under Mac OS X using the Apple Developer
- Tools
- wxHTML:
- - new HTML parser with correct parsing of character entities and fixes
- to tags parsing
- - added support for animated GIFs
- 2.3.1
- -----
- wxBase:
- - Fixes for gcc 3.0
- - Fixed new charset detection code
- - ODBC Informix fixes (submitted by Roger Gammans)
- - Added ODBC date support to wxVariant
- - Added wxDir::Traverse
- - Added wxSingleInstanceChecker class
- - Removed redundant wxDebugContext functions using C++ streams,
- so now standard stream usage should be unnecessary
- All (GUI):
- - Added wxDbGrid class for displaying ODBC tables
- - Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the
- user code can get access to the edit control when it is created, (to
- push on a custom event handler for example)
- - Added wxTextAttr class and SetStyle, SetDefaultStyle and
- GetDefaultStyle methods to wxTextCtrl
- - Added wxSingleInstanceChecker
- - Improvements to Tex2RTF
- - Added Paul and Roger Gammans' grid controls
- - Bug in wxDocument::Save logic corrected, whereby Save didn't save when not
- first-time saved
- - Fixed memory leak in textcmn.cpp
- - Various wxXML enhancements
- - Removed wxCLIP_CHILDREN style from wxSplitterWindow
- - Fixed memory leak in DoPrint, htmprint.cpp
- - Fixed calendar sample bug with using wxCommandEvent::GetInt()
- instead of GetId()
- - Added wxDbGrid combining wxODBC classes with wxGrid
- - Added more makefiles and project files for contrib hierarchy
- wxMSW:
- - Fixed wxApp::ProcessMessage so controls don't lose their
- accelerators when the accelerators are redefined elsewhere
- - Accelerators consisting of simple keystrokes (without control,
- alt or shift) now work
- - Compile fixes for Watcom C++ added
- - Compile fixes for Cygwin 1.0 added
- - Use SetForegroundWindow() in wxWindow::Raise() instead of BringWindowToTop()
- - Replaced wxYield() call in PopupMenu() by a much safer
- wxYieldForCommandsOnly() - fixes tree ctrl popup menu bug and other ones
- - Enter processing in wxSpinCtrl fixed
- - Fixed bug in determining the best listbox size
- - Fix for wxFrame's last focus bug
- - We now send iconize events
- - Fixed wxFrame::SetClientSize() with toolbar bug
- - Added mousewheel processing
- - Added wxSystemSettings::Get/SetOption so we can configure
- wxWidgets at run time; used this to implement no-maskblt option
- in wxDC
- - Fixed bug when using MDIS_ALLCHILDSTYLES style: so now MDI
- child frame styles are honoured
- wxGTK:
- - Fixed slider rounding bug
- - Added code to set wxFont's default encoding to wxLocale::GetSystemEncoding()
- - We now send iconize events
- - Fix for discrepancies between wxNotebookEvent and wxNotebook
- GetSelection() results
- 2.3.0
- -----
- wxBase:
- - fixed problem with wxURL when using static version of the library
- - wxZipFSHandler::FindFirst() and FindNext() now correctly list directories
- - wxMimeTypesManager now can create file associations too (Chris Elliott)
- - wxCopyFile() respects the file permissions (Roland Scholz)
- - wxFTP::GetFileSize() added (Søren Erland Vestø)
- - wxDateTime::IsSameDate() bug fixed
- - wxTimeSpan::Format() now behaves more as expected, see docs
- - wxLocale now provides much more convenient API for setting language and
- detecting current system language. New API is more abstracted and truly
- cross-platform, independent of underlying C runtime library.
- All (GUI):
- - new wxToggleButton class (John Norris, Axel Schlueter)
- - wxCalendarCtrl not highlighting the date with time part bug fixed
- - wxADJUST_MINSIZE sizer flag added
- - FindOrCreateBrush/Pen() bug fix for invalid colour values
- - new wxXPMHandler for reading and writing XPM images
- - added new (now recommended) API for conversion between wxImage and wxBitmap
- (wxBitmap::ConvertToImage() and wxBitmap::wxBitmap(wxImage&) instead of
- wxImage methods and ctor)
- - ODBC classes now support DB2, Interbase, and Pervasive SQL
- - ODBC documentation complete!!
- - ODBC classes have much Unicode support added, but not complete
- - ODBC experimental BLOB support added, but not completely tested
- - ODBC NULL column support completed (Roger/Paul Gammans)
- - ODBC All "char *" and char arrays removed and replaced with wxString use
- wxMSW:
- - threads: bug in wxCondition::Broadcast fixed (Pieter van der Meulen)
- - fixed bug in MDI children flags (mis)handling
- - it is possible to compile wxCHMHelpController with compilers
- other than Visual C++ now and hhctrl.ocx is loaded at runtime
- wxGTK:
- - added support for wchar_t (wxUSE_WCHAR_T) under Unix
- wxHTML:
- - mew feature, wxHtmlProcessor for on-the-fly modification of HTML markup
- - visual enhancements to contents panel of wxHtmlHelpController
- 2.2.0
- -----
- wxBase:
- - Fixed bug with directories with trailing (back)slashes in wxPathExists
- - wxString: added wxArrayString::operator==() and !=()
- - Fixes for wxCmdLineParser
- - Added wxGetLocalTimeMillis
- - Completed Czech translations
- - Some stream corrections
- - added missing consts to wxPoint operators
- - wxDateTime ParseFormat fixes
- - wxFile::Open(write_append) will create file if it doesn't exist
- - small fixes to MIME mailcap test command handling, more MIME tests in the sample
- All (GUI):
- - wxGenericDragImage now allows virtual image drawing, and
- flicker-free dragging is now possible
- - Added wxPrinter::GetLastError
- - Fixed wxLogGui reentrancy problem
- - Paper names now translated
- - wxGrid fixes
- - Generic validator now caters for more cases (integers in
- wxTextCtrl, strings in wxChoice, wxComboBox)
- - Fixed crash when docview On... functions return FALSE. Show
- error message when an non-existent filename is typed into the Open
- File dialog.
- - Corrected Baltic font encoding handling
- - wxImage: enhanced TIFF code, added new platform-independent BMP
- writing code
- - wxKeyEvent::GetKeyCode() and HasModifiers() added and documented
- - Fixed wxPropertyForm crashes in sample
- - wxWizard now calls TransferDataFromWindow() before calling
- wxWizardPage::GetNext() fixing an obvious bug
- wxMSW:
- - wxWindow::GetCharWidth/Height now calculated accurately.
- This will affect all .wxr dialog resources, so for
- backward compatibility, please set
- wxDIALOG_UNIT_COMPATIBILITY to 1 in setup.h
- - wxListCtrl: set item text in LIST_ITEM_ACTIVATED events
- - wxTextCtrl: implemented setting colours for rich edit controls
- - wxColour now accepts both grey and gray
- - BC++ DLL compilation fixed
- - Watcom C++ makefiles improved for JPEG and TIFF compilation
- - Fixed submenu accelerator bug
- - Fixed dialog focus bug (crash if the previous window to have
- the focus was destroyed before the dialog closed)
- - Too-small default wxTextCtrl height fixed
- - fixed "missing" initial resize of wxMDIChildFrame
- - wxFrame restores focus better
- - Now ignore wxTHICK_FRAME in wxWindow constructor: only relevant to
- frames and dialogs, interferes with other window styles otherwise
- (sometimes you'd get a thick frame in a subwindow)
- - wxTextCtrl insertion point set to the beginning of the control by SetValue
- - Fix so wxMDIParentFrame is actually shown when Show(TRUE) is called.
- - wxFileDialog: adjusts struct size if there's an error (struct
- sizes can be different on different versions of Windows)
- - wxImageList::GetSize() documented and added to wxMSW
- - fixed default dialog style to make them non resizable again
- - fixed wxFrame::IsShown() which always returned TRUE before
- wxGTK:
- - Please see docs/gtk/changes.txt.
- wxMotif:
- - Small compilation fixes
- Documentation:
- - wxCaret documented
- 2.1.16
- ------
- wxBase:
- All (GUI):
- wxMSW:
- - Various bug fixes
- - Added wxCHMHelpController, for invoking MS HTML Help
- files. This works under VC++ only
- - Modal dialog handling improved
- - Printer dialog now modal
- wxGTK:
- - Various bug fixes
- wxMotif:
- - Various bug fixes
- 2.1.15
- ------
- Documentation:
- - Added docs/tech for technical notes
- File hierarchy:
- - Started new contrib hierarchy that mirrors
- the main lib structure; moved OGL and MMedia into it
- wxBase:
- - wxSocket support
- - wxDateTime replaces and extends old wxDate and wxTime classes (still
- available but strongly deprecated) with many new features
- - wxLongLong class provides support for (signed) 64 bit integers
- - wxCmdLineParser class for parsing the command line (supporting short and
- long options, switches and parameters of different types)
- - it is now possible to build wxBase under Win32 (using VC++ only so far)
- and BeOS (without thread support yet)
- - wxThread class modified to support both detached and joinable threads, also
- added new GetCPUCount() and SetConcurrency() functions (useful under Solaris
- only so far)
- - wxDir class for enumerating files in a directory
- - wxLog functions are now (more) MT-safe
- - wxStopWatch class, timer functions have more chances to return correct
- results for your platform (use ANSI functions where available)
- - wxString::ToLong, ToULong, ToDouble methods and Format() static one added
- - buffer overflows in wxString and wxLog classes fixed (if snprintf() function
- is available)
- - wxArray::RemoveAt() replaces deprecated wxArray::Remove(index)
- all (GUI):
- - Added wxImage::Rotate.
- - new wxCalendarCtrl class for picking a date interactively
- - wxMenu(Bar)::Insert() and Remove() functions for dynamic menu management
- - wxToolBar supports arbitrary controls (not only buttons) and can be
- dynamically changed (Delete/Insert functions)
- - vertical toolbars supported by MSW and GTK native wxToolBar classes
- - wxTreeCtrl and wxListCtrl allow setting colour/fonts for individual items
- - "file open" dialog allows selecting multiple files at once (contributed by
- John Norris)
- - wxMimeTypesManager uses GNOME/KDE MIME database to get the icons for the
- MIME types if available (Unix only)
- - wxDC::DrawRotatedText() (based on contribution by Hans-Joachim Baader)
- - TIFF support added (libtiff required and included in the distribution)
- - PCX files can now be written (256 and 24 bits)
- - validators may work recursively if wxWS_EX_VALIDATE_RECURSIVELY is set
- - wxScrolledWindow now has keyboard interface
- - wxTextEntryDialog may be used for entering passwords (supports wxTE_PASSWORD)
- - added wxEncodingConverter and improved wxFontMapper
- for dealing with conversions between different encodings,
- charsets support in wxLocale and wxHTML
- - wxDragImage class added
- - samples/help improved to show standard and advanced HTML help
- controllers, as well as native help
- - moved wxTreeLayout class to main lib
- wxMSW:
- - wxFrame::MakeFullScreen added.
- - support for enhanced metafiles added, support for copying/pasting metafiles
- (WMF and enhanced ones) fixed/added.
- - implemented setting colours for push buttons
- - wxStatusBar95 may be now used in dialogs, panels (not only frames) and can be
- positioned along the top of the screen and not only at the bottom
- - wxTreeCtrl::IsVisible() bug fixed (thanks to Gary Chessun)
- - loading/saving big (> 32K) files in wxTextCtrl works
- - tooltips work with wxRadioBox
- - wxBitmap/wxIcon may be constructed from XPM included into a program, as in
- Unix ports
- - returning FALSE from OnPrintPage() aborts printing
- - VC++ makefiles and project files made (mostly) consistent
- - wxSetCursorEvent added
- wxGTK:
- - wxFontMapper endless recursion bug (on some systems) fixed
- - wxGTK synthesizes wxActivateEvents
- - UpdateUI handlers may be used with wxTextCtrl
- wxMotif:
- - wxMenu::Enable works
- - wxToolBar bugs fixed
- - OGL samples made to work again
- wxHTML:
- - almost complete rewrite of wxHtmlHelpController,
- including faster search, bookmarks, printing, setup dialog
- and cross-platform binary compatible .cached files for faster
- loading of large helpbooks, case insensitive search
- split into 3 parts: wxHtmlHelpData, Frame and Controller
- - added support for charsets and <meta> tag
- - added support for font faces and justified paragraphs,
- taken some steps to prepare wxHTML for frames
- - added dynamic pushing/popping of wxHtmlParser tag handlers
- - improved HTML printing
- - added extensive table of HTML characters substitutions ( etc.)
- - fixed wxHtmlWindow flickering, several minor bugfixes
- - added some tags: <address>, <code>, <kbd>, <samp>, <small>, <big>,
- fixed handling of relative and absolute font sizes in <font size>
- NOTE: for changes after wxWidgets 2.1.0 b4, please see the CVS
- change log.
- 2.1.0, b4, May 9th 1999
- -----------------------
- wxGTK:
- - JPEG support added.
- - Many fixes and changes not thought worth mentioning in this file :-)
- wxMSW:
- - wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added;
- SetTabSize added.
- - JPEG support added.
- - Fixes for Cygwin compilation.
- - Added wxGA_SMOOTH and wxFRAME_FLOAT_ON_PARENT styles.
- - Many fixes people didn't tell this file about.
- wxMotif:
- General:
- - Some changes for Unicode support, including wxchar.h/cpp.
- 2.0.1 (release), March 1st 1999
- -------------------------------
- wxGTK:
- - wxGLCanvas fixes.
- - Slider/spinbutton fixes.
- wxMSW:
- - Fixed problems with <return> in dialogs/panels.
- - Fixed window cursor setting.
- - Fixed toolbar sizing and edge-clipping problems.
- - Some makefile fixes.
- wxMotif:
- - None.
- General:
- - Added wxUSE_SOCKETS.
- - More topic overviews.
- - Put wxPrintPaperType, wxPrintPaperDatabase into
- prntbase.h/cpp for use in non-PostScript situations
- (e.g. Win16 wxPageSetupDialog).
- Beta 5, February 18th 1999
- --------------------------
- wxGTK:
- - wxExecute improved.
- wxMSW:
- - Fixed wxWindow::IsShown (::IsWindowVisible doesn't behave as
- expected).
- - Changed VC++ makefiles (.vc) so that it's possible to have
- debug/release/DLL versions of the library available simultaneously,
- with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll).
- - Added BC++ 5 IDE files and instructions.
- - Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation).
- - Fixed focus-related crash.
- wxMotif:
- - Cured asynchronous wxExecute crash.
- - Added repaint event handlers to wxFrame, wxMDIChildFrame.
- General:
- - wxLocale documented.
- - Added include filenames to class reference.
- - wxHelpController API changed: SetBrowser becomes SetViewer,
- DisplaySection works for WinHelp, help sample compiles under Windows
- (though doesn't display help yet).
- Beta 4, February 12th 1999
- --------------------------
- wxGTK:
- - Miscellaneous fixes.
- wxMSW:
- - Makefiles for more compilers and samples; Cygwin makefiles
- rationalised.
- - Added VC++ project file for compiling wxWidgets as DLL.
- wxMotif:
- - Added OnEraseBackground invocation.
- - Added wxRETAINED implementation for wxScrolledWindow.
- - Cured scrolling display problem by adding XmUpdateDisplay.
- - Tried to make lex-ing in the makefile more generic (command line
- syntax should apply to both lex and flex).
- - Changed file selector colours for consistency (except for buttons:
- crashes for some reason).
- - Fixed wxMotif version of wxImage::ConvertToBitmap (used new instead
- of malloc, which causes memory problems).
- General:
- - Further doc improvements.
- - wxGenericValidator added.
- - Added wxImageModule to image.cpp, so adds/cleans up standard handlers
- automatically.
- Beta 3, January 31st 1999
- -------------------------
- wxGTK:
- - wxClipboard/DnD API changes (still in progress).
- - wxToolTip class added.
- - Miscellaneous fixes.
- wxMSW:
- - wxRegConfig DeleteAll bug fixed.
- - Makefiles for more compilers.
- - TWIN32 support added.
- - Renamed VC++ makefiles from .nt to .vc, and
- factored out program/library settings.
- - Fixed wxIniConfig bug.
- wxMotif:
- - A few more colour fixes.
- - wxGLCanvas and OpenGL samples working.
- - Some compiler warnings fixed.
- - wxChoice crash fix.
- - Dialog Editor starting to work on Motif.
- General:
- - wxBusyCursor class added.
- - Added samples/dde.
- - More doc improvements, incl. expanding docs/html/index.htm.
- Beta 2, January 1999
- --------------------
- wxGTK:
- wxMSW:
- - 16-bit BC++ compilation/linking works albeit without the resource system.
- wxMotif:
- - Cured wxScreenDC origin problem so e.g. sash window sash is drawn at
- the right place.
- - Cured some widget table clashes.
- - Added thread support (Robert).
- - wxPoem sample now works.
- General:
- - Rearranged documentation a bit.
- - Sash window uses area of first frame/dialog to paint over when drawing
- the dragged sash, not just the sash window itself (it clipped to the right
- or below).
- - Made resource sample use the correct Cancel button id.
- - Moved wxProp to main library (generic directory), created proplist
- sample.
- - Added bombs and fractal samples.
- Beta 1, December 24th 1998
- --------------------------
- wxGTK:
- - Various
- wxMSW, wxMotif: not in sync with this release.
- Alpha 18, December 29th 1998
- ----------------------------
- wxMSW:
- - Win16 support working again (VC++ 1.5)
- - Win16 now uses generic wxNotebook, wxListCtrl,
- wxTreeCtrl -- more or less working now, although
- a little work on wxNotebook is still needed.
- Under 16-bit Windows, get assertion when you click
- on a tab.
- - Wrote 16-bit BC++ makefiles: samples don't yet link.
- - Added CodeWarrior support to distribution courtesy
- of Stefan Csomor.
- wxMotif:
- - Cured scrolling problem: scrollbars now show/hide themselves
- without (permanently) resizing the window.
- - Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars
- that disabled scrollbar paging.
- - Set background colour of drawing area in wxWindow, so e.g. wxListCtrl
- colours correctly.
- - Removed major bug whereby dialogs were unmanaged automatically
- when any button was pressed.
- - Fixed colours of wxWindow scrollbars, made list and text controls
- have a white background.
- - Fixed dialog colour setting.
- - Added settable fonts and colours for wxMenu/wxMenuBar. Now
- they have sensible colours by default.
- - Fixed a bug in wxStaticBox.
- - Cured wxTreeCtrl bug: now works pretty well!
- - Debugged DrawEllipticArc (a ! in the wrong place).
- - Added SetClippingRegion( const wxRegion& region ).
- - Added wxPoint, wxSize, wxRect versions of SetSize etc.
- Alpha 17, November 22nd 1998
- ----------------------------
- wxMSW:
- - More documentation updates, especially for
- wxLayoutWindow classes and debugging facilities.
- - Changed wxDebugContext to use wxDebugLog instead
- of wxTrace.
- - Now supports VC++ 6.0, and hopefully BC++ 5.0.
- However, DLL support may be broken for BC++ since
- VC++ 6 required changing of WXDLLEXPORT keyword
- position.
- - Numerous miscellaneous changes.
- wxMotif:
- - Reimplemented MDI using wxNotebook instead of the MDI widgets, which
- were too buggy (probably not design for dynamic addition/removal of
- child frames).
- - Some improvements to the wxNotebook implementation.
- - wxToolBar now uses a bulletin board instead of a form, in an attempt
- to make it possible to add ordinary wxControls to a toolbar.
- - Cured problem with not being able to use global memory operators,
- by defining two more global operators, so that the delete will match
- the debugging implementation.
- - Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using
- global memory operators (usually OK) and #defining new to be
- WXDEBUG_NEW (sometimes it might not be OK).
- - Added time.cpp to makefile; set wxUSE_DATETIME to 1.
- - Added a parent-existence check to popup menu code to make it not crash.
- - Added some optimization in wxWindow::SetSize to produce less flicker.
- It remains to be seen whether this produces any resize bugs.
- It's a long time since I updated this file. Previously done:
- - wxFrame, wxDialog done.
- - wxScrolledWindow done (but backing pixmap not used at present).
- - wxBitmap done though could be tidied it up at some point.
- - Most basic controls are there, if not rigorously tested.
- - Some MDI support (menus appear on child frames at present).
- - wxNotebook almost done.
- - wxToolBar done (horizontal only, which would be easy to extend
- to vertical toolbars).
- More recently:
- - Colour and font changing done (question mark over what happens
- to scrollbars).
- - Accelerators done (for menu items and buttons). Also event loop
- tidied up in wxApp so that events are filtered through ProcessXEvent.
- - wxWindow::GetUpdateRegion should now work.
- Alpha 16, September 8th 1998
- ----------------------------
- wxMSW:
- - Added wxSashWindow, wxSashLayoutWindow classes, and sashtest
- sample.
- - Guilhem's socket classes added, plus wxsocket sample.
- - A few more makefiles added.
- - GnuWin32/BC++ compatibility mods.
- - Further doc updates.
- - wxProp updates for correct working with wxGTK.
- wxMotif:
- - First start at Motif port.
- - Made makefiles for wxMotif source directory and minimal sample.
- - First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
- wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
- wxMenu, wxMenuItem, wxMenuBar
- Alpha 15, August 31st 1998
- --------------------------
- wxMSW:
- - wxBitmap debugged.
- - wxDC::GetDepth added.
- - Contribution added whereby wxBitmap will be
- converted to DC depth if they don't match.
- - wxConfig API improved, documentation updated.
- - Printing classes name conventions cleaned up.
- - wxUpdateUIEvent now derives from wxCommandEvent
- so event can travel up the window hierarchy.
- Alpha 14, July 31st 1998
- ------------------------
- wxMSW:
- - Toolbar API has been simplified, and now
- wxFrame::GetClientArea returns the available client
- area when toolbar, status bar etc. have been accounted for.
- wxFrame::CreateToolBar added in line with CreateStatusBar.
- - Documentation updates, incl. for wxToolBar.
- - New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
- - Various additions from other folk, e.g. streams, wxConfig
- changes, wxNotebook.
- - Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
- Alpha 13, July 8th 1998
- -----------------------
- wxMSW:
- - Implemented wxPoint as identical to POINT on Windows, and
- altered wxDC wxPoint functions to use wxPoint directly in
- Windows functions, for efficiency.
- - Cured wxASSERT bug in wxStatusBar95.
- - #ifdefed out some bits in oleutils.cpp for compilers that
- don't support it.
- - Added some operators to wxPoint, wxSize.
- - Added inline wxDC functions using wxPoint, wxSize, wxRect.
- Alpha 12, July 7th 1998
- -----------------------
- wxMSW:
- - Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
- have flat toolbars on Win98 or Win95 with IE >= 3 installed.
- Alpha 11, July 3rd 1998
- -----------------------
- wxMSW:
- - Added thread.h, thread.cpp.
- - Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
- wxMenuBar.
- - Changed wxMenuItem::SetBackColor to SetBackgroundColour,
- SetTextColor to SetTextColour, and added or made public several
- wxMenuItem accessors.
- - Added two overloads to wxRegion::Contains. Added
- wxRegion::IsEmpty for a more consistent naming convention.
- - Added Vadim's wxDataObject and wxDropSource.
- - ENTER/LEAVE events now work.
- - Cured wxMemoryDC bug where the DC wasn't being deleted.
- - Cured wxGauge SetSize major bugginess.
- - Cured problem where if a GDI object was created on the stack,
- then went out of scope, then another object was selected into
- the DC, GDI objects would leak. This is because the assignment
- to e.g. wxDC::m_pen would delete the GDI object without it first
- being selected out of the DC. Cured by selecting the old DC object
- first, then doing the assignment.
- - Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95
- - Various other bug fixes and additions.
- Generic:
- - Major work on Dialog Editor (still plenty to go).
- - Expanded documentation a bit more.
- Alpha 10, May 7th 1998
- ----------------------
- wxMSW:
- - Added desiredWidth, desiredHeight parameters to wxBitmapHandler
- and wxIcon functions so that you can specify what size of
- icon should be loaded. Probably will remain a Windows-specific thing.
- - wxStatusBar95 now works for MDI frames.
- - Toolbars in MDI frames now behave normally. They still
- require application-supplied positioning code though.
- - Changed installation instructions, makefiles and batch files
- for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
- change to support Mingw32/EGCS. Bison now used by default.
- Alpha 9, April 27th 1998
- ------------------------
- wxMSW:
- - Cured bug in wxStatusBar95 that caused a crash if multiple
- fields were used.
- - Added Gnu-Win32 b19/Mingw32 support by changing resource
- compilation and pragmas.
- - Cured wxMenu bug introduced in alpha 8 - didn't respond to
- commands because VZ changed the id setting in wxMenu::MSWCommand.
- Generic:
- - Corrected some bugs, such as the wxModule compilation problem.
- - Added Gnu-Win32 b19/Mingw32 support by changing resource
- compilation and pragmas.
- - Changed SIZEOF to WXSIZEOF.
- Alpha 8, April 17th 1998
- ------------------------
- wxMSW:
- - Added IsNull to wxGDIObject to check if the ref data is present or not.
- - Added PNG handler and sample - doesn't work for 16-bit PNGs for
- some reason :-(
- - Added wxJoystick class and event handling, and simple demo.
- - Added simple wxWave class. Needs Stop() function.
- - Added wxModule (module.h/module.cpp) to allow definition
- of modules to be initialized and cleaned up on wxWidgets
- startup/exit.
- - Start of Mingw32 compatibility (see minimal and dialogs samples
- makefile.m95 files, and install.txt).
- - Note: Windows printing has stopped working... will investigate.
- VADIM'S CHANGES:
- - Updated wxString: bug fixes, added wxArrayString, some
- compatibility functions.
- - Updated log.h/cpp, added wxApp::CreateLogTarget.
- - file.h: new wxTempFile class.
- - defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
- - statbr95: wxStatusBar95 control.
- - registry.h/cpp: wxRegKey class for Win95 registry.
- - listbox.cpp: corrected some bugs with owner-drawn listboxes.
- - wxConfig and wxFileConfig classes.
- Generic:
- - Added src/other/png, src/other/zlib directories.
- - Added samples/png.
- - IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
- Porters, please check particularly your wxTreeCtrl and wxListCtrl
- header files.
- - Added modules.h/cpp, config.cpp, fileconf.cpp, textfile.cpp/h.
- Alpha 7, March 30th 1998
- ------------------------
- wxMSW:
- - Added tab classes, tab sample.
- - Now can return FALSE from OnInit and windows will be
- cleaned up properly before exit.
- - Improved border handling so panels don't get borders
- automatically.
- - Debugged MDI activation from Window menu.
- - Changes to memory debug handling, including checking for
- memory leaks on application exit - but see issues.txt for
- unresolved issues.
- - Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
- to allow maintenance of an icon in the Windows 95 taskbar
- tray area.
- - Got MFC sample working (MFC and wxWidgets in the same
- application), partly by tweaking ntwxwin.mak settings.
- - Got DLL compilation working again (VC++).
- - Changed wxProp/Dialog Editor filenames.
- Generic:
- - Added tab classes, tab sample.
- - Revised memory.cpp, memory.h slightly; memory.h now #defines
- new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
- now checks for leaks on exit. Added memcheck sample.
- See src/msw/issues.txt for more details.
- - resource.h, resource.cpp changed to make wxDefaultResourceTable
- a pointer. Now initialize resource system with
- wxInitializeResourceSystem and wxCleanUpResourceSystem, to
- allow better control of memory.
- - wxString now derives from wxObject, to enable memory leak
- checking.
- - Added some #include fixes in various files, plus changed
- float to long in wxToolBar files.
- Alpha 6, March 10th 1998
- ------------------------
- wxMSW:
- - Found stack error bug - stopped unwanted OnIdle recursion.
- - Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
- - Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
- check if the number of top-level windows is zero before
- exiting. Also, wxApp::GetTopWindow will return either
- m_topWindow or the first member of wxTopLevelWindows, so you
- don't have to call wxApp::SetTopWindow.
- - Added dynarray.h/dynarray.cpp (from Vadim).
- - Added first cut at OLE drag and drop (from Vadim). dnd sample
- added. Drop target only at this stage. See src/msw/ole/*.cpp,
- wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
- Doesn't work with GnuWin32 - no appropriate headers e.g. for
- IUnknown.
- Doesn't work with BC++ either - crashes on program startup.
- - Added Vadim's owner-draw modifications - will probably remain
- Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
- - Added wxLB_OWNERDRAW for owner-draw listboxes.
- - Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
- Doesn't entirely work for WIN16.
- - Vadim has added wxMenuItem as a separate file menuitem.cpp. It
- can also be used as an argument to wxMenu::Append, not just for
- internal implementation.
- - Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
- in makeg95.env, together with mingw32.bat). However, resource
- binding is not working yet so most apps with dialogs crash.
- Generic:
- - Added Vadim's dynarray.h, dynarray.cpp.
- - Added Vadim's menuitem.cpp.
- - Added Windows-specific wxCheckListBox,
- owner-draw wxListBox, and drag-and-drop
- (see docs/msw/changes.txt).
- Alpha 5, 14th February 1998
- --------------------------
- wxMSW:
- - GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
- DISTRIBUTIONS. This change log will therefore now refer to
- the Windows-specific code only. See docs/changes.txt for generic
- changes.
- - Removed Windows-specific reference counting system (GDI
- resources were cleaned up in idle time) - minimal
- advantages now we have a wxWin reference counting system.
- - Added missing WXDLLEXPORT keywords so DLL compilation works
- again.
- - Removed most warnings for GnuWin32 compilation.
- - Added wxRegion/wxRegionIterator, but haven't yet used it in
- e.g. wxDC.
- Generic:
- - GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
- DISTRIBUTIONS. This change log will therefore now refer to
- the generic code only. See docs/msw/changes.txt for Windows-specific
- changes.
- - Readmes, change logs and installation files now go in
- platform-specific directories under docs, e.g. docs/msw,
- docs/gtk.
- - Added DECLARE_APP and IMPLEMENT_APP macros so wxApp object gets
- created dynamically, not as a global object.
- - Put wxColour into wx/msw/colour.h, src/msw/colour.cpp.
- - Changed names of some include/wx/generic headers to be
- consistent and to conform to gcc pragma conventions. Also
- changed choicesg.cpp to choicdgg.cpp.
- - Added gcc pragmas.
- - Added gtk inclusion in include/wx headers.
- - Added consistent file headings to source and headers.
- - Removed lang.cpp, lang.h and references to wxSTR_... variables;
- added a few references to wxTransString.
- - Added operator to wxTransString that converts automatically
- to wxString, so we can say e.g. wxMessageBox(wxTransString("Hello"), ...).
- - samples/internat now works (minimally).
- - Added wxMouseEvent::GetPosition and
- wxMouseEvent::GetLogicalPosition, both returning wxPoints.
- - Made wxSize and wxRect contain longs not ints.
- - Cured some memory leaks (thanks Vadim).
- - Tidied up OnIdle and introduced RequestMore/MoreRequested so
- will only keep processing OnIdle if it returns TRUE from
- MoreRequested.
- Alpha 4, 31st January 1998
- --------------------------
- All:
- - Changed wxDC functions to take longs instead of floats. GetSize now takes
- integer pointers, plus a version that returns a wxSize.
- - const keyword added to various wxDC functions.
- - Under Windows, wxDC no longer has any knowledge of whether
- an associated window is scrolled or not. Instead, the device
- origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
- - wxScrolledWindow applications can optionally override the virtual OnDraw
- function instead of using the OnPaint event handler. The wxDC passed to
- OnDraw will be translated by PrepareDC to reflect scrolling.
- When drawing outside of OnDraw, must call PrepareDC explicitly.
- - wxToolBarBase/wxToolBarSimple similarly changed to allow for
- scrolling toolbars.
- - Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
- to help printing with multiple pages.
- - IPC classes given base classes (wxConnectionBase etc.) which
- define the API used by different implementations. DDE
- implementation updated to use these base classes.
- - wxHelpInstance now separated into wxHelpControllerBase (base
- for all implementations), wxWinHelpController (uses standard
- WinHelp), wxXLPHelpController (talks to wxHelp by DDE or
- TCP/IP). There will be others eventually, such as
- wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
- - Added Vadim Zeitlin's wxString class plus
- internationalization code (gettext simulation, wxLocale, etc.).
- New files from Vadim:
- include\wx\string.h
- include\wx\debug.h
- include\wx\file.h
- include\wx\log.h
- include\wx\intl.h
- src\common\string.cpp
- src\common\log.cpp
- src\common\intl.cpp
- src\common\file.cpp
- No longer use GNU wxString files.
- - Split off file-related functions into include\wx\filefn.h and
- src\common\filefn.cpp.
- - Borland C++ support (WIN32) for main library and
- samples, using makefile.b32 files.
- - Preparation done for allowing BC++ to compile wxWin as a DLL,
- including changes to defs.h.
- - wxIntPoint removed, wxPoint is now int, and wxRealPoint
- introduced.
- - Added wxShowEvent (generated when window is being shown or
- hidden).
- - Got minimal, docview, mdi samples working for 16-bit VC++ and
- cured 16-bit problem with wxTextCtrl (removed global memory
- trick).
- - Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
- Alpha 3, September 1997
- -----------------------
- All:
- - wxListCtrl, wxTreeCtrl, wxImageList classes done.
- - Instigated new file hierarchy, split files and classes up more logically.
- - PrologIO and some other utils now put into core library.
- - Revamped print/preview classes, added wxPageSetupDialog.
- - Started documentation.
- Alpha 2, 30th April 1997
- ------------------------
- All:
- - EVT_... macros now have at least one argument, for conformance
- with MetroWerks compiler.
- - Added ids to .wxr file format.
- - Got Dialog Editor compiled and running again but need
- to extend functionality to be in line with new controls.
- Added dialoged\test app to allow dynamic loading of .wxr files
- for testing purposes.
- - Rewrote wxBitmap to allow installable file type
- handlers.
- - Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
- - Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
- fully).
- - Added back wxRadioBox.
- - Tidied up wx_main.cpp, wxApp class, putting PenWin code in
- a separate file.
- Alpha 1, 5th April 1997
- -----------------------
- Generic:
- At this point, the following has been achieved:
- - A lot, but not all, of the code has been revamped for better
- naming conventions, protection of data members, and use of
- wxString instead of char *.
- - Obsolete functionality deleted (e.g. default wxPanel layout,
- old system event system) and code size reduced.
- - Class hierarchy changed (see design doc) - base classes such
- as wxbWindow now removed.
- - No longer includes windows.h in wxWin headers, by using stand-in
- Windows types where needed e.g. WXHWND.
- - PrologIO revised.
- - wxScrolledWindow, wxStatusBar and new MDI classes added.
- MDI is now achieved using separate classes, not window styles.
- - wxSystemSettings added, and made use of to reflect standard
- Windows settings.
- - SetButtonFont/SetLabelFont replaced by SetFont; font and colour
- settings mucho rationalised.
- - All windows are now subclassed with the same window proc to make
- event handling far more consistent. Old internal wxWnd and derived
- classes removed.
- - API for controls revised, in particular addition of
- wxValidator parameters and removal of labels for some controls.
- - 1 validator written: see examples/validate.
- - Event table system introduced (see most samples and
- wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
- made more flexible, with Push/PopEventHandler allowing a chain
- of event handlers.
- - wxRadioBox removed - will be added back soon.
- - Toolbar class hierarchy revised:
- wxToolBarBase
- wxToolBarSimple (= old wxToolBar)
- wxToolBar95 (= old wxButtonBar under Win95)
- wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
- - Constraint system debugged somewhat (sizers now work properly).
- - wxFileDialog, wxDirDialog added; other common dialogs now
- have class equivalents. Generic colour and font dialogs
- rewritten to not need obsolete panel layout.
- - .wxr resource system partially reinstated, though needs
- an integer ID for controls. Hopefully the resource system
- will be replaced by something better and more efficient
- in the future.
- - Device contexts no longer stored with window and accessed
- with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
- variables instead.
- - wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
- determines whether labels are shown. Other Win95-specific flags
- introduced, e.g. for showing ticks.
- - Styles introduced for dealing with 3D effects per window, for
- any window: all Win95 3D effects supported, plus transparent windows.
- - Major change to allow 3D effect support without CTL3D, under
- Win95.
- - Bitmap versions of button and checkbox separated out into new
- classes, but unimplemented as yet because I intend to remove
- the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
- - utils/wxprop classes working (except maybe wxPropertyFormView)
- in preparation for use in Dialog Editor.
- - GNU-WIN32 compilation verified (a month or so ago).
|