/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include #include #include #include #include #include #include #include #include #include #include #include using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; // Forward declaration void Main(); SAL_IMPLEMENT_MAIN() { tools::extendApplicationEnvironment(); Reference< XMultiServiceFactory > xMS; xMS = cppu::createRegistryServiceFactory( OUString( "types.rdb" ), OUString( "applicat.rdb" ), sal_True ); comphelper::setProcessServiceFactory( xMS ); InitVCL(); ::Main(); DeInitVCL(); return 0; } class MyWin : public WorkWindow { public: MyWin( Window* pParent, WinBits nWinStyle ); void MouseMove( const MouseEvent& rMEvt ); void MouseButtonDown( const MouseEvent& rMEvt ); void MouseButtonUp( const MouseEvent& rMEvt ); void KeyInput( const KeyEvent& rKEvt ); void KeyUp( const KeyEvent& rKEvt ); void Paint( const Rectangle& rRect ); void Resize(); }; void Main() { MyWin aMainWin( NULL, WB_APP | WB_STDWORK ); aMainWin.SetText( OUString( "VCLDemo - VCL Workbench" ) ); aMainWin.Show(); Application::Execute(); } MyWin::MyWin( Window* pParent, WinBits nWinStyle ) : WorkWindow( pParent, nWinStyle ) { } void MyWin::MouseMove( const MouseEvent& rMEvt ) { WorkWindow::MouseMove( rMEvt ); } void MyWin::MouseButtonDown( const MouseEvent& rMEvt ) { Rectangle aRect(0,0,4,4); aRect.SetPos( rMEvt.GetPosPixel() ); SetFillColor(Color(COL_RED)); DrawRect( aRect ); } void MyWin::MouseButtonUp( const MouseEvent& rMEvt ) { WorkWindow::MouseButtonUp( rMEvt ); } void MyWin::KeyInput( const KeyEvent& rKEvt ) { WorkWindow::KeyInput( rKEvt ); } void MyWin::KeyUp( const KeyEvent& rKEvt ) { WorkWindow::KeyUp( rKEvt ); } void MyWin::Paint( const Rectangle& rRect ) { fprintf(stderr, "MyWin::Paint(%ld,%ld,%ld,%ld)\n", rRect.getX(), rRect.getY(), rRect.getWidth(), rRect.getHeight()); Size aSz(GetSizePixel()); Point aPt; Rectangle r(aPt, aSz); SetFillColor(Color(COL_BLUE)); SetLineColor(Color(COL_YELLOW)); DrawRect( r ); for(int i=0; idistro/collabora/cp-5.1 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-26loplugin:expandablemethods in ucb..ucbhelperNoel Grandin
Change-Id: I42d077d7ebcfb77447d011644f8d64e80eae69c2 Reviewed-on: https://gerrit.libreoffice.org/30266 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-19loplugin:expandablemethods in UnoControls..vbahelperNoel Grandin
Change-Id: Iec2c5e13119d97c9ca87e083c0f7cb00227e5231 Reviewed-on: https://gerrit.libreoffice.org/29997 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann
Change-Id: I9adb9cce899591380c18fa8a336408ba9b21defd
2016-06-06remove some manual ref counting in svx and xmloffNoel Grandin
Change-Id: Ica0b6ff8ff7fa9e65cd758160d6e3ea7110ebb46 Reviewed-on: https://gerrit.libreoffice.org/25824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-13clang-tidy modernize-loop-convert in toolkit to uuiNoel Grandin
Change-Id: I805aa1389ef8dde158f0b776d6b59579fa3082e4 Reviewed-on: https://gerrit.libreoffice.org/24921 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-20loplugin:salbool: Automatic rewrite of sal_False/TrueStephan Bergmann
Change-Id: Ib340ec1731cba5a4409f0e8d8bdde48753312672
2016-04-14clang-tidy performance-unnecessary-value-param in variousNoel Grandin
Change-Id: I7168d44dab8e6a8e37bb7920d744ff32f5e52907 Reviewed-on: https://gerrit.libreoffice.org/24019 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-11cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: Ie25240030fd848a5b30526746206bfd5fe543091
2016-04-05loplugin:constantparam in ucbNoel Grandin
Change-Id: Ifa36b58a36232e6333a1c85d85d0372fb0de219b Reviewed-on: https://gerrit.libreoffice.org/23829 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-25InterfaceContainer2 with vector instead of SequenceNoel Grandin
create an InterfaceContainer2 class to replace InterfaceContainer. It uses a std::vector instead of a Sequence for the mutable listener list, which provides far better performance. Switch all our internal use-sites to the new class. Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
2015-11-15use initialiser for Sequence<OUString>Noel Grandin
using variations of: git grep -lP 'Sequence.*OUString.*\(\s*1\s*\)' | xargs perl -0777 -pi -e "s/Sequence<OUString> (\w+)\(1\)\; \s*OUString\* pArray.*; .*\[0\]\s*=\s*(\S+)\;/Sequence<OUString> \1 { \2 };/g" Change-Id: I03c64334ff30ee14dce0d17b67f5122a3893bbe3 Reviewed-on: https://gerrit.libreoffice.org/19971 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I72bf3e008a8941d6e0fdea81b6b3e4a959ff28c5
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin
Change-Id: Id036f867e75d03d8347cc32a1011c5cdda1dcc73
2015-10-15cppcheck:variableScopeNoel Grandin
Change-Id: I9b671637fbe0f32e695d22b74bfb40a39a9fe884 Reviewed-on: https://gerrit.libreoffice.org/19364 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-09-09ucb: tdf#88206 replace cppu::WeakImplHelper* etc.Takeshi Abe
with the variadic variants. Change-Id: I0e4c7e26af86806e75bb75b7eb6c70b57e1c9514 Reviewed-on: https://gerrit.libreoffice.org/18427 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-17Replace boost::scoped_array<T> with std::unique_ptr<T[]>Takeshi Abe
This may reduce some degree of dependency on boost. Done by running a script like: git grep -l '#include *.boost/scoped_array.hpp.' \ | xargs sed -i -e 's@#include *.boost/scoped_array.hpp.@#include <memory>@' git grep -l '\(boost::\)\?scoped_array<\([^<>]*\)>' \ | xargs sed -i -e 's/\(boost::\)\?scoped_array<\([^<>]*\)>/std::unique_ptr<\2[]>/' ... and then killing duplicate or unnecessary includes, while changing manually m_xOutlineStylesCandidates in xmloff/source/text/txtimp.cxx, extensions/source/ole/unoconversionutilities.hxx, and extensions/source/ole/oleobjw.cxx. Change-Id: I3955ed3ad99b94499a7bd0e6e3a09078771f9bfd Reviewed-on: https://gerrit.libreoffice.org/16289 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-06-08loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann
Change-Id: I9408d28393ff3654dd81c0240d7665b72b3c189c
2015-04-01Replace remaining getCppuType et al with cppu::UnoTypeStephan Bergmann
Change-Id: I8d1a4fda1cdd679f20de37271f7b832da4fb0c9a
2015-03-28Clean up C-style casts from pointers to voidStephan Bergmann
Change-Id: Ibd269ae3147ce95f3f093e10ab736e8287e7098c
2015-02-05try to avoid overflows in some compare functionsMichael Stahl
Change-Id: I6144d7d6527dc401b7f1b577d1a227361e39e7bb
2015-01-19fdo#39440 reduce scope of local variablesMichael Weghorn
This addresses some cppcheck warnings. Change-Id: I1cd8b118e2598b8b18fb445851a3bb41e554267b Reviewed-on: https://gerrit.libreoffice.org/13967 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2014-12-18ucb: Use appropriate OUString functions on string constantsStephan Bergmann
Change-Id: Ie889b3e74160e9ba121ba8351d9e12f6d273c573
2014-12-12ucb: Use appropriate OUString functions on string constantsStephan Bergmann
Change-Id: I6839e032c981fcff472f29c51c84503d6370fd1c
2014-09-29loplugin: cstylecastNoel Grandin
Change-Id: Iea517d2287bded4a702c73dfdd1f182023425d67
2014-07-25Avoid possible memory leaks in case of exceptionsTakeshi Abe
Change-Id: I9983e858c4e634b4cac8ad42fa9b06b7ccc167d6
2014-06-24new compilerplugin returnbyrefNoel Grandin
Find places where we are returning a pointer to something, where we can be returning a reference. e.g. class A { struct X x; public X* getX() { return &x; } } which can be: public X& getX() { return x; } Change-Id: I796fd23fd36a18aedf6e36bc28f8fab4f518c6c7
2014-05-23Prefer cppu::UnoType<T>::get() to ::getCppuType((T*)0) part20Julien Nabet
Change-Id: If87cdfb2c605254f6d69baa4ca5aec09091caa68
2014-04-30ucb: sal_Bool->boolNoel Grandin
Change-Id: If79913653f22387ab6d5a376d9cf26751525168a