Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
8a429819
Kaydet (Commit)
8a429819
authored
Nis 28, 2010
tarafından
Wu Yan
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
findbar01: enhancements for findbar
üst
515792c3
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1339 additions
and
1 deletion
+1339
-1
tbunosearchcontrollers.hxx
svx/inc/tbunosearchcontrollers.hxx
+284
-0
makefile.mk
svx/source/tbxctrls/makefile.mk
+2
-1
tbunosearchcontrollers.cxx
svx/source/tbxctrls/tbunosearchcontrollers.cxx
+1018
-0
unoctabl.cxx
svx/source/unodraw/unoctabl.cxx
+35
-0
No files found.
svx/inc/tbunosearchcontrollers.hxx
0 → 100644
Dosyayı görüntüle @
8a429819
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __TBUNOSEARCHCONTROLLERS_HXX_
#define __TBUNOSEARCHCONTROLLERS_HXX_
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/frame/DispatchDescriptor.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <comphelper/sequenceasvector.hxx>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/weak.hxx>
#include <svtools/toolboxcontroller.hxx>
#include <vcl/window.hxx>
#include <map>
namespace
css
=
::
com
::
sun
::
star
;
namespace
svx
{
class
FindTextFieldControl
;
struct
ExecuteInfo
{
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
xDispatch
;
css
::
util
::
URL
aTargetURL
;
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>
aArgs
;
};
class
SearchToolbarControllersManager
{
public
:
SearchToolbarControllersManager
();
~
SearchToolbarControllersManager
();
static
SearchToolbarControllersManager
*
createControllersManager
();
void
registryController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xStatusListener
,
const
::
rtl
::
OUString
&
sCommandURL
);
void
freeController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xStatusListener
,
const
::
rtl
::
OUString
&
sCommandURL
);
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
findController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
::
rtl
::
OUString
&
sCommandURL
);
private
:
static
SearchToolbarControllersManager
*
m_pInstance
;
typedef
::
comphelper
::
SequenceAsVector
<
css
::
beans
::
PropertyValue
>
SearchToolbarControllersVec
;
typedef
::
std
::
map
<
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
,
SearchToolbarControllersVec
>
SearchToolbarControllersMap
;
SearchToolbarControllersMap
aSearchToolbarControllersMap
;
};
class
FindTextToolbarController
:
public
svt
::
ToolboxController
,
public
css
::
lang
::
XServiceInfo
{
public
:
FindTextToolbarController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>
&
rServiceManager
);
~
FindTextToolbarController
();
// XInterface
virtual
css
::
uno
::
Any
SAL_CALL
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
acquire
()
throw
();
virtual
void
SAL_CALL
release
()
throw
();
// XServiceInfo
virtual
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
);
static
::
rtl
::
OUString
getImplementationName_Static
()
throw
()
{
return
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.svx.FindTextToolboxController"
));
}
static
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
rtl
::
OUString
>
getSupportedServiceNames_Static
()
throw
();
// XComponent
virtual
void
SAL_CALL
dispose
()
throw
(
css
::
uno
::
RuntimeException
);
// XInitialization
virtual
void
SAL_CALL
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
);
// XToolbarController
virtual
void
SAL_CALL
execute
(
sal_Int16
KeyModifier
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>
SAL_CALL
createItemWindow
(
const
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>&
Parent
)
throw
(
css
::
uno
::
RuntimeException
);
// XStatusListener
virtual
void
SAL_CALL
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
Event
)
throw
(
css
::
uno
::
RuntimeException
);
sal_Int32
getFontSizePixel
(
const
Window
*
pWindow
);
DECL_STATIC_LINK
(
FindTextToolbarController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
);
DECL_LINK
(
EditModifyHdl
,
void
*
);
private
:
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
m_xURLTransformer
;
FindTextFieldControl
*
m_pFindTextFieldControl
;
USHORT
m_nDownSearchId
;
// item position of findbar
USHORT
m_nUpSearchId
;
// item position of findbar
};
class
DownSearchToolboxController
:
public
svt
::
ToolboxController
,
public
css
::
lang
::
XServiceInfo
{
public
:
DownSearchToolboxController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>
&
rServiceManager
);
~
DownSearchToolboxController
();
// XInterface
virtual
css
::
uno
::
Any
SAL_CALL
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
acquire
()
throw
();
virtual
void
SAL_CALL
release
()
throw
();
// XServiceInfo
virtual
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
);
static
::
rtl
::
OUString
getImplementationName_Static
()
throw
()
{
return
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.svx.DownSearchToolboxController"
));
}
static
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
getSupportedServiceNames_Static
()
throw
();
// XComponent
virtual
void
SAL_CALL
dispose
()
throw
(
css
::
uno
::
RuntimeException
);
// XInitialization
virtual
void
SAL_CALL
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
);
// XToolbarController
virtual
void
SAL_CALL
execute
(
sal_Int16
KeyModifier
)
throw
(
css
::
uno
::
RuntimeException
);
// XStatusListener
virtual
void
SAL_CALL
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
rEvent
)
throw
(
css
::
uno
::
RuntimeException
);
DECL_STATIC_LINK
(
DownSearchToolboxController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
);
private
:
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
m_xURLTransformer
;
};
class
UpSearchToolboxController
:
public
svt
::
ToolboxController
,
public
css
::
lang
::
XServiceInfo
{
public
:
UpSearchToolboxController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rServiceManager
);
~
UpSearchToolboxController
();
// XInterface
virtual
::
com
::
sun
::
star
::
uno
::
Any
SAL_CALL
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
acquire
()
throw
();
virtual
void
SAL_CALL
release
()
throw
();
// XServiceInfo
virtual
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
);
static
::
rtl
::
OUString
getImplementationName_Static
()
throw
()
{
return
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.svx.UpSearchToolboxController"
));
}
static
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
getSupportedServiceNames_Static
()
throw
();
// XComponent
virtual
void
SAL_CALL
dispose
()
throw
(
css
::
uno
::
RuntimeException
);
// XInitialization
virtual
void
SAL_CALL
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
);
// XToolbarController
virtual
void
SAL_CALL
execute
(
sal_Int16
KeyModifier
)
throw
(
css
::
uno
::
RuntimeException
);
// XStatusListener
virtual
void
SAL_CALL
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
rEvent
)
throw
(
css
::
uno
::
RuntimeException
);
DECL_STATIC_LINK
(
UpSearchToolboxController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
);
private
:
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
m_xURLTransformer
;
};
// protocol handler for "vnd.sun.star.findbar:*" URLs
// The dispatch object will be used for shortcut commands for findbar
class
FindbarDispatcher
:
public
css
::
lang
::
XServiceInfo
,
public
css
::
lang
::
XInitialization
,
public
css
::
frame
::
XDispatchProvider
,
public
css
::
frame
::
XDispatch
,
public
::
cppu
::
OWeakObject
{
public
:
FindbarDispatcher
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
xFactory
);
virtual
~
FindbarDispatcher
();
// XInterface
virtual
::
com
::
sun
::
star
::
uno
::
Any
SAL_CALL
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
acquire
()
throw
();
virtual
void
SAL_CALL
release
()
throw
();
// XServiceInfo
virtual
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
);
static
::
rtl
::
OUString
getImplementationName_Static
()
throw
()
{
return
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.comp.svx.Impl.FindbarDispatcher"
));
}
static
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
getSupportedServiceNames_Static
()
throw
();
// XInitialization
virtual
void
SAL_CALL
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
);
// XDispatchProvider
virtual
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
SAL_CALL
queryDispatch
(
const
css
::
util
::
URL
&
aURL
,
const
::
rtl
::
OUString
&
sTargetFrameName
,
sal_Int32
nSearchFlags
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
css
::
uno
::
Sequence
<
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
>
SAL_CALL
queryDispatches
(
const
css
::
uno
::
Sequence
<
css
::
frame
::
DispatchDescriptor
>&
lDescriptions
)
throw
(
css
::
uno
::
RuntimeException
);
// XDispatch
virtual
void
SAL_CALL
dispatch
(
const
css
::
util
::
URL
&
aURL
,
const
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>&
lArguments
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
addStatusListener
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xListener
,
const
css
::
util
::
URL
&
aURL
)
throw
(
css
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
removeStatusListener
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xListener
,
const
css
::
util
::
URL
&
aURL
)
throw
(
css
::
uno
::
RuntimeException
);
private
:
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>
m_xFactory
;
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
m_xFrame
;
};
// createInstance
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
FindTextToolbarController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
);
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
DownSearchToolboxController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
);
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
UpSearchToolboxController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
);
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
FindbarDispatcher_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
);
}
#endif // __TBUNOSEARCHCONTROLLERS_HXX_
svx/source/tbxctrls/makefile.mk
Dosyayı görüntüle @
8a429819
...
...
@@ -62,7 +62,8 @@ LIB2OBJFILES= \
$(SLO)$/
verttexttbxctrl.obj
\
$(SLO)$/
subtoolboxcontrol.obj
\
$(SLO)$/
tbxcolor.obj
\
$(SLO)$/
tbunocontroller.obj
$(SLO)$/
tbunocontroller.obj
\
$(SLO)$/
tbunosearchcontrollers.obj
SLOFILES
=
$(LIB1OBJFILES)
$(LIB2OBJFILES)
...
...
svx/source/tbxctrls/tbunosearchcontrollers.cxx
0 → 100644
Dosyayı görüntüle @
8a429819
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include "tbunosearchcontrollers.hxx"
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/ui/XUIElement.hpp>
#include <com/sun/star/util/URL.hpp>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/combobox.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/svapp.hxx>
#include <vos/mutex.hxx>
namespace
svx
{
static
const
::
rtl
::
OUString
SEARCHITEM_SEARCHSTRING
=
::
rtl
::
OUString
::
createFromAscii
(
"SearchItem.SearchString"
);
static
const
::
rtl
::
OUString
SEARCHITEM_SEARCHBACKWARD
=
::
rtl
::
OUString
::
createFromAscii
(
"SearchItem.Backward"
);
static
const
::
rtl
::
OUString
COMMAND_FINDTEXT
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:FindText"
)
;
static
const
::
rtl
::
OUString
COMMAND_DOWNSEARCH
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:DownSearch"
);
static
const
::
rtl
::
OUString
COMMAND_UPSEARCH
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:UpSearch"
)
;
static
const
::
rtl
::
OUString
COMMAND_APPENDSEARCHHISTORY
=
::
rtl
::
OUString
::
createFromAscii
(
"AppendSearchHistory"
)
;
class
FindTextFieldControl
:
public
ComboBox
{
public
:
FindTextFieldControl
(
Window
*
pParent
,
WinBits
nStyle
,
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
xServiceManager
);
virtual
~
FindTextFieldControl
();
virtual
void
Modify
();
virtual
long
PreNotify
(
NotifyEvent
&
rNEvt
);
void
InitControls_Impl
();
void
Remember_Impl
(
const
String
&
rStr
);
private
:
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
m_xFrame
;
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
m_xURLTransformer
;
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>
m_xServiceManager
;
sal_Bool
m_bToClearTextField
;
};
FindTextFieldControl
::
FindTextFieldControl
(
Window
*
pParent
,
WinBits
nStyle
,
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
xServiceManager
)
:
ComboBox
(
pParent
,
nStyle
),
m_xFrame
(
xFrame
),
m_xServiceManager
(
xServiceManager
),
m_bToClearTextField
(
sal_True
)
{
m_xURLTransformer
=
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
(
m_xServiceManager
->
createInstance
(
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.util.URLTransformer"
))),
css
::
uno
::
UNO_QUERY_THROW
);
InitControls_Impl
();
}
FindTextFieldControl
::~
FindTextFieldControl
()
{
}
void
FindTextFieldControl
::
InitControls_Impl
()
{
SetText
(
String
(
::
rtl
::
OUString
::
createFromAscii
(
"Find"
)
)
);
SetControlForeground
(
COL_GRAY
);
EnableAutocomplete
(
TRUE
,
TRUE
);
}
void
FindTextFieldControl
::
Remember_Impl
(
const
String
&
rStr
)
{
USHORT
nCount
=
GetEntryCount
();
for
(
USHORT
i
=
0
;
i
<
nCount
;
++
i
)
{
if
(
rStr
==
GetEntry
(
i
))
return
;
}
InsertEntry
(
rStr
,
0
);
}
void
FindTextFieldControl
::
Modify
()
{
ComboBox
::
Modify
();
SetControlForeground
(
Color
(
COL_BLACK
)
);
}
long
FindTextFieldControl
::
PreNotify
(
NotifyEvent
&
rNEvt
)
{
long
nRet
=
ComboBox
::
PreNotify
(
rNEvt
);
switch
(
rNEvt
.
GetType
())
{
case
EVENT_KEYINPUT
:
{
const
KeyEvent
*
pKeyEvent
=
rNEvt
.
GetKeyEvent
();
sal_uInt16
nCode
=
pKeyEvent
->
GetKeyCode
().
GetCode
();
sal_Bool
bCtrl
=
pKeyEvent
->
GetKeyCode
().
IsMod1
();
if
(
bCtrl
&&
KEY_G
==
nCode
)
GrabFocusToDocument
();
if
(
KEY_RETURN
==
nCode
)
{
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
Remember_Impl
(
GetText
());
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
xDispatch
;
css
::
util
::
URL
aTargetURL
;
if
(
m_xURLTransformer
.
is
()
)
{
aTargetURL
.
Complete
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:ExecuteSearch"
);
m_xURLTransformer
->
parseStrict
(
aTargetURL
);
css
::
uno
::
Reference
<
css
::
frame
::
XDispatchProvider
>
xDispatchProvider
(
m_xFrame
,
css
::
uno
::
UNO_QUERY
);
if
(
xDispatchProvider
.
is
()
)
xDispatch
=
xDispatchProvider
->
queryDispatch
(
aTargetURL
,
rtl
::
OUString
(),
0
);
}
if
(
xDispatch
.
is
()
&&
aTargetURL
.
Complete
.
getLength
()
>
0
)
{
::
rtl
::
OUString
sFindText
=
GetText
();
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>
aArgs
(
2
);
aArgs
[
0
].
Name
=
SEARCHITEM_SEARCHSTRING
;
aArgs
[
0
].
Value
<<=
sFindText
;
aArgs
[
1
].
Name
=
SEARCHITEM_SEARCHBACKWARD
;
aArgs
[
1
].
Value
<<=
sal_False
;
// Execute dispatch asynchronously
ExecuteInfo
*
pExecuteInfo
=
new
ExecuteInfo
;
pExecuteInfo
->
xDispatch
=
xDispatch
;
pExecuteInfo
->
aTargetURL
=
aTargetURL
;
pExecuteInfo
->
aArgs
=
aArgs
;
Application
::
PostUserEvent
(
STATIC_LINK
(
0
,
DownSearchToolboxController
,
ExecuteHdl_Impl
),
pExecuteInfo
);
}
}
break
;
}
case
EVENT_GETFOCUS
:
if
(
m_bToClearTextField
)
{
SetText
(
String
()
);
m_bToClearTextField
=
sal_False
;
}
break
;
case
EVENT_LOSEFOCUS
:
if
(
GetText
().
Len
()
==
0
)
{
SetText
(
String
(
::
rtl
::
OUString
::
createFromAscii
(
"Find"
)
)
);
SetControlForeground
(
COL_GRAY
);
m_bToClearTextField
=
sal_True
;
}
break
;
}
return
nRet
;
}
//-----------------------------------------------------------------------------------------------------------
// SearchToolbarControllersManager
SearchToolbarControllersManager
*
SearchToolbarControllersManager
::
m_pInstance
=
0
;
SearchToolbarControllersManager
::
SearchToolbarControllersManager
()
{
}
SearchToolbarControllersManager
::~
SearchToolbarControllersManager
()
{
}
SearchToolbarControllersManager
*
SearchToolbarControllersManager
::
createControllersManager
()
{
if
(
!
m_pInstance
)
m_pInstance
=
new
SearchToolbarControllersManager
();
return
m_pInstance
;
}
void
SearchToolbarControllersManager
::
registryController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xStatusListener
,
const
::
rtl
::
OUString
&
sCommandURL
)
{
SearchToolbarControllersMap
::
iterator
pIt
=
aSearchToolbarControllersMap
.
find
(
xFrame
);
if
(
pIt
==
aSearchToolbarControllersMap
.
end
())
{
SearchToolbarControllersVec
lControllers
(
1
);
lControllers
[
0
].
Name
=
sCommandURL
;
lControllers
[
0
].
Value
<<=
xStatusListener
;
aSearchToolbarControllersMap
.
insert
(
SearchToolbarControllersMap
::
value_type
(
xFrame
,
lControllers
));
}
else
{
sal_Int32
nSize
=
pIt
->
second
.
size
();
for
(
sal_Int32
i
=
0
;
i
<
nSize
;
++
i
)
{
if
(
pIt
->
second
[
i
].
Name
.
equals
(
sCommandURL
))
return
;
}
pIt
->
second
.
resize
(
nSize
+
1
);
pIt
->
second
[
nSize
].
Name
=
sCommandURL
;
pIt
->
second
[
nSize
].
Value
<<=
xStatusListener
;
}
}
void
SearchToolbarControllersManager
::
freeController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
xStatusListener
,
const
::
rtl
::
OUString
&
sCommandURL
)
{
SearchToolbarControllersMap
::
iterator
pIt
=
aSearchToolbarControllersMap
.
find
(
xFrame
);
if
(
pIt
!=
aSearchToolbarControllersMap
.
end
())
{
for
(
SearchToolbarControllersVec
::
iterator
pItCtrl
=
pIt
->
second
.
begin
();
pItCtrl
!=
pIt
->
second
.
end
();
++
pItCtrl
)
{
if
(
pItCtrl
->
Name
.
equals
(
sCommandURL
))
{
pIt
->
second
.
erase
(
pItCtrl
);
break
;
}
}
if
(
pIt
->
second
.
empty
())
aSearchToolbarControllersMap
.
erase
(
pIt
);
}
}
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
SearchToolbarControllersManager
::
findController
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>&
xFrame
,
const
::
rtl
::
OUString
&
sCommandURL
)
{
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
xStatusListener
;
SearchToolbarControllersMap
::
iterator
pIt
=
aSearchToolbarControllersMap
.
find
(
xFrame
);
if
(
pIt
!=
aSearchToolbarControllersMap
.
end
())
{
for
(
SearchToolbarControllersVec
::
iterator
pItCtrl
=
pIt
->
second
.
begin
();
pItCtrl
!=
pIt
->
second
.
end
();
++
pItCtrl
)
{
if
(
pItCtrl
->
Name
.
equals
(
sCommandURL
))
{
pItCtrl
->
Value
>>=
xStatusListener
;
break
;
}
}
}
return
xStatusListener
;
}
//-----------------------------------------------------------------------------------------------------------
// FindTextToolbarController
FindTextToolbarController
::
FindTextToolbarController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rServiceManager
)
:
svt
::
ToolboxController
(
rServiceManager
,
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
(),
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
".uno:FindText"
))
)
{
m_xURLTransformer
=
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
(
m_xServiceManager
->
createInstance
(
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.util.URLTransformer"
))),
css
::
uno
::
UNO_QUERY_THROW
);
}
FindTextToolbarController
::~
FindTextToolbarController
()
{
}
// XInterface
css
::
uno
::
Any
SAL_CALL
FindTextToolbarController
::
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Any
a
=
ToolboxController
::
queryInterface
(
aType
);
if
(
a
.
hasValue
()
)
return
a
;
return
::
cppu
::
queryInterface
(
aType
,
static_cast
<
css
::
lang
::
XServiceInfo
*
>
(
this
)
);
}
void
SAL_CALL
FindTextToolbarController
::
acquire
()
throw
()
{
ToolboxController
::
acquire
();
}
void
SAL_CALL
FindTextToolbarController
::
release
()
throw
()
{
ToolboxController
::
release
();
}
// XServiceInfo
::
rtl
::
OUString
SAL_CALL
FindTextToolbarController
::
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getImplementationName_Static
();
}
sal_Bool
SAL_CALL
FindTextToolbarController
::
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
)
{
const
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNL
(
getSupportedServiceNames
()
);
const
::
rtl
::
OUString
*
pArray
=
aSNL
.
getConstArray
();
for
(
sal_Int32
i
=
0
;
i
<
aSNL
.
getLength
();
i
++
)
if
(
pArray
[
i
]
==
ServiceName
)
return
true
;
return
false
;
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
FindTextToolbarController
::
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getSupportedServiceNames_Static
();
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
FindTextToolbarController
::
getSupportedServiceNames_Static
()
throw
()
{
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNS
(
1
);
aSNS
.
getArray
()[
0
]
=
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.frame.ToolbarController"
)
);
return
aSNS
;
}
// XComponent
void
SAL_CALL
FindTextToolbarController
::
dispose
()
throw
(
css
::
uno
::
RuntimeException
)
{
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
SearchToolbarControllersManager
::
createControllersManager
()
->
freeController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
svt
::
ToolboxController
::
dispose
();
delete
m_pFindTextFieldControl
;
m_pFindTextFieldControl
=
0
;
}
// XInitialization
void
SAL_CALL
FindTextToolbarController
::
initialize
(
const
css
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
)
{
svt
::
ToolboxController
::
initialize
(
aArguments
);
Window
*
pWindow
=
VCLUnoHelper
::
GetWindow
(
getParent
()
);
ToolBox
*
pToolBox
=
(
ToolBox
*
)
pWindow
;
if
(
pToolBox
)
{
USHORT
nItemCount
=
pToolBox
->
GetItemCount
();
for
(
USHORT
i
=
0
;
i
<
nItemCount
;
++
i
)
{
::
rtl
::
OUString
sItemCommand
=
pToolBox
->
GetItemCommand
(
i
);
if
(
sItemCommand
.
equals
(
COMMAND_DOWNSEARCH
)
)
m_nDownSearchId
=
i
;
else
if
(
sItemCommand
.
equals
(
COMMAND_UPSEARCH
))
m_nUpSearchId
=
i
;
}
}
SearchToolbarControllersManager
::
createControllersManager
()
->
registryController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
}
// XToolbarController
void
SAL_CALL
FindTextToolbarController
::
execute
(
sal_Int16
/*KeyModifier*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
}
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>
SAL_CALL
FindTextToolbarController
::
createItemWindow
(
const
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>&
Parent
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>
xItemWindow
;
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>
xParent
(
Parent
);
Window
*
pParent
=
VCLUnoHelper
::
GetWindow
(
xParent
);
if
(
pParent
)
{
ToolBox
*
pToolbar
=
(
ToolBox
*
)
pParent
;
m_pFindTextFieldControl
=
new
FindTextFieldControl
(
pToolbar
,
WinBits
(
WB_DROPDOWN
|
WB_VSCROLL
),
m_xFrame
,
m_xServiceManager
);
// Calculate height of the edit field according to the application font height
sal_Int32
nHeight
=
getFontSizePixel
(
m_pFindTextFieldControl
);
nHeight
+=
200
;
m_pFindTextFieldControl
->
SetSizePixel
(
Size
(
100
,
nHeight
));
m_pFindTextFieldControl
->
SetModifyHdl
(
LINK
(
this
,
FindTextToolbarController
,
EditModifyHdl
));
}
xItemWindow
=
VCLUnoHelper
::
GetInterface
(
m_pFindTextFieldControl
);
return
xItemWindow
;
}
// XStatusListener
void
SAL_CALL
FindTextToolbarController
::
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
rEvent
)
throw
(
css
::
uno
::
RuntimeException
)
{
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
if
(
m_bDisposed
)
return
;
::
rtl
::
OUString
aFeatureURL
=
rEvent
.
FeatureURL
.
Complete
;
if
(
aFeatureURL
.
equalsAscii
(
"AppendSearchHistory"
))
{
m_pFindTextFieldControl
->
Remember_Impl
(
m_pFindTextFieldControl
->
GetText
());
}
}
sal_Int32
FindTextToolbarController
::
getFontSizePixel
(
const
Window
*
pWindow
)
{
const
StyleSettings
&
rSettings
=
Application
::
GetSettings
().
GetStyleSettings
();
const
Font
&
rFont
=
rSettings
.
GetAppFont
();
// Calculate height of the application font used by window
sal_Int32
nHeight
=
sal_Int32
(
rFont
.
GetHeight
()
);
::
Size
aPixelSize
=
pWindow
->
LogicToPixel
(
::
Size
(
0
,
nHeight
),
MAP_APPFONT
);
return
aPixelSize
.
Height
();
}
IMPL_STATIC_LINK_NOINSTANCE
(
FindTextToolbarController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
,
pExecuteInfo
)
{
const
sal_uInt32
nRef
=
Application
::
ReleaseSolarMutex
();
try
{
// Asynchronous execution as this can lead to our own destruction!
// Framework can recycle our current frame and the layout manager disposes all user interface
// elements if a component gets detached from its frame!
pExecuteInfo
->
xDispatch
->
dispatch
(
pExecuteInfo
->
aTargetURL
,
pExecuteInfo
->
aArgs
);
}
catch
(
css
::
uno
::
Exception
&
)
{
}
Application
::
AcquireSolarMutex
(
nRef
);
delete
pExecuteInfo
;
return
0
;
}
IMPL_LINK
(
FindTextToolbarController
,
EditModifyHdl
,
void
*
,
EMPTYARG
)
{
// enable or disable item DownSearch/UpSearch of findbar
Window
*
pWindow
=
VCLUnoHelper
::
GetWindow
(
getParent
()
);
ToolBox
*
pToolBox
=
(
ToolBox
*
)
pWindow
;
if
(
pToolBox
&&
m_pFindTextFieldControl
)
{
if
(
m_pFindTextFieldControl
->
GetText
().
Len
()
>
0
)
{
if
(
!
pToolBox
->
IsItemEnabled
(
m_nDownSearchId
)
)
pToolBox
->
EnableItem
(
m_nDownSearchId
,
sal_True
);
if
(
!
pToolBox
->
IsItemEnabled
(
m_nUpSearchId
)
)
pToolBox
->
EnableItem
(
m_nUpSearchId
,
sal_True
);
}
else
{
if
(
pToolBox
->
IsItemEnabled
(
m_nDownSearchId
)
)
pToolBox
->
EnableItem
(
m_nDownSearchId
,
sal_False
);
if
(
pToolBox
->
IsItemEnabled
(
m_nUpSearchId
)
)
pToolBox
->
EnableItem
(
m_nUpSearchId
,
sal_False
);
}
}
return
0
;
}
//-----------------------------------------------------------------------------------------------------------
// class DownSearchToolboxController
DownSearchToolboxController
::
DownSearchToolboxController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rServiceManager
)
:
svt
::
ToolboxController
(
rServiceManager
,
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
(),
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
".uno:DownSearch"
))
)
{
m_xURLTransformer
=
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
(
m_xServiceManager
->
createInstance
(
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.util.URLTransformer"
))),
css
::
uno
::
UNO_QUERY_THROW
);
}
DownSearchToolboxController
::~
DownSearchToolboxController
()
{
}
// XInterface
css
::
uno
::
Any
SAL_CALL
DownSearchToolboxController
::
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Any
a
=
ToolboxController
::
queryInterface
(
aType
);
if
(
a
.
hasValue
()
)
return
a
;
return
::
cppu
::
queryInterface
(
aType
,
static_cast
<
css
::
lang
::
XServiceInfo
*
>
(
this
)
);
}
void
SAL_CALL
DownSearchToolboxController
::
acquire
()
throw
()
{
ToolboxController
::
acquire
();
}
void
SAL_CALL
DownSearchToolboxController
::
release
()
throw
()
{
ToolboxController
::
release
();
}
// XServiceInfo
::
rtl
::
OUString
SAL_CALL
DownSearchToolboxController
::
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getImplementationName_Static
();
}
sal_Bool
SAL_CALL
DownSearchToolboxController
::
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
)
{
const
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNL
(
getSupportedServiceNames
()
);
const
::
rtl
::
OUString
*
pArray
=
aSNL
.
getConstArray
();
for
(
sal_Int32
i
=
0
;
i
<
aSNL
.
getLength
();
i
++
)
if
(
pArray
[
i
]
==
ServiceName
)
return
true
;
return
false
;
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
DownSearchToolboxController
::
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getSupportedServiceNames_Static
();
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
DownSearchToolboxController
::
getSupportedServiceNames_Static
()
throw
()
{
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNS
(
1
);
aSNS
.
getArray
()[
0
]
=
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.frame.ToolbarController"
));
return
aSNS
;
}
// XComponent
void
SAL_CALL
DownSearchToolboxController
::
dispose
()
throw
(
css
::
uno
::
RuntimeException
)
{
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
SearchToolbarControllersManager
::
createControllersManager
()
->
freeController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
svt
::
ToolboxController
::
dispose
();
}
// XInitialization
void
SAL_CALL
DownSearchToolboxController
::
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
)
{
svt
::
ToolboxController
::
initialize
(
aArguments
);
SearchToolbarControllersManager
::
createControllersManager
()
->
registryController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
}
// XToolbarController
void
SAL_CALL
DownSearchToolboxController
::
execute
(
sal_Int16
/*KeyModifier*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
if
(
m_bDisposed
)
throw
css
::
lang
::
DisposedException
();
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
xDispatch
;
css
::
util
::
URL
aTargetURL
;
if
(
m_xURLTransformer
.
is
()
)
{
aTargetURL
.
Complete
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:ExecuteSearch"
);
m_xURLTransformer
->
parseStrict
(
aTargetURL
);
css
::
uno
::
Reference
<
css
::
frame
::
XDispatchProvider
>
xDispatchProvider
(
m_xFrame
,
css
::
uno
::
UNO_QUERY
);
if
(
xDispatchProvider
.
is
()
)
xDispatch
=
xDispatchProvider
->
queryDispatch
(
aTargetURL
,
rtl
::
OUString
(),
0
);
}
if
(
xDispatch
.
is
()
&&
aTargetURL
.
Complete
.
getLength
()
>
0
)
{
::
rtl
::
OUString
sFindText
;
Window
*
pWindow
=
VCLUnoHelper
::
GetWindow
(
getParent
()
);
ToolBox
*
pToolBox
=
(
ToolBox
*
)
pWindow
;
if
(
pToolBox
)
{
USHORT
nItemCount
=
pToolBox
->
GetItemCount
();
for
(
USHORT
i
=
0
;
i
<
nItemCount
;
++
i
)
{
::
rtl
::
OUString
sItemCommand
=
pToolBox
->
GetItemCommand
(
i
);
if
(
sItemCommand
.
equals
(
COMMAND_FINDTEXT
)
)
{
Window
*
pItemWin
=
pToolBox
->
GetItemWindow
(
i
);
if
(
pItemWin
)
sFindText
=
pItemWin
->
GetText
();
break
;
}
}
}
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>
aArgs
(
2
);
aArgs
[
0
].
Name
=
SEARCHITEM_SEARCHSTRING
;
aArgs
[
0
].
Value
<<=
sFindText
;
aArgs
[
1
].
Name
=
SEARCHITEM_SEARCHBACKWARD
;
aArgs
[
1
].
Value
<<=
sal_False
;
// Execute dispatch asynchronously
ExecuteInfo
*
pExecuteInfo
=
new
ExecuteInfo
;
pExecuteInfo
->
xDispatch
=
xDispatch
;
pExecuteInfo
->
aTargetURL
=
aTargetURL
;
pExecuteInfo
->
aArgs
=
aArgs
;
Application
::
PostUserEvent
(
STATIC_LINK
(
0
,
DownSearchToolboxController
,
ExecuteHdl_Impl
),
pExecuteInfo
);
css
::
frame
::
FeatureStateEvent
aEvent
;
css
::
util
::
URL
aCommand
;
aCommand
.
Complete
=
COMMAND_APPENDSEARCHHISTORY
;
aEvent
.
FeatureURL
=
aCommand
;
aEvent
.
IsEnabled
=
sal_True
;
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
xStatusListener
=
SearchToolbarControllersManager
::
createControllersManager
()
->
findController
(
m_xFrame
,
COMMAND_FINDTEXT
);
xStatusListener
->
statusChanged
(
aEvent
);
}
}
// XStatusListener
void
SAL_CALL
DownSearchToolboxController
::
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
/*rEvent*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
}
IMPL_STATIC_LINK_NOINSTANCE
(
DownSearchToolboxController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
,
pExecuteInfo
)
{
const
sal_uInt32
nRef
=
Application
::
ReleaseSolarMutex
();
try
{
// Asynchronous execution as this can lead to our own destruction!
// Framework can recycle our current frame and the layout manager disposes all user interface
// elements if a component gets detached from its frame!
pExecuteInfo
->
xDispatch
->
dispatch
(
pExecuteInfo
->
aTargetURL
,
pExecuteInfo
->
aArgs
);
}
catch
(
css
::
uno
::
Exception
&
)
{
}
Application
::
AcquireSolarMutex
(
nRef
);
delete
pExecuteInfo
;
return
0
;
}
//-----------------------------------------------------------------------------------------------------------
// class UpSearchToolboxController
UpSearchToolboxController
::
UpSearchToolboxController
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>
&
rServiceManager
)
:
svt
::
ToolboxController
(
rServiceManager
,
css
::
uno
::
Reference
<
css
::
frame
::
XFrame
>
(),
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
".uno:UpSearch"
))
)
{
m_xURLTransformer
=
css
::
uno
::
Reference
<
css
::
util
::
XURLTransformer
>
(
m_xServiceManager
->
createInstance
(
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.util.URLTransformer"
))),
css
::
uno
::
UNO_QUERY_THROW
);
}
UpSearchToolboxController
::~
UpSearchToolboxController
()
{
}
// XInterface
css
::
uno
::
Any
SAL_CALL
UpSearchToolboxController
::
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Any
a
=
ToolboxController
::
queryInterface
(
aType
);
if
(
a
.
hasValue
()
)
return
a
;
return
::
cppu
::
queryInterface
(
aType
,
static_cast
<
css
::
lang
::
XServiceInfo
*
>
(
this
)
);
}
void
SAL_CALL
UpSearchToolboxController
::
acquire
()
throw
()
{
ToolboxController
::
acquire
();
}
void
SAL_CALL
UpSearchToolboxController
::
release
()
throw
()
{
ToolboxController
::
release
();
}
// XServiceInfo
::
rtl
::
OUString
SAL_CALL
UpSearchToolboxController
::
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getImplementationName_Static
();
}
sal_Bool
SAL_CALL
UpSearchToolboxController
::
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
)
{
const
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNL
(
getSupportedServiceNames
()
);
const
::
rtl
::
OUString
*
pArray
=
aSNL
.
getConstArray
();
for
(
sal_Int32
i
=
0
;
i
<
aSNL
.
getLength
();
i
++
)
if
(
pArray
[
i
]
==
ServiceName
)
return
true
;
return
false
;
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
UpSearchToolboxController
::
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getSupportedServiceNames_Static
();
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
UpSearchToolboxController
::
getSupportedServiceNames_Static
()
throw
()
{
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNS
(
1
);
aSNS
.
getArray
()[
0
]
=
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.frame.ToolbarController"
)
);
return
aSNS
;
}
// XComponent
void
SAL_CALL
UpSearchToolboxController
::
dispose
()
throw
(
css
::
uno
::
RuntimeException
)
{
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
SearchToolbarControllersManager
::
createControllersManager
()
->
freeController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
svt
::
ToolboxController
::
dispose
();
}
// XInitialization
void
SAL_CALL
UpSearchToolboxController
::
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
)
{
svt
::
ToolboxController
::
initialize
(
aArguments
);
SearchToolbarControllersManager
::
createControllersManager
()
->
registryController
(
m_xFrame
,
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
(
static_cast
<
::
cppu
::
OWeakObject
*
>
(
this
),
css
::
uno
::
UNO_QUERY
),
m_aCommandURL
);
}
// XToolbarController
void
SAL_CALL
UpSearchToolboxController
::
execute
(
sal_Int16
/*KeyModifier*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
if
(
m_bDisposed
)
throw
css
::
lang
::
DisposedException
();
vos
::
OGuard
aSolarMutexGuard
(
Application
::
GetSolarMutex
()
);
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
xDispatch
;
css
::
util
::
URL
aTargetURL
;
if
(
m_xURLTransformer
.
is
()
)
{
aTargetURL
.
Complete
=
::
rtl
::
OUString
::
createFromAscii
(
".uno:ExecuteSearch"
);
m_xURLTransformer
->
parseStrict
(
aTargetURL
);
css
::
uno
::
Reference
<
css
::
frame
::
XDispatchProvider
>
xDispatchProvider
(
m_xFrame
,
css
::
uno
::
UNO_QUERY
);
if
(
xDispatchProvider
.
is
()
)
xDispatch
=
xDispatchProvider
->
queryDispatch
(
aTargetURL
,
rtl
::
OUString
(),
0
);
}
if
(
xDispatch
.
is
()
&&
aTargetURL
.
Complete
.
getLength
()
>
0
)
{
::
rtl
::
OUString
sFindText
;
Window
*
pWindow
=
VCLUnoHelper
::
GetWindow
(
getParent
()
);
ToolBox
*
pToolBox
=
(
ToolBox
*
)
pWindow
;
if
(
pToolBox
)
{
USHORT
nItemCount
=
pToolBox
->
GetItemCount
();
for
(
USHORT
i
=
0
;
i
<
nItemCount
;
++
i
)
{
::
rtl
::
OUString
sItemCommand
=
pToolBox
->
GetItemCommand
(
i
);
if
(
sItemCommand
.
equals
(
COMMAND_FINDTEXT
)
)
{
Window
*
pItemWin
=
pToolBox
->
GetItemWindow
(
i
);
if
(
pItemWin
)
sFindText
=
pItemWin
->
GetText
();
break
;
}
}
}
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>
aArgs
(
2
);
aArgs
[
0
].
Name
=
SEARCHITEM_SEARCHSTRING
;
aArgs
[
0
].
Value
<<=
sFindText
;
aArgs
[
1
].
Name
=
SEARCHITEM_SEARCHBACKWARD
;
aArgs
[
1
].
Value
<<=
sal_True
;
// Execute dispatch asynchronously
ExecuteInfo
*
pExecuteInfo
=
new
ExecuteInfo
;
pExecuteInfo
->
xDispatch
=
xDispatch
;
pExecuteInfo
->
aTargetURL
=
aTargetURL
;
pExecuteInfo
->
aArgs
=
aArgs
;
Application
::
PostUserEvent
(
STATIC_LINK
(
0
,
UpSearchToolboxController
,
ExecuteHdl_Impl
),
pExecuteInfo
);
css
::
frame
::
FeatureStateEvent
aEvent
;
css
::
util
::
URL
aCommand
;
aCommand
.
Complete
=
COMMAND_APPENDSEARCHHISTORY
;
aEvent
.
FeatureURL
=
aCommand
;
aEvent
.
IsEnabled
=
sal_True
;
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>
xStatusListener
=
SearchToolbarControllersManager
::
createControllersManager
()
->
findController
(
m_xFrame
,
COMMAND_FINDTEXT
);
xStatusListener
->
statusChanged
(
aEvent
);
}
}
// XStatusListener
void
SAL_CALL
UpSearchToolboxController
::
statusChanged
(
const
css
::
frame
::
FeatureStateEvent
&
/*rEvent*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
}
IMPL_STATIC_LINK_NOINSTANCE
(
UpSearchToolboxController
,
ExecuteHdl_Impl
,
ExecuteInfo
*
,
pExecuteInfo
)
{
const
sal_uInt32
nRef
=
Application
::
ReleaseSolarMutex
();
try
{
// Asynchronous execution as this can lead to our own destruction!
// Framework can recycle our current frame and the layout manager disposes all user interface
// elements if a component gets detached from its frame!
pExecuteInfo
->
xDispatch
->
dispatch
(
pExecuteInfo
->
aTargetURL
,
pExecuteInfo
->
aArgs
);
}
catch
(
css
::
uno
::
Exception
&
)
{
}
Application
::
AcquireSolarMutex
(
nRef
);
delete
pExecuteInfo
;
return
0
;
}
//-----------------------------------------------------------------------------------------------------------
// class FindbarDispatcher
FindbarDispatcher
::
FindbarDispatcher
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
xFactory
)
:
m_xFactory
(
xFactory
)
{
}
FindbarDispatcher
::~
FindbarDispatcher
()
{
m_xFactory
=
NULL
;
m_xFrame
=
NULL
;
}
// XInterface
css
::
uno
::
Any
SAL_CALL
FindbarDispatcher
::
queryInterface
(
const
css
::
uno
::
Type
&
aType
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Any
aReturn
(
::
cppu
::
queryInterface
(
aType
,
static_cast
<
css
::
lang
::
XServiceInfo
*
>
(
this
),
static_cast
<
css
::
lang
::
XInitialization
*
>
(
this
),
static_cast
<
css
::
frame
::
XDispatchProvider
*
>
(
this
),
static_cast
<
css
::
frame
::
XDispatch
*
>
(
this
))
);
if
(
aReturn
.
hasValue
()
)
return
aReturn
;
return
OWeakObject
::
queryInterface
(
aType
);
}
void
SAL_CALL
FindbarDispatcher
::
acquire
()
throw
()
{
OWeakObject
::
acquire
();
}
void
SAL_CALL
FindbarDispatcher
::
release
()
throw
()
{
OWeakObject
::
release
();
}
// XServiceInfo
::
rtl
::
OUString
SAL_CALL
FindbarDispatcher
::
getImplementationName
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getImplementationName_Static
();
}
sal_Bool
SAL_CALL
FindbarDispatcher
::
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
css
::
uno
::
RuntimeException
)
{
return
(
ServiceName
.
equalsAscii
(
"com.sun.star.comp.svx.FindbarDispatcher"
)
||
ServiceName
.
equalsAscii
(
"com.sun.star.frame.ProtocolHandler"
)
);
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
FindbarDispatcher
::
getSupportedServiceNames
()
throw
(
css
::
uno
::
RuntimeException
)
{
return
getSupportedServiceNames_Static
();
}
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
FindbarDispatcher
::
getSupportedServiceNames_Static
()
throw
()
{
css
::
uno
::
Sequence
<
::
rtl
::
OUString
>
aSNS
(
2
);
aSNS
.
getArray
()[
0
]
=
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.comp.svx.FindbarDispatcher"
));
aSNS
.
getArray
()[
1
]
=
::
rtl
::
OUString
(
RTL_CONSTASCII_USTRINGPARAM
(
"com.sun.star.frame.ProtocolHandler"
));
return
aSNS
;
}
// XInitialization
void
SAL_CALL
FindbarDispatcher
::
initialize
(
const
css
::
uno
::
Sequence
<
css
::
uno
::
Any
>&
aArguments
)
throw
(
css
::
uno
::
Exception
,
css
::
uno
::
RuntimeException
)
{
if
(
aArguments
.
getLength
()
)
{
aArguments
[
0
]
>>=
m_xFrame
;
}
}
// XDispatchProvider
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
SAL_CALL
FindbarDispatcher
::
queryDispatch
(
const
css
::
util
::
URL
&
aURL
,
const
::
rtl
::
OUString
&
/*sTargetFrameName*/
,
sal_Int32
/*nSearchFlags*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
xDispatch
;
if
(
aURL
.
Protocol
.
equalsAscii
(
"vnd.sun.star.findbar:"
)
)
xDispatch
=
this
;
return
xDispatch
;
}
css
::
uno
::
Sequence
<
css
::
uno
::
Reference
<
css
::
frame
::
XDispatch
>
>
SAL_CALL
FindbarDispatcher
::
queryDispatches
(
const
css
::
uno
::
Sequence
<
css
::
frame
::
DispatchDescriptor
>&
seqDescripts
)
throw
(
css
::
uno
::
RuntimeException
)
{
sal_Int32
nCount
=
seqDescripts
.
getLength
();
css
::
uno
::
Sequence
<
css
::
uno
::
Reference
<
XDispatch
>
>
lDispatcher
(
nCount
);
for
(
sal_Int32
i
=
0
;
i
<
nCount
;
++
i
)
lDispatcher
[
i
]
=
queryDispatch
(
seqDescripts
[
i
].
FeatureURL
,
seqDescripts
[
i
].
FrameName
,
seqDescripts
[
i
].
SearchFlags
);
return
lDispatcher
;
}
// XDispatch
void
SAL_CALL
FindbarDispatcher
::
dispatch
(
const
css
::
util
::
URL
&
aURL
,
const
css
::
uno
::
Sequence
<
css
::
beans
::
PropertyValue
>&
/*lArgs*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
//vnd.sun.star.findbar:FocusToFindbar - set cursor to the FindTextFieldControl of the findbar
if
(
aURL
.
Path
.
equalsAscii
(
"FocusToFindbar"
)
)
{
css
::
uno
::
Reference
<
css
::
beans
::
XPropertySet
>
xPropSet
(
m_xFrame
,
css
::
uno
::
UNO_QUERY
);
if
(
!
xPropSet
.
is
())
return
;
css
::
uno
::
Reference
<
css
::
frame
::
XLayoutManager
>
xLayoutManager
;
css
::
uno
::
Any
aValue
=
xPropSet
->
getPropertyValue
(
::
rtl
::
OUString
::
createFromAscii
(
"LayoutManager"
)
);
aValue
>>=
xLayoutManager
;
if
(
!
xLayoutManager
.
is
())
return
;
const
::
rtl
::
OUString
sResourceURL
=
::
rtl
::
OUString
::
createFromAscii
(
"private:resource/toolbar/findbar"
);
css
::
uno
::
Reference
<
css
::
ui
::
XUIElement
>
xUIElement
=
xLayoutManager
->
getElement
(
sResourceURL
);
if
(
!
xUIElement
.
is
())
return
;
css
::
uno
::
Reference
<
css
::
awt
::
XWindow
>
xWindow
(
xUIElement
->
getRealInterface
(),
css
::
uno
::
UNO_QUERY
);
Window
*
pWindow
=
VCLUnoHelper
::
GetWindow
(
xWindow
);
ToolBox
*
pToolBox
=
(
ToolBox
*
)
pWindow
;
if
(
pToolBox
)
{
USHORT
nItemCount
=
pToolBox
->
GetItemCount
();
for
(
USHORT
i
=
0
;
i
<
nItemCount
;
++
i
)
{
::
rtl
::
OUString
sItemCommand
=
pToolBox
->
GetItemCommand
(
i
);
if
(
sItemCommand
.
equalsAscii
(
".uno:FindText"
)
)
{
Window
*
pItemWin
=
pToolBox
->
GetItemWindow
(
i
);
if
(
pItemWin
)
{
pItemWin
->
GrabFocus
();
return
;
}
}
}
}
}
}
void
SAL_CALL
FindbarDispatcher
::
addStatusListener
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
/*xControl*/
,
const
css
::
util
::
URL
&
/*aURL*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
}
void
SAL_CALL
FindbarDispatcher
::
removeStatusListener
(
const
css
::
uno
::
Reference
<
css
::
frame
::
XStatusListener
>&
/*xControl*/
,
const
css
::
util
::
URL
&
/*aURL*/
)
throw
(
css
::
uno
::
RuntimeException
)
{
}
//-----------------------------------------------------------------------------------------------------------
// create Instance
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
FindTextToolbarController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
)
{
return
*
new
FindTextToolbarController
(
rSMgr
);
}
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
DownSearchToolboxController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
)
{
return
*
new
DownSearchToolboxController
(
rSMgr
);
}
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
UpSearchToolboxController_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
)
{
return
*
new
UpSearchToolboxController
(
rSMgr
);
}
css
::
uno
::
Reference
<
css
::
uno
::
XInterface
>
SAL_CALL
FindbarDispatcher_createInstance
(
const
css
::
uno
::
Reference
<
css
::
lang
::
XMultiServiceFactory
>&
rSMgr
)
{
return
*
new
FindbarDispatcher
(
rSMgr
);
}
//-----------------------------------------------------------------------------------------------------------
}
svx/source/unodraw/unoctabl.cxx
Dosyayı görüntüle @
8a429819
...
...
@@ -39,6 +39,7 @@
#include "recoveryui.hxx"
#include "xmlgrhlp.hxx"
#include "tbunocontroller.hxx"
#include "tbunosearchcontrollers.hxx"
using
namespace
::
com
::
sun
::
star
;
using
namespace
::
rtl
;
...
...
@@ -283,6 +284,12 @@ SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo (
writeInfo
(
pKey
,
svx
::
GraphicExporter_getImplementationName
(),
svx
::
GraphicExporter_getSupportedServiceNames
()
);
#endif
writeInfo
(
pKey
,
svx
::
FontHeightToolBoxControl
::
getImplementationName_Static
(),
svx
::
FontHeightToolBoxControl
::
getSupportedServiceNames_Static
()
);
writeInfo
(
pKey
,
svx
::
FindTextToolbarController
::
getImplementationName_Static
(),
svx
::
FindTextToolbarController
::
getSupportedServiceNames_Static
()
);
writeInfo
(
pKey
,
svx
::
DownSearchToolboxController
::
getImplementationName_Static
(),
svx
::
DownSearchToolboxController
::
getSupportedServiceNames_Static
()
);
writeInfo
(
pKey
,
svx
::
UpSearchToolboxController
::
getImplementationName_Static
(),
svx
::
UpSearchToolboxController
::
getSupportedServiceNames_Static
()
);
writeInfo
(
pKey
,
svx
::
FindbarDispatcher
::
getImplementationName_Static
(),
svx
::
FindbarDispatcher
::
getSupportedServiceNames_Static
()
);
writeInfo
(
pKey
,
::
unogallery
::
GalleryThemeProvider_getImplementationName
(),
::
unogallery
::
GalleryThemeProvider_getSupportedServiceNames
()
);
// XPrimitiveFactory2D
...
...
@@ -354,6 +361,34 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
svx
::
FontHeightToolBoxControl_createInstance
,
svx
::
FontHeightToolBoxControl
::
getSupportedServiceNames_Static
()
);
}
else
if
(
svx
::
FindTextToolbarController
::
getImplementationName_Static
().
equalsAscii
(
pImplName
)
)
{
xFactory
=
createSingleFactory
(
reinterpret_cast
<
lang
::
XMultiServiceFactory
*
>
(
pServiceManager
),
svx
::
FindTextToolbarController
::
getImplementationName_Static
(),
svx
::
FindTextToolbarController_createInstance
,
svx
::
FindTextToolbarController
::
getSupportedServiceNames_Static
()
);
}
else
if
(
svx
::
DownSearchToolboxController
::
getImplementationName_Static
().
equalsAscii
(
pImplName
)
)
{
xFactory
=
createSingleFactory
(
reinterpret_cast
<
lang
::
XMultiServiceFactory
*
>
(
pServiceManager
),
svx
::
DownSearchToolboxController
::
getImplementationName_Static
(),
svx
::
DownSearchToolboxController_createInstance
,
svx
::
DownSearchToolboxController
::
getSupportedServiceNames_Static
()
);
}
else
if
(
svx
::
UpSearchToolboxController
::
getImplementationName_Static
().
equalsAscii
(
pImplName
)
)
{
xFactory
=
createSingleFactory
(
reinterpret_cast
<
lang
::
XMultiServiceFactory
*
>
(
pServiceManager
),
svx
::
UpSearchToolboxController
::
getImplementationName_Static
(),
svx
::
UpSearchToolboxController_createInstance
,
svx
::
UpSearchToolboxController
::
getSupportedServiceNames_Static
()
);
}
else
if
(
svx
::
FindbarDispatcher
::
getImplementationName_Static
().
equalsAscii
(
pImplName
)
)
{
xFactory
=
createSingleFactory
(
reinterpret_cast
<
lang
::
XMultiServiceFactory
*
>
(
pServiceManager
),
svx
::
FindbarDispatcher
::
getImplementationName_Static
(),
svx
::
FindbarDispatcher_createInstance
,
svx
::
FindbarDispatcher
::
getSupportedServiceNames_Static
()
);
}
else
if
(
::
unogallery
::
GalleryThemeProvider_getImplementationName
().
equalsAscii
(
pImplName
)
)
{
xFactory
=
::
cppu
::
createSingleFactory
(
reinterpret_cast
<
lang
::
XMultiServiceFactory
*
>
(
pServiceManager
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment