LCOV - code coverage report
Current view: top level - sc/source/ui/formdlg - privsplt.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 160 0.0 %
Date: 2012-08-25 Functions: 0 12 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 132 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : #include "privsplt.hxx"
      30                 :            : 
      31                 :            : /*************************************************************************
      32                 :            : #*  Member:     ScPrivatSplit
      33                 :            : #*------------------------------------------------------------------------
      34                 :            : #*
      35                 :            : #*  Klasse:     MD_Test
      36                 :            : #*
      37                 :            : #*  Funktion:   Konstruktor der Klasse ScPrivatSplit
      38                 :            : #*
      39                 :            : #*  Input:      ---
      40                 :            : #*
      41                 :            : #*  Output:     ---
      42                 :            : #*
      43                 :            : #************************************************************************/
      44                 :            : 
      45                 :          0 : ScPrivatSplit::ScPrivatSplit( Window* pParent, const ResId& rResId,
      46                 :            :                              SC_SPLIT_DIRECTION eSplit):
      47         [ #  # ]:          0 :                         Control( pParent, rResId )
      48                 :            : {
      49         [ #  # ]:          0 :     Point aPos=GetPosPixel();
      50                 :          0 :     nOldX=(short)aPos.X();
      51                 :          0 :     nOldY=(short)aPos.Y();
      52                 :          0 :     nNewX=(short)aPos.X();
      53                 :          0 :     nNewY=(short)aPos.Y();
      54                 :          0 :     eScSplit=eSplit;
      55                 :          0 :     aXMovingRange.Min()=nNewX;
      56                 :          0 :     aXMovingRange.Max()=nNewX;
      57                 :          0 :     aYMovingRange.Min()=nNewY;
      58                 :          0 :     aYMovingRange.Max()=nNewY;
      59                 :            : 
      60         [ #  # ]:          0 :     aWinPointer=GetPointer();
      61                 :            : 
      62                 :          0 :     aMovingFlag=false;
      63         [ #  # ]:          0 :     if(eScSplit==SC_SPLIT_HORZ)
      64                 :            :     {
      65                 :          0 :         aWinPointer=Pointer(POINTER_HSPLIT);
      66                 :            :     }
      67                 :            :     else
      68                 :            :     {
      69                 :          0 :         aWinPointer=Pointer(POINTER_VSPLIT);
      70                 :            :     }
      71         [ #  # ]:          0 :     SetPointer(aWinPointer);
      72                 :          0 : }
      73                 :            : 
      74                 :            : 
      75                 :            : /*************************************************************************
      76                 :            : #*  Member:     MouseButtonDown
      77                 :            : #*------------------------------------------------------------------------
      78                 :            : #*
      79                 :            : #*  Klasse:     ScPrivatSplit
      80                 :            : #*
      81                 :            : #*  Funktion:   Reagiert auf einen einzelnen Mouse-Event. Nach Aufruf
      82                 :            : #*              werden alle Mauseingaben an dieses Control weitergeleitet.
      83                 :            : #*
      84                 :            : #*  Input:      ---
      85                 :            : #*
      86                 :            : #*  Output:     ---
      87                 :            : #*
      88                 :            : #************************************************************************/
      89                 :            : 
      90                 :          0 : void ScPrivatSplit::MouseButtonDown( const MouseEvent& rMEvt )
      91                 :            : {
      92         [ #  # ]:          0 :     Point aPos=LogicToPixel(rMEvt.GetPosPixel());
      93                 :            : 
      94                 :          0 :     nOldX=(short)aPos.X();
      95                 :          0 :     nOldY=(short)aPos.Y();
      96                 :            : 
      97         [ #  # ]:          0 :     CaptureMouse();
      98                 :          0 : }
      99                 :            : 
     100                 :            : /*************************************************************************
     101                 :            : #*  Member:     MouseButtonUp
     102                 :            : #*------------------------------------------------------------------------
     103                 :            : #*
     104                 :            : #*  Klasse:     ScPrivatSplit
     105                 :            : #*
     106                 :            : #*  Funktion:   Ende einer Benutzeraktion mit der Maus. Es werden
     107                 :            : #*              die aktuelle Maus- Koordinaten ermittelt und fuer
     108                 :            : #*              die Verschiebung des Fensters verwendet.
     109                 :            : #*
     110                 :            : #*  Input:      ---
     111                 :            : #*
     112                 :            : #*  Output:     ---
     113                 :            : #*
     114                 :            : #************************************************************************/
     115                 :            : 
     116                 :          0 : void ScPrivatSplit::MouseButtonUp( const MouseEvent& rMEvt )
     117                 :            : {
     118         [ #  # ]:          0 :     ReleaseMouse();
     119                 :            : 
     120         [ #  # ]:          0 :     Point aPos=LogicToPixel(rMEvt.GetPosPixel());
     121         [ #  # ]:          0 :     Point a2Pos=GetPosPixel();
     122                 :          0 :     Point a3Pos=a2Pos;
     123                 :            : 
     124         [ #  # ]:          0 :     if(eScSplit==SC_SPLIT_HORZ)
     125                 :            :     {
     126                 :          0 :         nNewX=(short)aPos.X();
     127                 :          0 :         nDeltaX=nNewX-nOldX;
     128                 :          0 :         a2Pos.X()+=nDeltaX;
     129         [ #  # ]:          0 :         if(a2Pos.X()<aXMovingRange.Min())
     130                 :            :         {
     131                 :          0 :             nDeltaX=(short)(aXMovingRange.Min()-a3Pos.X());
     132                 :          0 :             a2Pos.X()=aXMovingRange.Min();
     133                 :            :         }
     134         [ #  # ]:          0 :         else if(a2Pos.X()>aXMovingRange.Max())
     135                 :            :         {
     136                 :          0 :             nDeltaX=(short)(aXMovingRange.Max()-a3Pos.X());
     137                 :          0 :             a2Pos.X()=aXMovingRange.Max();
     138                 :            :         }
     139                 :            :     }
     140                 :            :     else
     141                 :            :     {
     142                 :          0 :         nNewY=(short)aPos.Y();
     143                 :          0 :         nDeltaY=nNewY-nOldY;
     144                 :          0 :         a2Pos.Y()+=nDeltaY;
     145         [ #  # ]:          0 :         if(a2Pos.Y()<aYMovingRange.Min())
     146                 :            :         {
     147                 :          0 :             nDeltaY=(short)(aYMovingRange.Min()-a3Pos.Y());
     148                 :          0 :             a2Pos.Y()=aYMovingRange.Min();
     149                 :            :         }
     150         [ #  # ]:          0 :         else if(a2Pos.Y()>aYMovingRange.Max())
     151                 :            :         {
     152                 :          0 :             nDeltaY=(short)(aYMovingRange.Max()-a3Pos.Y());
     153                 :          0 :             a2Pos.Y()=aYMovingRange.Max();
     154                 :            :         }
     155                 :            :     }
     156         [ #  # ]:          0 :     SetPosPixel(a2Pos);
     157         [ #  # ]:          0 :     Invalidate();
     158         [ #  # ]:          0 :     Update();
     159         [ #  # ]:          0 :     CtrModified();
     160                 :          0 : }
     161                 :            : 
     162                 :            : /*************************************************************************
     163                 :            : #*  Member:     MouseMove
     164                 :            : #*------------------------------------------------------------------------
     165                 :            : #*
     166                 :            : #*  Klasse:     ScPrivatSplit
     167                 :            : #*
     168                 :            : #*  Funktion:   Reagiert kontinuierlich auf Mausbewegungen. Es werden
     169                 :            : #*              die aktuelle Maus- Koordinaten ermittelt und fuer
     170                 :            : #*              die Verschiebung des Fensters verwendet.
     171                 :            : #*
     172                 :            : #*  Input:      ---
     173                 :            : #*
     174                 :            : #*  Output:     ---
     175                 :            : #*
     176                 :            : #************************************************************************/
     177                 :            : 
     178                 :          0 : void ScPrivatSplit::MouseMove( const MouseEvent& rMEvt )
     179                 :            : {
     180         [ #  # ]:          0 :     Point aPos=LogicToPixel(rMEvt.GetPosPixel());
     181         [ #  # ]:          0 :     Point a2Pos=GetPosPixel();
     182                 :          0 :     Point a3Pos=a2Pos;
     183         [ #  # ]:          0 :     if(rMEvt.IsLeft())
     184                 :            :     {
     185         [ #  # ]:          0 :         if(eScSplit==SC_SPLIT_HORZ)
     186                 :            :         {
     187                 :          0 :             nNewX=(short)aPos.X();
     188                 :          0 :             nDeltaX=nNewX-nOldX;
     189                 :          0 :             a2Pos.X()+=nDeltaX;
     190                 :            : 
     191         [ #  # ]:          0 :             if(a2Pos.X()<aXMovingRange.Min())
     192                 :            :             {
     193                 :          0 :                 nDeltaX=(short)(aXMovingRange.Min()-a3Pos.X());
     194                 :          0 :                 a2Pos.X()=aXMovingRange.Min();
     195                 :            :             }
     196         [ #  # ]:          0 :             else if(a2Pos.X()>aXMovingRange.Max())
     197                 :            :             {
     198                 :          0 :                 nDeltaX=(short)(aXMovingRange.Max()-a3Pos.X());
     199                 :          0 :                 a2Pos.X()=aXMovingRange.Max();
     200                 :            :             }
     201                 :            :         }
     202                 :            :         else
     203                 :            :         {
     204                 :          0 :             nNewY=(short)aPos.Y();
     205                 :          0 :             nDeltaY=nNewY-nOldY;
     206                 :          0 :             a2Pos.Y()+=nDeltaY;
     207         [ #  # ]:          0 :             if(a2Pos.Y()<aYMovingRange.Min())
     208                 :            :             {
     209                 :          0 :                 nDeltaY=(short)(aYMovingRange.Min()-a3Pos.Y());
     210                 :          0 :                 a2Pos.Y()=aYMovingRange.Min();
     211                 :            :             }
     212         [ #  # ]:          0 :             else if(a2Pos.Y()>aYMovingRange.Max())
     213                 :            :             {
     214                 :          0 :                 nDeltaY=(short)(aYMovingRange.Max()-a3Pos.Y());
     215                 :          0 :                 a2Pos.Y()=aYMovingRange.Max();
     216                 :            :             }
     217                 :            :         }
     218                 :            : 
     219         [ #  # ]:          0 :         SetPosPixel(a2Pos);
     220                 :            : 
     221         [ #  # ]:          0 :         CtrModified();
     222         [ #  # ]:          0 :         Invalidate();
     223         [ #  # ]:          0 :         Update();
     224                 :            :     }
     225                 :          0 : }
     226                 :            : 
     227                 :            : /*************************************************************************
     228                 :            : #*  Member:     SetYRange
     229                 :            : #*------------------------------------------------------------------------
     230                 :            : #*
     231                 :            : #*  Klasse:     ScPrivatSplit
     232                 :            : #*
     233                 :            : #*  Funktion:   Setzt den Range fuer die Y- Verschiebung
     234                 :            : #*
     235                 :            : #*  Input:      neuer Bereich
     236                 :            : #*
     237                 :            : #*  Output:     ---
     238                 :            : #*
     239                 :            : #************************************************************************/
     240                 :          0 : void ScPrivatSplit::SetYRange(Range cRgeY)
     241                 :            : {
     242                 :          0 :     aYMovingRange=cRgeY;
     243                 :          0 : }
     244                 :            : 
     245                 :            : 
     246                 :            : 
     247                 :            : /*************************************************************************
     248                 :            : #*  Member:     GetDeltaY
     249                 :            : #*------------------------------------------------------------------------
     250                 :            : #*
     251                 :            : #*  Klasse:     ScPrivatSplit
     252                 :            : #*
     253                 :            : #*  Funktion:   Liefert die relative x-Verschiebung zurueck
     254                 :            : #*
     255                 :            : #*  Input:      ---
     256                 :            : #*
     257                 :            : #*  Output:     ---
     258                 :            : #*
     259                 :            : #************************************************************************/
     260                 :          0 : short ScPrivatSplit::GetDeltaX()
     261                 :            : {
     262                 :          0 :     return nDeltaX;
     263                 :            : }
     264                 :            : 
     265                 :            : /*************************************************************************
     266                 :            : #*  Member:     GetDeltaY
     267                 :            : #*------------------------------------------------------------------------
     268                 :            : #*
     269                 :            : #*  Klasse:     ScPrivatSplit
     270                 :            : #*
     271                 :            : #*  Funktion:   Liefert die relative y-Verschiebung zurueck
     272                 :            : #*
     273                 :            : #*  Input:      ---
     274                 :            : #*
     275                 :            : #*  Output:     ---
     276                 :            : #*
     277                 :            : #************************************************************************/
     278                 :          0 : short ScPrivatSplit::GetDeltaY()
     279                 :            : {
     280                 :          0 :     return nDeltaY;
     281                 :            : }
     282                 :            : 
     283                 :            : /*************************************************************************
     284                 :            : #*  Member:     CtrModified
     285                 :            : #*------------------------------------------------------------------------
     286                 :            : #*
     287                 :            : #*  Klasse:     ScPrivatSplit
     288                 :            : #*
     289                 :            : #*  Funktion:   Teilt einem installierten Handler mit, dass
     290                 :            : #*              eine Veraenderung eingetreten ist.
     291                 :            : #*
     292                 :            : #*  Input:      ---
     293                 :            : #*
     294                 :            : #*  Output:     ---
     295                 :            : #*
     296                 :            : #************************************************************************/
     297                 :          0 : void ScPrivatSplit::CtrModified()
     298                 :            : {
     299                 :          0 :     aCtrModifiedLink.Call( this );
     300                 :          0 : }
     301                 :            : 
     302                 :          0 : void ScPrivatSplit::MoveSplitTo(Point aPos)
     303                 :            : {
     304         [ #  # ]:          0 :     Point a2Pos=GetPosPixel();
     305                 :          0 :     nOldX=(short)a2Pos.X();
     306                 :          0 :     nOldY=(short)a2Pos.Y();
     307                 :          0 :     Point a3Pos=a2Pos;
     308                 :            : 
     309         [ #  # ]:          0 :     if(eScSplit==SC_SPLIT_HORZ)
     310                 :            :     {
     311                 :          0 :         nNewX=(short)aPos.X();
     312                 :          0 :         nDeltaX=nNewX-nOldX;
     313                 :          0 :         a2Pos.X()+=nDeltaX;
     314         [ #  # ]:          0 :         if(a2Pos.X()<aXMovingRange.Min())
     315                 :            :         {
     316                 :          0 :             nDeltaX=(short)(aXMovingRange.Min()-a3Pos.X());
     317                 :          0 :             a2Pos.X()=aXMovingRange.Min();
     318                 :            :         }
     319         [ #  # ]:          0 :         else if(a2Pos.X()>aXMovingRange.Max())
     320                 :            :         {
     321                 :          0 :             nDeltaX=(short)(aXMovingRange.Max()-a3Pos.X());
     322                 :          0 :             a2Pos.X()=aXMovingRange.Max();
     323                 :            :         }
     324                 :            :     }
     325                 :            :     else
     326                 :            :     {
     327                 :          0 :         nNewY=(short)aPos.Y();
     328                 :          0 :         nDeltaY=nNewY-nOldY;
     329                 :          0 :         a2Pos.Y()+=nDeltaY;
     330         [ #  # ]:          0 :         if(a2Pos.Y()<aYMovingRange.Min())
     331                 :            :         {
     332                 :          0 :             nDeltaY=(short)(aYMovingRange.Min()-a3Pos.Y());
     333                 :          0 :             a2Pos.Y()=aYMovingRange.Min();
     334                 :            :         }
     335         [ #  # ]:          0 :         else if(a2Pos.Y()>aYMovingRange.Max())
     336                 :            :         {
     337                 :          0 :             nDeltaY=(short)(aYMovingRange.Max()-a3Pos.Y());
     338                 :          0 :             a2Pos.Y()=aYMovingRange.Max();
     339                 :            :         }
     340                 :            :     }
     341         [ #  # ]:          0 :     SetPosPixel(a2Pos);
     342         [ #  # ]:          0 :     Invalidate();
     343         [ #  # ]:          0 :     Update();
     344         [ #  # ]:          0 :     CtrModified();
     345                 :          0 : }
     346                 :            : 
     347                 :            : 
     348                 :          0 : void ScPrivatSplit::ImplInitSettings( sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground )
     349                 :            : {
     350                 :          0 :     const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
     351                 :            : 
     352         [ #  # ]:          0 :     if ( bFont )
     353                 :            :     {
     354         [ #  # ]:          0 :         Font aFont = rStyleSettings.GetAppFont();
     355 [ #  # ][ #  # ]:          0 :         if ( IsControlFont() )
     356 [ #  # ][ #  # ]:          0 :             aFont.Merge( GetControlFont() );
                 [ #  # ]
     357 [ #  # ][ #  # ]:          0 :         SetFont( aFont );
     358                 :            :     }
     359                 :            : 
     360 [ #  # ][ #  # ]:          0 :     if ( bFont || bForeground )
     361                 :            :     {
     362                 :          0 :         Color aTextColor = rStyleSettings.GetButtonTextColor();
     363 [ #  # ][ #  # ]:          0 :         if ( IsControlForeground() )
     364         [ #  # ]:          0 :             aTextColor = GetControlForeground();
     365         [ #  # ]:          0 :         SetTextColor( aTextColor );
     366                 :            :     }
     367                 :            : 
     368         [ #  # ]:          0 :     if ( bBackground )
     369                 :            :     {
     370         [ #  # ]:          0 :         SetBackground( rStyleSettings.GetFaceColor());
     371                 :            :     }
     372         [ #  # ]:          0 :     if ( IsBackground() )
     373                 :            :     {
     374                 :          0 :         SetFillColor( GetBackground().GetColor() );
     375                 :          0 :         SetBackground();
     376                 :            :     }
     377                 :          0 :     Invalidate();
     378                 :          0 : }
     379                 :            : 
     380                 :            : // -----------------------------------------------------------------------
     381                 :            : 
     382                 :          0 : void ScPrivatSplit::StateChanged( StateChangedType nType )
     383                 :            : {
     384 [ #  # ][ #  # ]:          0 :     if ( (nType == STATE_CHANGE_ZOOM) ||
     385                 :            :          (nType == STATE_CHANGE_CONTROLFONT) )
     386                 :            :     {
     387                 :          0 :         ImplInitSettings( sal_True, false, false );
     388                 :          0 :         Invalidate();
     389                 :            :     }
     390         [ #  # ]:          0 :     if ( nType == STATE_CHANGE_CONTROLFOREGROUND )
     391                 :            :     {
     392                 :          0 :         ImplInitSettings( false, sal_True, false );
     393                 :          0 :         Invalidate();
     394                 :            :     }
     395         [ #  # ]:          0 :     else if ( nType == STATE_CHANGE_CONTROLBACKGROUND )
     396                 :            :     {
     397                 :          0 :         ImplInitSettings( false, false, sal_True );
     398                 :          0 :         Invalidate();
     399                 :            :     }
     400                 :            : 
     401                 :          0 :     Control::StateChanged( nType );
     402                 :          0 : }
     403                 :            : 
     404                 :            : // -----------------------------------------------------------------------
     405                 :            : 
     406                 :          0 : void ScPrivatSplit::DataChanged( const DataChangedEvent& rDCEvt )
     407                 :            : {
     408   [ #  #  #  # ]:          0 :     if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) &&
                 [ #  # ]
     409                 :          0 :          (rDCEvt.GetFlags() & SETTINGS_STYLE) )
     410                 :            :     {
     411                 :          0 :         ImplInitSettings( sal_True, sal_True, sal_True );
     412                 :          0 :         Invalidate();
     413                 :            :     }
     414                 :            :     else
     415                 :          0 :         Window::DataChanged( rDCEvt );
     416                 :          0 : }
     417                 :            : 
     418                 :            : 
     419                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10