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_BASECONTROL_CTRL_HXX 25 #define _UNOCONTROLS_BASECONTROL_CTRL_HXX 26 27 //____________________________________________________________________________________________________________ 28 // includes of other projects 29 //____________________________________________________________________________________________________________ 30 31 #include <com/sun/star/awt/XKeyListener.hpp> 32 #include <com/sun/star/awt/XPaintListener.hpp> 33 #include <com/sun/star/awt/KeyEvent.hpp> 34 #include <com/sun/star/awt/KeyModifier.hpp> 35 #include <com/sun/star/awt/XMouseMotionListener.hpp> 36 #include <com/sun/star/awt/FocusEvent.hpp> 37 #include <com/sun/star/awt/XWindowListener.hpp> 38 #include <com/sun/star/awt/XActivateListener.hpp> 39 #include <com/sun/star/awt/MouseEvent.hpp> 40 #include <com/sun/star/awt/XTopWindowListener.hpp> 41 #include <com/sun/star/awt/PaintEvent.hpp> 42 #include <com/sun/star/awt/InputEvent.hpp> 43 #include <com/sun/star/awt/KeyGroup.hpp> 44 #include <com/sun/star/awt/Key.hpp> 45 #include <com/sun/star/awt/WindowEvent.hpp> 46 #include <com/sun/star/awt/XMouseListener.hpp> 47 #include <com/sun/star/awt/KeyFunction.hpp> 48 #include <com/sun/star/awt/FocusChangeReason.hpp> 49 #include <com/sun/star/awt/MouseButton.hpp> 50 #include <com/sun/star/awt/XFocusListener.hpp> 51 #include <com/sun/star/awt/XFileDialog.hpp> 52 #include <com/sun/star/awt/XTextComponent.hpp> 53 #include <com/sun/star/awt/XListBox.hpp> 54 #include <com/sun/star/awt/XProgressMonitor.hpp> 55 #include <com/sun/star/awt/TextAlign.hpp> 56 #include <com/sun/star/awt/XScrollBar.hpp> 57 #include <com/sun/star/awt/XVclContainerPeer.hpp> 58 #include <com/sun/star/awt/XTabControllerModel.hpp> 59 #include <com/sun/star/awt/XMessageBox.hpp> 60 #include <com/sun/star/awt/XTextEditField.hpp> 61 #include <com/sun/star/awt/Style.hpp> 62 #include <com/sun/star/awt/XTimeField.hpp> 63 #include <com/sun/star/awt/XVclWindowPeer.hpp> 64 #include <com/sun/star/awt/XControlModel.hpp> 65 #include <com/sun/star/awt/XSpinField.hpp> 66 #include <com/sun/star/awt/XUnoControlContainer.hpp> 67 #include <com/sun/star/awt/XTextLayoutConstrains.hpp> 68 #include <com/sun/star/awt/XNumericField.hpp> 69 #include <com/sun/star/awt/XButton.hpp> 70 #include <com/sun/star/awt/XTextArea.hpp> 71 #include <com/sun/star/awt/XImageButton.hpp> 72 #include <com/sun/star/awt/XFixedText.hpp> 73 #include <com/sun/star/awt/XControlContainer.hpp> 74 #include <com/sun/star/awt/XDialog.hpp> 75 #include <com/sun/star/awt/ScrollBarOrientation.hpp> 76 #include <com/sun/star/awt/XRadioButton.hpp> 77 #include <com/sun/star/awt/XCurrencyField.hpp> 78 #include <com/sun/star/awt/XPatternField.hpp> 79 #include <com/sun/star/awt/VclWindowPeerAttribute.hpp> 80 #include <com/sun/star/awt/XTabController.hpp> 81 #include <com/sun/star/awt/XVclContainer.hpp> 82 #include <com/sun/star/awt/XDateField.hpp> 83 #include <com/sun/star/awt/XComboBox.hpp> 84 #include <com/sun/star/awt/XControl.hpp> 85 #include <com/sun/star/awt/XCheckBox.hpp> 86 #include <com/sun/star/awt/XLayoutConstrains.hpp> 87 #include <com/sun/star/awt/XProgressBar.hpp> 88 #include <com/sun/star/awt/XTopWindow.hpp> 89 #include <com/sun/star/awt/XWindow.hpp> 90 #include <com/sun/star/awt/PosSize.hpp> 91 #include <com/sun/star/awt/XView.hpp> 92 #include <com/sun/star/lang/XServiceInfo.hpp> 93 #include <osl/mutex.hxx> 94 #include <cppuhelper/weak.hxx> 95 #include <cppuhelper/component.hxx> 96 97 //____________________________________________________________________________________________________________ 98 // includes of my project 99 //____________________________________________________________________________________________________________ 100 #include "multiplexer.hxx" 101 102 //____________________________________________________________________________________________________________ 103 // "namespaces" 104 //____________________________________________________________________________________________________________ 105 106 namespace unocontrols{ 107 108 #define UNO3_ANY ::com::sun::star::uno::Any 109 #define UNO3_EVENTOBJECT ::com::sun::star::lang::EventObject 110 #define UNO3_MUTEX ::osl::Mutex 111 #define UNO3_OCOMPONENTHELPER ::cppu::OComponentHelper 112 #define UNO3_OUSTRING ::rtl::OUString 113 #define UNO3_PAINTEVENT ::com::sun::star::awt::PaintEvent 114 #define UNO3_RECTANGLE ::com::sun::star::awt::Rectangle 115 #define UNO3_REFERENCE ::com::sun::star::uno::Reference 116 #define UNO3_RUNTIMEEXCEPTION ::com::sun::star::uno::RuntimeException 117 #define UNO3_SEQUENCE ::com::sun::star::uno::Sequence 118 #define UNO3_SIZE ::com::sun::star::awt::Size 119 #define UNO3_TYPE ::com::sun::star::uno::Type 120 #define UNO3_WINDOWDESCRIPTOR ::com::sun::star::awt::WindowDescriptor 121 #define UNO3_XCONTROL ::com::sun::star::awt::XControl 122 #define UNO3_XCONTROLMODEL ::com::sun::star::awt::XControlModel 123 #define UNO3_XEVENTLISTENER ::com::sun::star::lang::XEventListener 124 #define UNO3_XFOCUSLISTENER ::com::sun::star::awt::XFocusListener 125 #define UNO3_XGRAPHICS ::com::sun::star::awt::XGraphics 126 #define UNO3_XKEYLISTENER ::com::sun::star::awt::XKeyListener 127 #define UNO3_XMOUSELISTENER ::com::sun::star::awt::XMouseListener 128 #define UNO3_XMOUSEMOTIONLISTENER ::com::sun::star::awt::XMouseMotionListener 129 #define UNO3_XMULTISERVICEFACTORY ::com::sun::star::lang::XMultiServiceFactory 130 #define UNO3_XPAINTLISTENER ::com::sun::star::awt::XPaintListener 131 #define UNO3_XSERVICEINFO ::com::sun::star::lang::XServiceInfo 132 #define UNO3_XTOOLKIT ::com::sun::star::awt::XToolkit 133 #define UNO3_XVIEW ::com::sun::star::awt::XView 134 #define UNO3_XWINDOW ::com::sun::star::awt::XWindow 135 #define UNO3_XWINDOWLISTENER ::com::sun::star::awt::XWindowListener 136 #define UNO3_XWINDOWPEER ::com::sun::star::awt::XWindowPeer 137 #define UNO3_XINTERFACE ::com::sun::star::uno::XInterface 138 139 //____________________________________________________________________________________________________________ 140 // macros 141 //____________________________________________________________________________________________________________ 142 143 #define TRGB_COLORDATA(TRANSPARENCE,RED,GREEN,BLUE) \ 144 ((sal_Int32)(((sal_uInt32)((sal_uInt8)(BLUE))))|(((sal_uInt32)((sal_uInt8)(GREEN)))<<8)|(((sal_uInt32)((sal_uInt8)(RED)))<<16)|(((sal_uInt32)((sal_uInt8)(TRANSPARENCE)))<<24)) 145 146 //____________________________________________________________________________________________________________ 147 // structs 148 //____________________________________________________________________________________________________________ 149 150 struct IMPL_MutexContainer 151 { 152 // Is necassery to initialize "BaseControl" and make this class thread-safe. 153 UNO3_MUTEX m_aMutex ; 154 }; 155 156 //____________________________________________________________________________________________________________ 157 // classes 158 //____________________________________________________________________________________________________________ 159 160 class BaseControl : public UNO3_XSERVICEINFO 161 , public UNO3_XPAINTLISTENER 162 , public UNO3_XWINDOWLISTENER 163 , public UNO3_XVIEW 164 , public UNO3_XWINDOW 165 , public UNO3_XCONTROL 166 , public IMPL_MutexContainer 167 , public UNO3_OCOMPONENTHELPER 168 { 169 //____________________________________________________________________________________________________________ 170 // public methods 171 //____________________________________________________________________________________________________________ 172 173 public: 174 175 //________________________________________________________________________________________________________ 176 // construct/destruct 177 //________________________________________________________________________________________________________ 178 179 /**_______________________________________________________________________________________________________ 180 @short - 181 @descr - 182 183 @seealso - 184 185 @param - 186 187 @return - 188 189 @onerror - 190 */ 191 192 BaseControl( const UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY >& xFactory ); 193 194 /**_______________________________________________________________________________________________________ 195 @short - 196 @descr - 197 198 @seealso - 199 200 @param - 201 202 @return - 203 204 @onerror - 205 */ 206 207 virtual ~BaseControl(); 208 209 //________________________________________________________________________________________________________ 210 // XInterface 211 //________________________________________________________________________________________________________ 212 213 /**_______________________________________________________________________________________________________ 214 @short give answer, if interface is supported 215 @descr The interfaces are searched by type. 216 217 @seealso XInterface 218 219 @param "rType" is the type of searched interface. 220 221 @return Any information about found interface 222 223 @onerror A RuntimeException is thrown. 224 */ 225 226 virtual UNO3_ANY SAL_CALL queryInterface( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION ); 227 228 /**_______________________________________________________________________________________________________ 229 @short increment refcount 230 @descr - 231 232 @seealso XInterface 233 @seealso release() 234 235 @param - 236 237 @return - 238 239 @onerror A RuntimeException is thrown. 240 */ 241 242 virtual void SAL_CALL acquire() throw(); 243 244 /**_______________________________________________________________________________________________________ 245 @short decrement refcount 246 @descr - 247 248 @seealso XInterface 249 @seealso acquire() 250 251 @param - 252 253 @return - 254 255 @onerror A RuntimeException is thrown. 256 */ 257 258 virtual void SAL_CALL release() throw(); 259 260 //________________________________________________________________________________________________________ 261 // XTypeProvider 262 //________________________________________________________________________________________________________ 263 264 /**_______________________________________________________________________________________________________ 265 @short get information about supported interfaces 266 @descr - 267 268 @seealso XTypeProvider 269 270 @param - 271 272 @return Sequence of types of all supported interfaces 273 274 @onerror A RuntimeException is thrown. 275 */ 276 277 virtual UNO3_SEQUENCE< UNO3_TYPE > SAL_CALL getTypes() throw( UNO3_RUNTIMEEXCEPTION ); 278 279 /**_______________________________________________________________________________________________________ 280 @short get implementation id 281 @descr This ID is necessary for UNO-caching. If there no ID, cache is disabled. 282 Another way, cache is enabled. 283 284 @seealso XTypeProvider 285 286 @param - 287 288 @return ID as Sequence of byte 289 290 @onerror A RuntimeException is thrown. 291 */ 292 293 virtual UNO3_SEQUENCE< sal_Int8 > SAL_CALL getImplementationId() throw( UNO3_RUNTIMEEXCEPTION ); 294 295 //________________________________________________________________________________________________________ 296 // XAggregation 297 //________________________________________________________________________________________________________ 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 setDelegator( const UNO3_REFERENCE< UNO3_XINTERFACE >& xDelegator ) throw( UNO3_RUNTIMEEXCEPTION ); 313 314 /**_______________________________________________________________________________________________________ 315 @short - 316 @descr - 317 318 @seealso - 319 320 @param - 321 322 @return - 323 324 @onerror - 325 */ 326 327 virtual UNO3_ANY SAL_CALL queryAggregation( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION ); 328 329 //________________________________________________________________________________________________________ 330 // XServiceInfo 331 //________________________________________________________________________________________________________ 332 333 /**_______________________________________________________________________________________________________ 334 @short - 335 @descr - 336 337 @seealso - 338 339 @param - 340 341 @return - 342 343 @onerror - 344 */ 345 346 virtual sal_Bool SAL_CALL supportsService( const UNO3_OUSTRING& sServiceName ) 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_OUSTRING SAL_CALL getImplementationName() throw( UNO3_RUNTIMEEXCEPTION ); 362 363 /**_______________________________________________________________________________________________________ 364 @short - 365 @descr - 366 367 @seealso - 368 369 @param - 370 371 @return - 372 373 @onerror - 374 */ 375 376 virtual UNO3_SEQUENCE< UNO3_OUSTRING > SAL_CALL getSupportedServiceNames() throw( UNO3_RUNTIMEEXCEPTION ); 377 378 //________________________________________________________________________________________________________ 379 // XComponent 380 //________________________________________________________________________________________________________ 381 382 /**_______________________________________________________________________________________________________ 383 @short - 384 @descr - 385 386 @seealso - 387 388 @param - 389 390 @return - 391 392 @onerror - 393 */ 394 395 virtual void SAL_CALL dispose() throw( UNO3_RUNTIMEEXCEPTION ); 396 397 /**_______________________________________________________________________________________________________ 398 @short - 399 @descr - 400 401 @seealso - 402 403 @param - 404 405 @return - 406 407 @onerror - 408 */ 409 410 virtual void SAL_CALL addEventListener( const UNO3_REFERENCE< UNO3_XEVENTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 411 412 /**_______________________________________________________________________________________________________ 413 @short - 414 @descr - 415 416 @seealso - 417 418 @param - 419 420 @return - 421 422 @onerror - 423 */ 424 425 virtual void SAL_CALL removeEventListener( const UNO3_REFERENCE< UNO3_XEVENTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 426 427 //________________________________________________________________________________________________________ 428 // XControl 429 //________________________________________________________________________________________________________ 430 431 /**_______________________________________________________________________________________________________ 432 @short - 433 @descr - 434 435 @seealso - 436 437 @param - 438 439 @return - 440 441 @onerror - 442 */ 443 444 virtual void SAL_CALL createPeer( const UNO3_REFERENCE< UNO3_XTOOLKIT >& xToolkit, const UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParent ) throw( UNO3_RUNTIMEEXCEPTION ); 445 446 /**_______________________________________________________________________________________________________ 447 @short - 448 @descr - 449 450 @seealso - 451 452 @param - 453 454 @return - 455 456 @onerror - 457 */ 458 459 virtual void SAL_CALL setContext( const UNO3_REFERENCE< UNO3_XINTERFACE >& xContext ) throw( UNO3_RUNTIMEEXCEPTION ); 460 461 /**_______________________________________________________________________________________________________ 462 @short - 463 @descr - 464 465 @seealso - 466 467 @param - 468 469 @return - 470 471 @onerror - 472 */ 473 474 virtual sal_Bool SAL_CALL setModel( const UNO3_REFERENCE< UNO3_XCONTROLMODEL >& xModel ) throw( UNO3_RUNTIMEEXCEPTION ) = 0 ; 475 476 /**_______________________________________________________________________________________________________ 477 @short - 478 @descr - 479 480 @seealso - 481 482 @param - 483 484 @return - 485 486 @onerror - 487 */ 488 489 virtual void SAL_CALL setDesignMode( sal_Bool bOn ) throw( UNO3_RUNTIMEEXCEPTION ); 490 491 /**_______________________________________________________________________________________________________ 492 @short - 493 @descr - 494 495 @seealso - 496 497 @param - 498 499 @return - 500 501 @onerror - 502 */ 503 504 virtual UNO3_REFERENCE< UNO3_XINTERFACE > SAL_CALL getContext() throw( UNO3_RUNTIMEEXCEPTION ); 505 506 /**_______________________________________________________________________________________________________ 507 @short - 508 @descr - 509 510 @seealso - 511 512 @param - 513 514 @return - 515 516 @onerror - 517 */ 518 519 virtual UNO3_REFERENCE< UNO3_XCONTROLMODEL > SAL_CALL getModel() throw( UNO3_RUNTIMEEXCEPTION ) = 0; 520 521 /**_______________________________________________________________________________________________________ 522 @short - 523 @descr - 524 525 @seealso - 526 527 @param - 528 529 @return - 530 531 @onerror - 532 */ 533 534 virtual UNO3_REFERENCE< UNO3_XWINDOWPEER > SAL_CALL getPeer() throw( UNO3_RUNTIMEEXCEPTION ); 535 536 /**_______________________________________________________________________________________________________ 537 @short - 538 @descr - 539 540 @seealso - 541 542 @param - 543 544 @return - 545 546 @onerror - 547 */ 548 549 virtual UNO3_REFERENCE< UNO3_XVIEW > SAL_CALL getView() throw( UNO3_RUNTIMEEXCEPTION ); 550 551 /**_______________________________________________________________________________________________________ 552 @short - 553 @descr - 554 555 @seealso - 556 557 @param - 558 559 @return - 560 561 @onerror - 562 */ 563 564 virtual sal_Bool SAL_CALL isDesignMode() throw( UNO3_RUNTIMEEXCEPTION ); 565 566 /**_______________________________________________________________________________________________________ 567 @short - 568 @descr - 569 570 @seealso - 571 572 @param - 573 574 @return - 575 576 @onerror - 577 */ 578 579 virtual sal_Bool SAL_CALL isTransparent() throw( UNO3_RUNTIMEEXCEPTION ); 580 581 //________________________________________________________________________________________________________ 582 // XWindow 583 //________________________________________________________________________________________________________ 584 585 /**_______________________________________________________________________________________________________ 586 @short - 587 @descr - 588 589 @seealso - 590 591 @param - 592 593 @return - 594 595 @onerror - 596 */ 597 598 virtual void SAL_CALL setPosSize( sal_Int32 nX , 599 sal_Int32 nY , 600 sal_Int32 nWidth , 601 sal_Int32 nHeight , 602 sal_Int16 nFlags ) throw( UNO3_RUNTIMEEXCEPTION ); 603 604 /**_______________________________________________________________________________________________________ 605 @short - 606 @descr - 607 608 @seealso - 609 610 @param - 611 612 @return - 613 614 @onerror - 615 */ 616 617 virtual void SAL_CALL setVisible( sal_Bool bVisible ) throw( UNO3_RUNTIMEEXCEPTION ); 618 619 /**_______________________________________________________________________________________________________ 620 @short - 621 @descr - 622 623 @seealso - 624 625 @param - 626 627 @return - 628 629 @onerror - 630 */ 631 632 virtual void SAL_CALL setEnable( sal_Bool bEnable ) throw( UNO3_RUNTIMEEXCEPTION ); 633 634 /**_______________________________________________________________________________________________________ 635 @short - 636 @descr - 637 638 @seealso - 639 640 @param - 641 642 @return - 643 644 @onerror - 645 */ 646 647 virtual void SAL_CALL setFocus() throw( UNO3_RUNTIMEEXCEPTION ); 648 649 /**_______________________________________________________________________________________________________ 650 @short - 651 @descr - 652 653 @seealso - 654 655 @param - 656 657 @return - 658 659 @onerror - 660 */ 661 662 virtual UNO3_RECTANGLE SAL_CALL getPosSize() throw( UNO3_RUNTIMEEXCEPTION ); 663 664 /**_______________________________________________________________________________________________________ 665 @short - 666 @descr - 667 668 @seealso - 669 670 @param - 671 672 @return - 673 674 @onerror - 675 */ 676 677 virtual void SAL_CALL addWindowListener( const UNO3_REFERENCE< UNO3_XWINDOWLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 678 679 /**_______________________________________________________________________________________________________ 680 @short - 681 @descr - 682 683 @seealso - 684 685 @param - 686 687 @return - 688 689 @onerror - 690 */ 691 692 virtual void SAL_CALL addFocusListener( const UNO3_REFERENCE< UNO3_XFOCUSLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 693 694 /**_______________________________________________________________________________________________________ 695 @short - 696 @descr - 697 698 @seealso - 699 700 @param - 701 702 @return - 703 704 @onerror - 705 */ 706 707 virtual void SAL_CALL addKeyListener( const UNO3_REFERENCE< UNO3_XKEYLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 708 709 /**_______________________________________________________________________________________________________ 710 @short - 711 @descr - 712 713 @seealso - 714 715 @param - 716 717 @return - 718 719 @onerror - 720 */ 721 722 virtual void SAL_CALL addMouseListener( const UNO3_REFERENCE< UNO3_XMOUSELISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 723 724 /**_______________________________________________________________________________________________________ 725 @short - 726 @descr - 727 728 @seealso - 729 730 @param - 731 732 @return - 733 734 @onerror - 735 */ 736 737 virtual void SAL_CALL addMouseMotionListener( const UNO3_REFERENCE< UNO3_XMOUSEMOTIONLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 738 739 /**_______________________________________________________________________________________________________ 740 @short - 741 @descr - 742 743 @seealso - 744 745 @param - 746 747 @return - 748 749 @onerror - 750 */ 751 752 virtual void SAL_CALL addPaintListener( const UNO3_REFERENCE< UNO3_XPAINTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 753 754 /**_______________________________________________________________________________________________________ 755 @short - 756 @descr - 757 758 @seealso - 759 760 @param - 761 762 @return - 763 764 @onerror - 765 */ 766 767 virtual void SAL_CALL removeWindowListener( const UNO3_REFERENCE< UNO3_XWINDOWLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 768 769 /**_______________________________________________________________________________________________________ 770 @short - 771 @descr - 772 773 @seealso - 774 775 @param - 776 777 @return - 778 779 @onerror - 780 */ 781 782 virtual void SAL_CALL removeFocusListener( const UNO3_REFERENCE< UNO3_XFOCUSLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 783 784 /**_______________________________________________________________________________________________________ 785 @short - 786 @descr - 787 788 @seealso - 789 790 @param - 791 792 @return - 793 794 @onerror - 795 */ 796 797 virtual void SAL_CALL removeKeyListener( const UNO3_REFERENCE< UNO3_XKEYLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 798 799 /**_______________________________________________________________________________________________________ 800 @short - 801 @descr - 802 803 @seealso - 804 805 @param - 806 807 @return - 808 809 @onerror - 810 */ 811 812 virtual void SAL_CALL removeMouseListener( const UNO3_REFERENCE< UNO3_XMOUSELISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 813 814 /**_______________________________________________________________________________________________________ 815 @short - 816 @descr - 817 818 @seealso - 819 820 @param - 821 822 @return - 823 824 @onerror - 825 */ 826 827 virtual void SAL_CALL removeMouseMotionListener( const UNO3_REFERENCE< UNO3_XMOUSEMOTIONLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 828 829 /**_______________________________________________________________________________________________________ 830 @short - 831 @descr - 832 833 @seealso - 834 835 @param - 836 837 @return - 838 839 @onerror - 840 */ 841 842 virtual void SAL_CALL removePaintListener( const UNO3_REFERENCE< UNO3_XPAINTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION ); 843 844 //________________________________________________________________________________________________________ 845 // XView 846 //________________________________________________________________________________________________________ 847 848 /**_______________________________________________________________________________________________________ 849 @short - 850 @descr - 851 852 @seealso - 853 854 @param - 855 856 @return - 857 858 @onerror - 859 */ 860 861 virtual void SAL_CALL draw( sal_Int32 nX , 862 sal_Int32 nY ) throw( UNO3_RUNTIMEEXCEPTION ); 863 864 /**_______________________________________________________________________________________________________ 865 @short - 866 @descr - 867 868 @seealso - 869 870 @param - 871 872 @return - 873 874 @onerror - 875 */ 876 877 virtual sal_Bool SAL_CALL setGraphics( const UNO3_REFERENCE< UNO3_XGRAPHICS >& xDevice ) throw( UNO3_RUNTIMEEXCEPTION ); 878 879 /**_______________________________________________________________________________________________________ 880 @short - 881 @descr - 882 883 @seealso - 884 885 @param - 886 887 @return - 888 889 @onerror - 890 */ 891 892 virtual void SAL_CALL setZoom( float fZoomX , 893 float fZoomY ) throw( UNO3_RUNTIMEEXCEPTION ); 894 895 /**_______________________________________________________________________________________________________ 896 @short - 897 @descr - 898 899 @seealso - 900 901 @param - 902 903 @return - 904 905 @onerror - 906 */ 907 908 virtual UNO3_REFERENCE< UNO3_XGRAPHICS > SAL_CALL getGraphics() throw( UNO3_RUNTIMEEXCEPTION ); 909 910 /**_______________________________________________________________________________________________________ 911 @short - 912 @descr - 913 914 @seealso - 915 916 @param - 917 918 @return - 919 920 @onerror - 921 */ 922 923 virtual UNO3_SIZE SAL_CALL getSize() throw( UNO3_RUNTIMEEXCEPTION ); 924 925 //________________________________________________________________________________________________________ 926 // UNO3_XEVENTLISTENER 927 //________________________________________________________________________________________________________ 928 929 /**_______________________________________________________________________________________________________ 930 @short - 931 @descr - 932 933 @seealso - 934 935 @param - 936 937 @return - 938 939 @onerror - 940 */ 941 942 virtual void SAL_CALL disposing( const UNO3_EVENTOBJECT& rSource ) throw( UNO3_RUNTIMEEXCEPTION ); 943 944 //________________________________________________________________________________________________________ 945 // XPaintListener 946 //________________________________________________________________________________________________________ 947 948 /**_______________________________________________________________________________________________________ 949 @short - 950 @descr - 951 952 @seealso - 953 954 @param - 955 956 @return - 957 958 @onerror - 959 */ 960 961 virtual void SAL_CALL windowPaint( const UNO3_PAINTEVENT& rEvent ) throw( UNO3_RUNTIMEEXCEPTION ); 962 963 //________________________________________________________________________________________________________ 964 // XWindowListener 965 //________________________________________________________________________________________________________ 966 967 /**_______________________________________________________________________________________________________ 968 @short - 969 @descr - 970 971 @seealso - 972 973 @param - 974 975 @return - 976 977 @onerror - 978 */ 979 980 virtual void SAL_CALL windowResized( const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ); 981 virtual void SAL_CALL windowMoved( const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ); 982 virtual void SAL_CALL windowShown( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ); 983 virtual void SAL_CALL windowHidden( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ); 984 985 //________________________________________________________________________________________________________ 986 // impl but public method to register service 987 //________________________________________________________________________________________________________ 988 989 /**_______________________________________________________________________________________________________ 990 @short - 991 @descr - 992 993 @seealso - 994 995 @param - 996 997 @return - 998 999 @onerror - 1000 */ 1001 1002 static const UNO3_SEQUENCE< UNO3_OUSTRING > impl_getStaticSupportedServiceNames(); 1003 1004 /**_______________________________________________________________________________________________________ 1005 @short - 1006 @descr - 1007 1008 @seealso - 1009 1010 @param - 1011 1012 @return - 1013 1014 @onerror - 1015 */ 1016 1017 static const UNO3_OUSTRING impl_getStaticImplementationName(); 1018 1019 //____________________________________________________________________________________________________________ 1020 // protected methods 1021 //____________________________________________________________________________________________________________ 1022 1023 protected: 1024 using OComponentHelper::disposing; 1025 1026 /**_______________________________________________________________________________________________________ 1027 @short - 1028 @descr - 1029 1030 @seealso - 1031 1032 @param - 1033 1034 @return - 1035 1036 @onerror - 1037 */ 1038 1039 const UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY > impl_getMultiServiceFactory(); 1040 1041 /**_______________________________________________________________________________________________________ 1042 @short - 1043 @descr - 1044 1045 @seealso - 1046 1047 @param - 1048 1049 @return - 1050 1051 @onerror - 1052 */ 1053 1054 const UNO3_REFERENCE< UNO3_XWINDOW > impl_getPeerWindow(); 1055 1056 /**_______________________________________________________________________________________________________ 1057 @short - 1058 @descr - 1059 1060 @seealso - 1061 1062 @param - 1063 1064 @return - 1065 1066 @onerror - 1067 */ 1068 1069 const UNO3_REFERENCE< UNO3_XGRAPHICS > impl_getGraphicsPeer(); 1070 1071 /**_______________________________________________________________________________________________________ 1072 @short - 1073 @descr - 1074 1075 @seealso - 1076 1077 @param - 1078 1079 @return - 1080 1081 @onerror - 1082 */ 1083 1084 const sal_Int32& impl_getWidth(); 1085 1086 /**_______________________________________________________________________________________________________ 1087 @short - 1088 @descr - 1089 1090 @seealso - 1091 1092 @param - 1093 1094 @return - 1095 1096 @onerror - 1097 */ 1098 1099 const sal_Int32& impl_getHeight(); 1100 1101 /**_______________________________________________________________________________________________________ 1102 @short - 1103 @descr - 1104 1105 @seealso - 1106 1107 @param - 1108 1109 @return - 1110 1111 @onerror - 1112 */ 1113 1114 virtual UNO3_WINDOWDESCRIPTOR* impl_getWindowDescriptor( const UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParentPeer ); 1115 1116 /**_______________________________________________________________________________________________________ 1117 @short - 1118 @descr - 1119 1120 @seealso - 1121 1122 @param - 1123 1124 @return - 1125 1126 @onerror - 1127 */ 1128 1129 virtual void impl_paint( sal_Int32 nX , 1130 sal_Int32 nY , 1131 const UNO3_REFERENCE< UNO3_XGRAPHICS >& xGraphics ); 1132 1133 /**_______________________________________________________________________________________________________ 1134 @short - 1135 @descr - 1136 1137 @seealso - 1138 1139 @param - 1140 1141 @return - 1142 1143 @onerror - 1144 */ 1145 1146 virtual void impl_recalcLayout( const UNO3_WINDOWEVENT& aEvent ); 1147 1148 /**_______________________________________________________________________________________________________ 1149 @short - 1150 @descr - 1151 1152 @seealso - 1153 1154 @param - 1155 1156 @return - 1157 1158 @onerror - 1159 */ 1160 1161 UNO3_REFERENCE< UNO3_XINTERFACE > impl_getDelegator(); 1162 1163 //____________________________________________________________________________________________________________ 1164 // private methods 1165 //____________________________________________________________________________________________________________ 1166 1167 private: 1168 1169 /**_______________________________________________________________________________________________________ 1170 @short - 1171 @descr - 1172 1173 @seealso - 1174 1175 @param - 1176 1177 @return - 1178 1179 @onerror - 1180 */ 1181 1182 void impl_releasePeer(); 1183 1184 /**_______________________________________________________________________________________________________ 1185 @short - 1186 @descr - 1187 1188 @seealso - 1189 1190 @param - 1191 1192 @return - 1193 1194 @onerror - 1195 */ 1196 1197 OMRCListenerMultiplexerHelper* impl_getMultiplexer(); 1198 1199 //____________________________________________________________________________________________________________ 1200 // private variables 1201 //____________________________________________________________________________________________________________ 1202 1203 private: 1204 1205 UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY > m_xFactory ; 1206 UNO3_REFERENCE< UNO3_XINTERFACE > m_xDelegator ; 1207 OMRCListenerMultiplexerHelper* m_pMultiplexer ; // multiplex events 1208 UNO3_REFERENCE< UNO3_XINTERFACE > m_xMultiplexer ; 1209 UNO3_REFERENCE< UNO3_XINTERFACE > m_xContext ; 1210 UNO3_REFERENCE< UNO3_XWINDOWPEER > m_xPeer ; 1211 UNO3_REFERENCE< UNO3_XWINDOW > m_xPeerWindow ; 1212 UNO3_REFERENCE< UNO3_XGRAPHICS > m_xGraphicsView ; // graphics for ::com::sun::star::awt::XView-operations 1213 UNO3_REFERENCE< UNO3_XGRAPHICS > m_xGraphicsPeer ; // graphics for painting on a peer 1214 sal_Int32 m_nX ; // Position ... 1215 sal_Int32 m_nY ; 1216 sal_Int32 m_nWidth ; // ... and size of window 1217 sal_Int32 m_nHeight ; 1218 sal_Bool m_bVisible ; // Some state flags 1219 sal_Bool m_bInDesignMode ; 1220 sal_Bool m_bEnable ; 1221 1222 }; // class BaseControl 1223 1224 } // namespace unocontrols 1225 1226 #endif // ifndef _UNOCONTROLS_BASECONTROL_CTRL_HXX 1227