20 #include <statusindicator.hxx>
22 #include <com/sun/star/awt/PosSize.hpp>
23 #include <com/sun/star/awt/XFixedText.hpp>
24 #include <com/sun/star/uno/XComponentContext.hpp>
28 #include <progressbar.hxx>
30 using namespace ::
cppu;
31 using namespace ::
osl;
37 #define FIXEDTEXT_SERVICENAME "com.sun.star.awt.UnoControlFixedText"
38 #define FIXEDTEXT_MODELNAME "com.sun.star.awt.UnoControlFixedTextModel"
39 #define CONTROLNAME_TEXT "Text" // identifier the control in container
40 #define CONTROLNAME_PROGRESSBAR "ProgressBar" // -||-
47 : BaseContainerControl ( rxContext )
54 m_xText.set( rxContext->getServiceManager()->createInstanceWithContext(
FIXEDTEXT_SERVICENAME, rxContext ), UNO_QUERY );
58 css::uno::Reference< XControl > xTextControl ( m_xText , UNO_QUERY );
59 xTextControl->setModel( css::uno::Reference< XControlModel >( rxContext->getServiceManager()->createInstanceWithContext(
FIXEDTEXT_MODELNAME, rxContext ), UNO_QUERY ) );
65 m_xProgressBar->setVisible(
true );
68 m_xText->setText(
"" );
87 aReturn = xDel->queryInterface( rType );
124 static OTypeCollection ourTypeCollection(
129 return ourTypeCollection.getTypes();
139 static_cast< XLayoutConstrains* > (
this ) ,
140 static_cast< XStatusIndicator* > (
this )
145 if ( !aReturn.hasValue() )
176 m_xText->setText( OUString() );
212 m_xText->setText( OUString() );
228 ClearableMutexGuard aGuard (
m_aMutex );
231 css::uno::Reference< XLayoutConstrains > xTextLayout (
m_xText, UNO_QUERY );
232 Size aTextSize = xTextLayout->getPreferredSize();
251 return Size ( nWidth, nHeight );
264 const css::uno::Reference< XToolkit > & rToolkit,
265 const css::uno::Reference< XWindowPeer > & rParent
294 return css::uno::Reference< XControlModel > ();
305 css::uno::Reference< XControl > xTextControl (
m_xText , UNO_QUERY );
312 xTextControl->dispose();
332 ( nWidth != aBasePosSize.Width ) ||
333 ( nHeight != aBasePosSize.Height)
337 impl_recalcLayout ( WindowEvent(static_cast< OWeakObject* >(
this),0,0,nWidth,nHeight,0,0,0,0) );
350 WindowDescriptor aDescriptor;
352 aDescriptor.Type = WindowClass_SIMPLE;
353 aDescriptor.WindowServiceName =
"floatingwindow";
354 aDescriptor.ParentIndex = -1;
355 aDescriptor.Parent = xParentPeer;
367 if ( !rGraphics.is () )
378 css::uno::Reference< XControl > xTextControl(
m_xText, UNO_QUERY );
379 xPeer = xTextControl->getPeer();
402 sal_Int32 nX_ProgressBar;
403 sal_Int32 nY_ProgressBar;
404 sal_Int32 nWidth_ProgressBar;
405 sal_Int32 nHeight_ProgressBar;
408 sal_Int32 nWidth_Text;
409 sal_Int32 nHeight_Text;
415 Size aWindowSize ( aEvent.Width, aEvent.Height );
416 css::uno::Reference< XLayoutConstrains > xTextLayout (
m_xText, UNO_QUERY );
417 Size aTextSize = xTextLayout->getPreferredSize();
431 nWidth_Text = aTextSize.
Width;
432 nHeight_Text = aTextSize.
Height;
435 nY_ProgressBar = nY_Text;
437 nHeight_ProgressBar = nHeight_Text;
440 css::uno::Reference< XWindow > xTextWindow (
m_xText , UNO_QUERY );
442 xTextWindow->setPosSize ( nX_Text , nY_Text , nWidth_Text , nHeight_Text , 15 );
443 m_xProgressBar->setPosSize( nX_ProgressBar, nY_ProgressBar, nWidth_ProgressBar, nHeight_ProgressBar, 15 );
448 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
450 css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any>
const&)
virtual css::awt::Size SAL_CALL getPreferredSize() override
css::uno::Reference< css::awt::XFixedText > m_xText
#define STATUSINDICATOR_FREEBORDER
virtual ~StatusIndicator() override
rtl::Reference< ProgressBar > m_xProgressBar
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &aType) override
virtual void SAL_CALL setValue(sal_Int32 nValue) override
#define STATUSINDICATOR_DEFAULT_HEIGHT
virtual void SAL_CALL release() override
decrement refcount XInterface acquire() A RuntimeException is thrown.
const css::uno::Reference< css::awt::XGraphics > & impl_getGraphicsPeer() const
virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit > &xToolkit, const css::uno::Reference< css::awt::XWindowPeer > &xParent) override
virtual void SAL_CALL end() override
sal_Int32 impl_getHeight() const
virtual void SAL_CALL setText(const OUString &sText) override
virtual css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel() override
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * stardiv_UnoControls_StatusIndicator_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
#define STATUSINDICATOR_LINECOLOR_BRIGHT
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
get information about supported interfaces XTypeProvider
virtual void impl_recalcLayout(const css::awt::WindowEvent &aEvent) override
virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit > &xToolkit, const css::uno::Reference< css::awt::XWindowPeer > &xParent) override
sal_Int32 impl_getWidth() const
tools::Long Width() const
virtual css::awt::Size SAL_CALL getMinimumSize() override
#define FIXEDTEXT_SERVICENAME
virtual void impl_paint(sal_Int32 nX, sal_Int32 nY, const css::uno::Reference< css::awt::XGraphics > &rGraphics) override
virtual void SAL_CALL acquire() override
increment refcount XInterface release() A RuntimeException is thrown.
virtual void SAL_CALL setPosSize(sal_Int32 nX, sal_Int32 nY, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nFlags) override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &aType) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
give answer, if interface is supported The interfaces are searched by type.
virtual css::awt::Rectangle SAL_CALL getPosSize() override
virtual void SAL_CALL setVisible(sal_Bool bVisible) override
StatusIndicator(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
#define CONTROLNAME_PROGRESSBAR
#define STATUSINDICATOR_LINECOLOR_SHADOW
virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override
#define FIXEDTEXT_MODELNAME
virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel > &xModel) override
virtual void SAL_CALL removeControl(const css::uno::Reference< css::awt::XControl > &xControl) override
virtual void SAL_CALL dispose() override
virtual void SAL_CALL start(const OUString &sText, sal_Int32 nRange) override
tools::Long Height() const
virtual css::awt::Size SAL_CALL calcAdjustedSize(const css::awt::Size &aNewSize) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
get information about supported interfaces XTypeProvider
const css::uno::Reference< css::uno::XInterface > & impl_getDelegator() const
virtual css::awt::WindowDescriptor impl_getWindowDescriptor(const css::uno::Reference< css::awt::XWindowPeer > &xParentPeer) override
virtual void SAL_CALL dispose() override
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
virtual void SAL_CALL acquire() override
increment refcount XInterface release() A RuntimeException is thrown.
#define STATUSINDICATOR_BACKGROUNDCOLOR
virtual void SAL_CALL reset() override
#define STATUSINDICATOR_DEFAULT_WIDTH
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
virtual void SAL_CALL release() override
decrement refcount XInterface acquire() A RuntimeException is thrown.
const css::uno::Reference< css::awt::XWindow > & impl_getPeerWindow() const
virtual void SAL_CALL setPosSize(sal_Int32 nX, sal_Int32 nY, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nFlags) override