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