xref: /AOO41X/main/UnoControls/source/inc/statusindicator.hxx (revision f6c049e22568bcf726837d66c15b178a9c9a692a)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _UNOCONTROLS_STATUSINDICATOR_CTRL_HXX
25 #define _UNOCONTROLS_STATUSINDICATOR_CTRL_HXX
26 
27 //____________________________________________________________________________________________________________
28 //  includes of other projects
29 //____________________________________________________________________________________________________________
30 
31 #include <com/sun/star/awt/XControlModel.hpp>
32 #include <com/sun/star/awt/XFixedText.hpp>
33 #include <com/sun/star/awt/XGraphics.hpp>
34 #include <com/sun/star/awt/XLayoutConstrains.hpp>
35 #include <com/sun/star/awt/XProgressBar.hpp>
36 #include <com/sun/star/task/XStatusIndicator.hpp>
37 #include <com/sun/star/awt/XToolkit.hpp>
38 #include <com/sun/star/awt/XWindowPeer.hpp>
39 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
40 
41 //____________________________________________________________________________________________________________
42 //  includes of my own project
43 //____________________________________________________________________________________________________________
44 #include "basecontainercontrol.hxx"
45 
46 //____________________________________________________________________________________________________________
47 //  namespace
48 //____________________________________________________________________________________________________________
49 
50 namespace unocontrols{
51 
52 #define UNO3_ANY                                        ::com::sun::star::uno::Any
53 #define UNO3_OUSTRING                                   ::rtl::OUString
54 #define UNO3_RECTANGLE                                  ::com::sun::star::awt::Rectangle
55 #define UNO3_REFERENCE                                  ::com::sun::star::uno::Reference
56 #define UNO3_RUNTIMEEXCEPTION                           ::com::sun::star::uno::RuntimeException
57 #define UNO3_SEQUENCE                                   ::com::sun::star::uno::Sequence
58 #define UNO3_SIZE                                       ::com::sun::star::awt::Size
59 #define UNO3_TYPE                                       ::com::sun::star::uno::Type
60 #define UNO3_XCONTROLMODEL                              ::com::sun::star::awt::XControlModel
61 #define UNO3_XFIXEDTEXT                                 ::com::sun::star::awt::XFixedText
62 #define UNO3_XGRAPHICS                                  ::com::sun::star::awt::XGraphics
63 #define UNO3_XLAYOUTCONSTRAINS                          ::com::sun::star::awt::XLayoutConstrains
64 #define UNO3_XMULTISERVICEFACTORY                       ::com::sun::star::lang::XMultiServiceFactory
65 #define UNO3_XPROGRESSBAR                               ::com::sun::star::awt::XProgressBar
66 #define UNO3_XSTATUSINDICATOR                           ::com::sun::star::task::XStatusIndicator
67 #define UNO3_XTOOLKIT                                   ::com::sun::star::awt::XToolkit
68 #define UNO3_XWINDOWPEER                                ::com::sun::star::awt::XWindowPeer
69 
70 //____________________________________________________________________________________________________________
71 //  defines
72 //____________________________________________________________________________________________________________
73 
74 #define SERVICENAME_STATUSINDICATOR                     "com.sun.star.task.XStatusIndicator"
75 #define IMPLEMENTATIONNAME_STATUSINDICATOR              "stardiv.UnoControls.StatusIndicator"
76 #undef  FREEBORDER
77 #define FREEBORDER                                      5                                                       // border around and between the controls
78 #define FIXEDTEXT_SERVICENAME                           "com.sun.star.awt.UnoControlFixedText"
79 #define FIXEDTEXT_MODELNAME                             "com.sun.star.awt.UnoControlFixedTextModel"
80 #define CONTROLNAME_TEXT                                "Text"                                                  // identifier the control in container
81 #define CONTROLNAME_PROGRESSBAR                         "ProgressBar"                                           //              -||-
82 #define DEFAULT_TEXT                                    "\0"
83 #define BACKGROUNDCOLOR                                 TRGB_COLORDATA( 0x00, 0xC0, 0xC0, 0xC0 )                // lighgray
84 #define LINECOLOR_BRIGHT                                TRGB_COLORDATA( 0x00, 0xFF, 0xFF, 0xFF )                // white
85 #define LINECOLOR_SHADOW                                TRGB_COLORDATA( 0x00, 0x00, 0x00, 0x00 )                // black
86 // Overwrite defines from basecontrol.hxx!!!
87 #undef  DEFAULT_WIDTH
88 #undef  DEFAULT_HEIGHT
89 #define DEFAULT_WIDTH                                   300
90 #define DEFAULT_HEIGHT                                   25
91 
92 //____________________________________________________________________________________________________________
93 //  structs, types
94 //____________________________________________________________________________________________________________
95 
96 //____________________________________________________________________________________________________________
97 //  class declaration
98 //____________________________________________________________________________________________________________
99 
100 class StatusIndicator   : public UNO3_XLAYOUTCONSTRAINS
101                         , public UNO3_XSTATUSINDICATOR
102                         , public BaseContainerControl
103 {
104 
105     //-------------------------------------------------------------------------------------------------------------
106     //  public methods
107     //-------------------------------------------------------------------------------------------------------------
108 
109     public:
110 
111         //---------------------------------------------------------------------------------------------------------
112         //  construct/destruct
113         //---------------------------------------------------------------------------------------------------------
114 
115         /**_______________________________________________________________________________________________________
116             @short
117             @descr
118 
119             @seealso
120 
121             @param
122 
123             @return
124 
125             @onerror
126         */
127 
128         StatusIndicator( const UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY >& xFactory );
129 
130         /**_______________________________________________________________________________________________________
131             @short
132             @descr
133 
134             @seealso
135 
136             @param
137 
138             @return
139 
140             @onerror
141         */
142 
143         virtual ~StatusIndicator();
144 
145         //---------------------------------------------------------------------------------------------------------
146         //  XInterface
147         //---------------------------------------------------------------------------------------------------------
148 
149         /**_______________________________________________________________________________________________________
150             @short      give answer, if interface is supported
151             @descr      The interfaces are searched by type.
152 
153             @seealso    XInterface
154 
155             @param      "rType" is the type of searched interface.
156 
157             @return     Any     information about found interface
158 
159             @onerror    A RuntimeException is thrown.
160         */
161 
162         virtual UNO3_ANY SAL_CALL queryInterface( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION );
163 
164         /**_______________________________________________________________________________________________________
165             @short      increment refcount
166             @descr      -
167 
168             @seealso    XInterface
169             @seealso    release()
170 
171             @param      -
172 
173             @return     -
174 
175             @onerror    A RuntimeException is thrown.
176         */
177 
178         virtual void SAL_CALL acquire() throw();
179 
180         /**_______________________________________________________________________________________________________
181             @short      decrement refcount
182             @descr      -
183 
184             @seealso    XInterface
185             @seealso    acquire()
186 
187             @param      -
188 
189             @return     -
190 
191             @onerror    A RuntimeException is thrown.
192         */
193 
194         virtual void SAL_CALL release() throw();
195 
196         //---------------------------------------------------------------------------------------------------------
197         //  XTypeProvider
198         //---------------------------------------------------------------------------------------------------------
199 
200         /**_______________________________________________________________________________________________________
201             @short      get information about supported interfaces
202             @descr      -
203 
204             @seealso    XTypeProvider
205 
206             @param      -
207 
208             @return     Sequence of types of all supported interfaces
209 
210             @onerror    A RuntimeException is thrown.
211         */
212 
213         virtual UNO3_SEQUENCE< UNO3_TYPE > SAL_CALL getTypes() throw( UNO3_RUNTIMEEXCEPTION );
214 
215         //---------------------------------------------------------------------------------------------------------
216         //  XAggregation
217         //---------------------------------------------------------------------------------------------------------
218 
219         /**_______________________________________________________________________________________________________
220             @short      -
221             @descr      -
222 
223             @seealso    -
224 
225             @param      -
226 
227             @return     -
228 
229             @onerror    -
230         */
231 
232         virtual UNO3_ANY SAL_CALL queryAggregation( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION );
233 
234         //---------------------------------------------------------------------------------------------------------
235         //  XStatusIndicator
236         //---------------------------------------------------------------------------------------------------------
237 
238         /*-****************************************************************************************************//**
239             @short      -
240             @descr      -
241 
242             @seealso    -
243 
244             @param      -
245 
246             @return     -
247 
248             @onerror    -
249         *//*-*****************************************************************************************************/
250 
251         virtual void SAL_CALL start(    const   UNO3_OUSTRING&  sText   ,
252                                                 sal_Int32       nRange  ) throw( UNO3_RUNTIMEEXCEPTION );
253 
254         /*-****************************************************************************************************//**
255             @short      -
256             @descr      -
257 
258             @seealso    -
259 
260             @param      -
261 
262             @return     -
263 
264             @onerror    -
265         *//*-*****************************************************************************************************/
266 
267         virtual void SAL_CALL end() throw( UNO3_RUNTIMEEXCEPTION );
268 
269         /*-****************************************************************************************************//**
270             @short      -
271             @descr      -
272 
273             @seealso    -
274 
275             @param      -
276 
277             @return     -
278 
279             @onerror    -
280         *//*-*****************************************************************************************************/
281 
282         virtual void SAL_CALL reset() throw( UNO3_RUNTIMEEXCEPTION );
283 
284         /*-****************************************************************************************************//**
285             @short      -
286             @descr      -
287 
288             @seealso    -
289 
290             @param      -
291 
292             @return     -
293 
294             @onerror    -
295         *//*-*****************************************************************************************************/
296 
297         virtual void SAL_CALL setText( const UNO3_OUSTRING& sText ) throw( UNO3_RUNTIMEEXCEPTION );
298 
299         /*-****************************************************************************************************//**
300             @short      -
301             @descr      -
302 
303             @seealso    -
304 
305             @param      -
306 
307             @return     -
308 
309             @onerror    -
310         *//*-*****************************************************************************************************/
311 
312         virtual void SAL_CALL setValue( sal_Int32 nValue ) throw( UNO3_RUNTIMEEXCEPTION );
313 
314         //---------------------------------------------------------------------------------------------------------
315         //  XLayoutConstrains
316         //---------------------------------------------------------------------------------------------------------
317 
318         /**_______________________________________________________________________________________________________
319             @short      -
320             @descr      -
321 
322             @seealso    -
323 
324             @param      -
325 
326             @return     -
327 
328             @onerror    -
329         */
330 
331         virtual UNO3_SIZE SAL_CALL getMinimumSize() throw( UNO3_RUNTIMEEXCEPTION );
332 
333         /**_______________________________________________________________________________________________________
334             @short      -
335             @descr      -
336 
337             @seealso    -
338 
339             @param      -
340 
341             @return     -
342 
343             @onerror    -
344         */
345 
346         virtual UNO3_SIZE SAL_CALL getPreferredSize() throw( UNO3_RUNTIMEEXCEPTION );
347 
348         /**_______________________________________________________________________________________________________
349             @short      -
350             @descr      -
351 
352             @seealso    -
353 
354             @param      -
355 
356             @return     -
357 
358             @onerror    -
359         */
360 
361         virtual UNO3_SIZE SAL_CALL calcAdjustedSize( const UNO3_SIZE& aNewSize ) throw( UNO3_RUNTIMEEXCEPTION );
362 
363         //---------------------------------------------------------------------------------------------------------
364         //  XControl
365         //---------------------------------------------------------------------------------------------------------
366 
367         /**_______________________________________________________________________________________________________
368             @short      -
369             @descr      -
370 
371             @seealso    -
372 
373             @param      -
374 
375             @return     -
376 
377             @onerror    -
378         */
379 
380         virtual void SAL_CALL createPeer(   const   UNO3_REFERENCE< UNO3_XTOOLKIT >&    xToolkit    ,
381                                             const   UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParent     ) throw( UNO3_RUNTIMEEXCEPTION );
382 
383         /**_______________________________________________________________________________________________________
384             @short      -
385             @descr      -
386 
387             @seealso    -
388 
389             @param      -
390 
391             @return     -
392 
393             @onerror    -
394         */
395 
396         virtual sal_Bool SAL_CALL setModel( const UNO3_REFERENCE< UNO3_XCONTROLMODEL >& xModel ) throw( UNO3_RUNTIMEEXCEPTION );
397 
398         /**_______________________________________________________________________________________________________
399             @short      -
400             @descr      -
401 
402             @seealso    -
403 
404             @param      -
405 
406             @return     -
407 
408             @onerror    -
409         */
410 
411         virtual UNO3_REFERENCE< UNO3_XCONTROLMODEL > SAL_CALL getModel() throw( UNO3_RUNTIMEEXCEPTION );
412 
413         //---------------------------------------------------------------------------------------------------------
414         //  XComponent
415         //---------------------------------------------------------------------------------------------------------
416 
417         /**_______________________________________________________________________________________________________
418             @short      -
419             @descr      -
420 
421             @seealso    -
422 
423             @param      -
424 
425             @return     -
426 
427             @onerror    -
428         */
429 
430         virtual void SAL_CALL dispose() throw( UNO3_RUNTIMEEXCEPTION );
431 
432         //---------------------------------------------------------------------------------------------------------
433         //  XWindow
434         //---------------------------------------------------------------------------------------------------------
435 
436         /**_______________________________________________________________________________________________________
437             @short      -
438             @descr      -
439 
440             @seealso    -
441 
442             @param      -
443 
444             @return     -
445 
446             @onerror    -
447         */
448 
449         virtual void SAL_CALL setPosSize(   sal_Int32   nX      ,
450                                             sal_Int32   nY      ,
451                                             sal_Int32   nWidth  ,
452                                             sal_Int32   nHeight ,
453                                             sal_Int16   nFlags  ) throw( UNO3_RUNTIMEEXCEPTION );
454 
455         //---------------------------------------------------------------------------------------------------------
456         //  BaseControl
457         //---------------------------------------------------------------------------------------------------------
458 
459         /**_______________________________________________________________________________________________________
460             @short      -
461             @descr      -
462 
463             @seealso    -
464 
465             @param      -
466 
467             @return     -
468 
469             @onerror    -
470         */
471 
472         static const UNO3_SEQUENCE< UNO3_OUSTRING > impl_getStaticSupportedServiceNames();
473 
474         /**_______________________________________________________________________________________________________
475             @short      -
476             @descr      -
477 
478             @seealso    -
479 
480             @param      -
481 
482             @return     -
483 
484             @onerror    -
485         */
486 
487         static const UNO3_OUSTRING impl_getStaticImplementationName();
488 
489 //____________________________________________________________________________________________________________
490 //  protected methods
491 //____________________________________________________________________________________________________________
492 
493 protected:
494 
495         /**_______________________________________________________________________________________________________
496             @short      -
497             @descr      -
498 
499             @seealso    -
500 
501             @param      -
502 
503             @return     -
504 
505             @onerror    -
506         */
507 
508         virtual UNO3_WINDOWDESCRIPTOR* impl_getWindowDescriptor( const UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParentPeer );
509 
510         /**_______________________________________________________________________________________________________
511             @short      -
512             @descr      -
513 
514             @seealso    -
515 
516             @param      -
517 
518             @return     -
519 
520             @onerror    -
521         */
522 
523         virtual void impl_paint ( sal_Int32 nX, sal_Int32 nY, const UNO3_REFERENCE< UNO3_XGRAPHICS > & rGraphics );
524 
525         /**_______________________________________________________________________________________________________
526             @short      -
527             @descr      -
528 
529             @seealso    -
530 
531             @param      -
532 
533             @return     -
534 
535             @onerror    -
536         */
537 
538         virtual void impl_recalcLayout( const UNO3_WINDOWEVENT& aEvent );
539 
540 //____________________________________________________________________________________________________________
541 // debug methods
542 //____________________________________________________________________________________________________________
543 
544 private:
545 
546     /**_______________________________________________________________________________________________________
547         @short      -
548         @descr      -
549 
550         @seealso    -
551 
552         @param      -
553 
554         @return     -
555 
556         @onerror    -
557     */
558 
559     #if OSL_DEBUG_LEVEL > 1
560 
561     #endif
562 
563 //____________________________________________________________________________________________________________
564 // private variables
565 //____________________________________________________________________________________________________________
566 
567 private:
568 
569     UNO3_REFERENCE< UNO3_XFIXEDTEXT >       m_xText         ;
570     UNO3_REFERENCE< UNO3_XPROGRESSBAR >     m_xProgressBar  ;
571 
572 };  // class StatusIndicator
573 
574 }   // namespace unocontrols
575 
576 #endif  // #ifndef _UNOCONTROLS_STATUSINDICATOR_CTRL_HXX
577