LCOV - code coverage report
Current view: top level - sfx2/source/appl - newhelp.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 59 0.0 %
Date: 2012-08-25 Functions: 0 44 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 40 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       5                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
       6                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8                 :            :  *
       9                 :            :  * This file incorporates work covered by the following license notice:
      10                 :            :  *
      11                 :            :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12                 :            :  *   contributor license agreements. See the NOTICE file distributed
      13                 :            :  *   with this work for additional information regarding copyright
      14                 :            :  *   ownership. The ASF licenses this file to you under the Apache
      15                 :            :  *   License, Version 2.0 (the "License"); you may not use this file
      16                 :            :  *   except in compliance with the License. You may obtain a copy of
      17                 :            :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18                 :            :  */
      19                 :            : #ifndef INCLUDED_SFX_NEWHELP_HXX
      20                 :            : #define INCLUDED_SFX_NEWHELP_HXX
      21                 :            : 
      22                 :            : #include <cppuhelper/implbase1.hxx>
      23                 :            : #include <com/sun/star/uno/Reference.h>
      24                 :            : #include <com/sun/star/frame/XDispatchResultListener.hpp>
      25                 :            : #include <com/sun/star/frame/XDispatch.hpp>
      26                 :            : #include <com/sun/star/frame/XFrame.hpp>
      27                 :            : 
      28                 :            : namespace com { namespace sun { namespace star { namespace awt { class XWindow; } } } }
      29                 :            : namespace com { namespace sun { namespace star { namespace frame { class XFrame; } } } }
      30                 :            : namespace com { namespace sun { namespace star { namespace i18n { class XBreakIterator; } } } }
      31                 :            : namespace com { namespace sun { namespace star { namespace text { class XTextRange; } } } }
      32                 :            : 
      33                 :            : #include <vcl/window.hxx>
      34                 :            : #include <vcl/toolbox.hxx>
      35                 :            : #include <vcl/tabpage.hxx>
      36                 :            : #include <vcl/splitwin.hxx>
      37                 :            : #include <vcl/tabctrl.hxx>
      38                 :            : #include <vcl/combobox.hxx>
      39                 :            : #include <vcl/fixed.hxx>
      40                 :            : #include <vcl/button.hxx>
      41                 :            : #include <vcl/lstbox.hxx>
      42                 :            : #include <vcl/dialog.hxx>
      43                 :            : #include <svtools/svtreebx.hxx>
      44                 :            : #include <unotools/moduleoptions.hxx>
      45                 :            : 
      46                 :            : #include "srchdlg.hxx"
      47                 :            : 
      48                 :            : // class OpenStatusListener_Impl -----------------------------------------
      49                 :            : 
      50                 :            : class OpenStatusListener_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::frame::XDispatchResultListener >
      51                 :            : {
      52                 :            : private:
      53                 :            :     sal_Bool    m_bFinished;
      54                 :            :     sal_Bool    m_bSuccess;
      55                 :            :     Link        m_aOpenLink;
      56                 :            :     String      m_sURL;
      57                 :            : 
      58                 :            : public:
      59                 :            :     OpenStatusListener_Impl() : m_bFinished( sal_False ), m_bSuccess( sal_False ) {}
      60                 :            : 
      61                 :            :     virtual void SAL_CALL   dispatchFinished( const ::com::sun::star::frame::DispatchResultEvent& Event ) throw(::com::sun::star::uno::RuntimeException);
      62                 :            :     virtual void SAL_CALL   disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException);
      63                 :            : 
      64                 :            :     inline sal_Bool         IsFinished() const { return m_bFinished; }
      65                 :            :     inline sal_Bool         IsSuccessful() const { return m_bSuccess; }
      66                 :            :     inline void             SetURL( const String& rURL ) { m_sURL = rURL; }
      67                 :            :     inline String           GetURL() const  { return m_sURL; }
      68                 :            :     inline void             SetOpenHdl( const Link& rLink ) { m_aOpenLink = rLink; }
      69                 :            : };
      70                 :            : 
      71                 :            : // ContentListBox_Impl ---------------------------------------------------
      72                 :            : 
      73                 :            : class ContentListBox_Impl : public SvTreeListBox
      74                 :            : {
      75                 :            : private:
      76                 :            :     Image           aOpenBookImage;
      77                 :            :     Image           aClosedBookImage;
      78                 :            :     Image           aDocumentImage;
      79                 :            : 
      80                 :            :     void            InitRoot();
      81                 :            :     void            ClearChildren( SvLBoxEntry* pParent );
      82                 :            : 
      83                 :            : public:
      84                 :            :     ContentListBox_Impl( Window* pParent, const ResId& rResId );
      85                 :            :     ~ContentListBox_Impl();
      86                 :            : 
      87                 :            : 
      88                 :            :     virtual void    RequestingChildren( SvLBoxEntry* pParent );
      89                 :            :     virtual long    Notify( NotifyEvent& rNEvt );
      90                 :            : 
      91                 :          0 :     inline void     SetOpenHdl( const Link& rLink ) { SetDoubleClickHdl( rLink ); }
      92                 :            :     String          GetSelectEntry() const;
      93                 :            : };
      94                 :            : 
      95                 :            : // class HelpTabPage_Impl ------------------------------------------------
      96                 :            : 
      97                 :            : class SfxHelpIndexWindow_Impl;
      98                 :            : 
      99         [ #  # ]:          0 : class HelpTabPage_Impl : public TabPage
     100                 :            : {
     101                 :            : protected:
     102                 :            :     SfxHelpIndexWindow_Impl*    m_pIdxWin;
     103                 :            : 
     104                 :            : public:
     105                 :            :     HelpTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin, const ResId& rResId );
     106                 :            : 
     107                 :            :     virtual Control*    GetLastFocusControl() = 0;
     108                 :            : };
     109                 :            : 
     110                 :            : // class ContentTabPage_Impl ---------------------------------------------
     111                 :            : 
     112 [ #  # ][ #  # ]:          0 : class ContentTabPage_Impl : public HelpTabPage_Impl
     113                 :            : {
     114                 :            : private:
     115                 :            :     ContentListBox_Impl aContentBox;
     116                 :            : 
     117                 :            : public:
     118                 :            :     ContentTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
     119                 :            : 
     120                 :            :     virtual void        Resize();
     121                 :            :     virtual void        ActivatePage();
     122                 :            :     virtual Control*    GetLastFocusControl();
     123                 :            : 
     124                 :          0 :     inline void     SetOpenHdl( const Link& rLink ) { aContentBox.SetOpenHdl( rLink ); }
     125                 :          0 :     inline String   GetSelectEntry() const { return aContentBox.GetSelectEntry(); }
     126                 :          0 :     inline void     SetFocusOnBox() { aContentBox.GrabFocus(); }
     127                 :            : };
     128                 :            : 
     129                 :            : // class IndexTabPage_Impl -----------------------------------------------
     130                 :            : 
     131         [ #  # ]:          0 : class IndexBox_Impl : public ComboBox
     132                 :            : {
     133                 :            : public:
     134                 :            :     IndexBox_Impl( Window* pParent, const ResId& rResId );
     135                 :            : 
     136                 :            :     virtual void        UserDraw( const UserDrawEvent& rUDEvt );
     137                 :            :     virtual long        Notify( NotifyEvent& rNEvt );
     138                 :            : 
     139                 :            :     void                SelectExecutableEntry();
     140                 :            : };
     141                 :            : 
     142                 :            : class IndexTabPage_Impl : public HelpTabPage_Impl
     143                 :            : {
     144                 :            : private:
     145                 :            :     FixedText           aExpressionFT;
     146                 :            :     IndexBox_Impl       aIndexCB;
     147                 :            :     PushButton          aOpenBtn;
     148                 :            : 
     149                 :            :     Timer               aFactoryTimer;
     150                 :            :     Timer               aKeywordTimer;
     151                 :            :     Link                aKeywordLink;
     152                 :            : 
     153                 :            :     String              sFactory;
     154                 :            :     String              sKeyword;
     155                 :            : 
     156                 :            :     long                nMinWidth;
     157                 :            :     sal_Bool            bIsActivated;
     158                 :            : 
     159                 :            :     void                InitializeIndex();
     160                 :            :     void                ClearIndex();
     161                 :            : 
     162                 :            :     DECL_LINK(OpenHdl, void *);
     163                 :            :     DECL_LINK(          TimeoutHdl, Timer* );
     164                 :            : 
     165                 :            : public:
     166                 :            :     IndexTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
     167                 :            :     ~IndexTabPage_Impl();
     168                 :            : 
     169                 :            :     virtual void        Resize();
     170                 :            :     virtual void        ActivatePage();
     171                 :            :     virtual Control*    GetLastFocusControl();
     172                 :            : 
     173                 :            :     void                SetDoubleClickHdl( const Link& rLink );
     174                 :            :     void                SetFactory( const String& rFactory );
     175                 :          0 :     inline String       GetFactory() const { return sFactory; }
     176                 :            :     String              GetSelectEntry() const;
     177                 :          0 :     inline void         SetFocusOnBox() { aIndexCB.GrabFocus(); }
     178                 :          0 :     inline sal_Bool     HasFocusOnEdit() const { return aIndexCB.HasChildPathFocus(); }
     179                 :            : 
     180                 :          0 :     inline void         SetKeywordHdl( const Link& rLink ) { aKeywordLink = rLink; }
     181                 :            :     void                SetKeyword( const String& rKeyword );
     182                 :            :     sal_Bool            HasKeyword() const;
     183                 :            :     sal_Bool            HasKeywordIgnoreCase();
     184                 :            :     void                OpenKeyword();
     185                 :            : 
     186                 :          0 :     inline void         SelectExecutableEntry() { aIndexCB.SelectExecutableEntry(); }
     187                 :            : };
     188                 :            : 
     189                 :            : // class SearchTabPage_Impl ----------------------------------------------
     190                 :            : 
     191         [ #  # ]:          0 : class SearchBox_Impl : public ComboBox
     192                 :            : {
     193                 :            : private:
     194                 :            :     Link                aSearchLink;
     195                 :            : 
     196                 :            : public:
     197                 :          0 :     SearchBox_Impl( Window* pParent, const ResId& rResId ) :
     198 [ #  # ][ #  # ]:          0 :         ComboBox( pParent, rResId ) { SetDropDownLineCount( 5 ); }
     199                 :            : 
     200                 :            :     virtual long        PreNotify( NotifyEvent& rNEvt );
     201                 :            :     virtual void        Select();
     202                 :            : 
     203                 :          0 :     inline void         SetSearchLink( const Link& rLink ) { aSearchLink = rLink; }
     204                 :            : };
     205                 :            : 
     206         [ #  # ]:          0 : class SearchResultsBox_Impl : public ListBox
     207                 :            : {
     208                 :            : public:
     209                 :          0 :     SearchResultsBox_Impl( Window* pParent, const ResId& rResId ) : ListBox( pParent, rResId ) {}
     210                 :            : 
     211                 :            :     virtual long    Notify( NotifyEvent& rNEvt );
     212                 :            : };
     213                 :            : 
     214                 :            : class SearchTabPage_Impl : public HelpTabPage_Impl
     215                 :            : {
     216                 :            : private:
     217                 :            :     FixedText               aSearchFT;
     218                 :            :     SearchBox_Impl          aSearchED;
     219                 :            :     PushButton              aSearchBtn;
     220                 :            :     CheckBox                aFullWordsCB;
     221                 :            :     CheckBox                aScopeCB;
     222                 :            :     SearchResultsBox_Impl   aResultsLB;
     223                 :            :     PushButton              aOpenBtn;
     224                 :            : 
     225                 :            :     Size                    aMinSize;
     226                 :            :     String                  aFactory;
     227                 :            : 
     228                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >
     229                 :            :                             xBreakIterator;
     230                 :            : 
     231                 :            :     void                ClearSearchResults();
     232                 :            :     void                RememberSearchText( const String& rSearchText );
     233                 :            : 
     234                 :            :     DECL_LINK(SearchHdl, void *);
     235                 :            :     DECL_LINK(OpenHdl, void *);
     236                 :            :     DECL_LINK(ModifyHdl, void *);
     237                 :            : 
     238                 :            : public:
     239                 :            :     SearchTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
     240                 :            :     ~SearchTabPage_Impl();
     241                 :            : 
     242                 :            :     virtual void        Resize();
     243                 :            :     virtual void        ActivatePage();
     244                 :            :     virtual Control*    GetLastFocusControl();
     245                 :            : 
     246                 :            :     void                SetDoubleClickHdl( const Link& rLink );
     247                 :          0 :     inline void         SetFactory( const String& rFactory ) { aFactory = rFactory; }
     248                 :            :     String              GetSelectEntry() const;
     249                 :            :     void                ClearPage();
     250                 :          0 :     inline void         SetFocusOnBox() { aResultsLB.GrabFocus(); }
     251                 :          0 :     inline sal_Bool     HasFocusOnEdit() const { return aSearchED.HasChildPathFocus(); }
     252                 :          0 :     inline String       GetSearchText() const { return aSearchED.GetText(); }
     253                 :          0 :     inline sal_Bool     IsFullWordSearch() const { return aFullWordsCB.IsChecked(); }
     254                 :            :     sal_Bool            OpenKeyword( const String& rKeyword );
     255                 :            : };
     256                 :            : 
     257                 :            : // class BookmarksTabPage_Impl -------------------------------------------
     258                 :            : 
     259                 :            : class BookmarksBox_Impl : public ListBox
     260                 :            : {
     261                 :            : private:
     262                 :            :     void                DoAction( sal_uInt16 nAction );
     263                 :            : 
     264                 :            : public:
     265                 :            :     BookmarksBox_Impl( Window* pParent, const ResId& rResId );
     266                 :            :     ~BookmarksBox_Impl();
     267                 :            : 
     268                 :            :     virtual long        Notify( NotifyEvent& rNEvt );
     269                 :            : };
     270                 :            : 
     271 [ #  # ][ #  # ]:          0 : class BookmarksTabPage_Impl : public HelpTabPage_Impl
         [ #  # ][ #  # ]
     272                 :            : {
     273                 :            : private:
     274                 :            :     FixedText           aBookmarksFT;
     275                 :            :     BookmarksBox_Impl   aBookmarksBox;
     276                 :            :     PushButton          aBookmarksPB;
     277                 :            : 
     278                 :            :     long                nMinWidth;
     279                 :            : 
     280                 :            :     DECL_LINK(OpenHdl, void *);
     281                 :            : 
     282                 :            : public:
     283                 :            :     BookmarksTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
     284                 :            : 
     285                 :            :     virtual void        Resize();
     286                 :            :     virtual void        ActivatePage();
     287                 :            :     virtual Control*    GetLastFocusControl();
     288                 :            : 
     289                 :            :     void                SetDoubleClickHdl( const Link& rLink );
     290                 :            :     String              GetSelectEntry() const;
     291                 :            :     void                AddBookmarks( const String& rTitle, const String& rURL );
     292                 :          0 :     inline void         SetFocusOnBox() { aBookmarksBox.GrabFocus(); }
     293                 :            : };
     294                 :            : 
     295                 :            : // class SfxHelpIndexWindow_Impl -----------------------------------------
     296                 :            : 
     297                 :            : class SfxHelpWindow_Impl;
     298                 :            : 
     299                 :            : class SfxHelpIndexWindow_Impl : public Window
     300                 :            : {
     301                 :            : private:
     302                 :            :     ListBox             aActiveLB;
     303                 :            :     FixedLine           aActiveLine;
     304                 :            : 
     305                 :            :     TabControl          aTabCtrl;
     306                 :            :     Timer               aTimer;
     307                 :            : 
     308                 :            :     Link                aSelectFactoryLink;
     309                 :            :     Link                aPageDoubleClickLink;
     310                 :            :     Link                aIndexKeywordLink;
     311                 :            :     String              sKeyword;
     312                 :            : 
     313                 :            :     SfxHelpWindow_Impl*     pParentWin;
     314                 :            : 
     315                 :            :     ContentTabPage_Impl*    pCPage;
     316                 :            :     IndexTabPage_Impl*      pIPage;
     317                 :            :     SearchTabPage_Impl*     pSPage;
     318                 :            :     BookmarksTabPage_Impl*  pBPage;
     319                 :            : 
     320                 :            :     long                nMinWidth;
     321                 :            :     bool                bWasCursorLeftOrRight;
     322                 :            :     bool                bIsInitDone;
     323                 :            : 
     324                 :            :     void                Initialize();
     325                 :            :     void                SetActiveFactory();
     326                 :            :     HelpTabPage_Impl*   GetCurrentPage( sal_uInt16& rCurId );
     327                 :            : 
     328                 :            :     inline ContentTabPage_Impl*     GetContentPage();
     329                 :            :     inline IndexTabPage_Impl*       GetIndexPage();
     330                 :            :     inline SearchTabPage_Impl*      GetSearchPage();
     331                 :            :     inline BookmarksTabPage_Impl*   GetBookmarksPage();
     332                 :            : 
     333                 :            :     DECL_LINK(          ActivatePageHdl, TabControl* );
     334                 :            :     DECL_LINK(SelectHdl, void *);
     335                 :            :     DECL_LINK(InitHdl, void *);
     336                 :            :     DECL_LINK(SelectFactoryHdl, void *);
     337                 :            :     DECL_LINK(KeywordHdl, void *);
     338                 :            : 
     339                 :            : public:
     340                 :            :     SfxHelpIndexWindow_Impl( SfxHelpWindow_Impl* pParent );
     341                 :            :     ~SfxHelpIndexWindow_Impl();
     342                 :            : 
     343                 :            :     virtual void        Resize();
     344                 :            :     virtual long        PreNotify( NotifyEvent& rNEvt );
     345                 :            :     virtual void        DataChanged( const DataChangedEvent& rDCEvt );
     346                 :            : 
     347                 :            :     void                SetDoubleClickHdl( const Link& rLink );
     348                 :          0 :     inline void         SetSelectFactoryHdl( const Link& rLink ) { aSelectFactoryLink = rLink; }
     349                 :            :     void                SetFactory( const String& rFactory, sal_Bool bActive );
     350                 :          0 :     inline String       GetFactory() const { return pIPage->GetFactory(); }
     351                 :            :     String              GetSelectEntry() const;
     352                 :            :     void                AddBookmarks( const String& rTitle, const String& rURL );
     353                 :            :     bool                IsValidFactory( const String& _rFactory );
     354                 :          0 :     inline String       GetActiveFactoryTitle() const { return aActiveLB.GetSelectEntry(); }
     355                 :            :     inline void         UpdateTabControl() { aTabCtrl.Invalidate(); }
     356                 :            :     void                ClearSearchPage();
     357                 :            :     void                GrabFocusBack();
     358                 :            :     sal_Bool            HasFocusOnEdit() const;
     359                 :            :     String              GetSearchText() const;
     360                 :            :     sal_Bool            IsFullWordSearch() const;
     361                 :            :     void                OpenKeyword( const String& rKeyword );
     362                 :            :     void                SelectExecutableEntry();
     363                 :            :     inline bool         WasCursorLeftOrRight();
     364                 :            : };
     365                 :            : 
     366                 :            : // inlines ---------------------------------------------------------------
     367                 :            : 
     368                 :          0 : ContentTabPage_Impl* SfxHelpIndexWindow_Impl::GetContentPage()
     369                 :            : {
     370         [ #  # ]:          0 :     if ( !pCPage )
     371                 :            :     {
     372         [ #  # ]:          0 :         pCPage = new ContentTabPage_Impl( &aTabCtrl, this );
     373                 :          0 :         pCPage->SetOpenHdl( aPageDoubleClickLink );
     374                 :            :     }
     375                 :          0 :     return pCPage;
     376                 :            : }
     377                 :          0 : IndexTabPage_Impl* SfxHelpIndexWindow_Impl::GetIndexPage()
     378                 :            : {
     379         [ #  # ]:          0 :     if ( !pIPage )
     380                 :            :     {
     381         [ #  # ]:          0 :         pIPage = new IndexTabPage_Impl( &aTabCtrl, this );
     382                 :          0 :         pIPage->SetDoubleClickHdl( aPageDoubleClickLink );
     383                 :          0 :         pIPage->SetKeywordHdl( aIndexKeywordLink );
     384                 :            :     }
     385                 :          0 :     return pIPage;
     386                 :            : }
     387                 :            : 
     388                 :          0 : SearchTabPage_Impl* SfxHelpIndexWindow_Impl::GetSearchPage()
     389                 :            : {
     390         [ #  # ]:          0 :     if ( !pSPage )
     391                 :            :     {
     392         [ #  # ]:          0 :         pSPage = new SearchTabPage_Impl( &aTabCtrl, this );
     393                 :          0 :         pSPage->SetDoubleClickHdl( aPageDoubleClickLink );
     394                 :            :     }
     395                 :          0 :     return pSPage;
     396                 :            : }
     397                 :            : 
     398                 :          0 : BookmarksTabPage_Impl* SfxHelpIndexWindow_Impl::GetBookmarksPage()
     399                 :            : {
     400         [ #  # ]:          0 :     if ( !pBPage )
     401                 :            :     {
     402         [ #  # ]:          0 :         pBPage = new BookmarksTabPage_Impl( &aTabCtrl, this );
     403                 :          0 :         pBPage->SetDoubleClickHdl( aPageDoubleClickLink );
     404                 :            :     }
     405                 :          0 :     return pBPage;
     406                 :            : }
     407                 :            : 
     408                 :          0 : bool SfxHelpIndexWindow_Impl::WasCursorLeftOrRight()
     409                 :            : {
     410                 :          0 :     bool bRet = bWasCursorLeftOrRight;
     411                 :          0 :     bWasCursorLeftOrRight = false;
     412                 :          0 :     return bRet;
     413                 :            : }
     414                 :            : 
     415                 :            : // class TextWin_Impl ----------------------------------------------------
     416                 :            : 
     417                 :            : class TextWin_Impl : public DockingWindow
     418                 :            : {
     419                 :            : public:
     420                 :            :                             TextWin_Impl( Window* pParent );
     421                 :            :     virtual                 ~TextWin_Impl();
     422                 :            : 
     423                 :            :     virtual long            Notify( NotifyEvent& rNEvt );
     424                 :            : };
     425                 :            : 
     426                 :            : // class SfxHelpTextWindow_Impl ------------------------------------------
     427                 :            : 
     428                 :            : class SvtMiscOptions;
     429                 :            : class SfxHelpWindow_Impl;
     430                 :            : 
     431                 :            : class SfxHelpTextWindow_Impl : public Window
     432                 :            : {
     433                 :            : private:
     434                 :            :     ToolBox                 aToolBox;
     435                 :            :     CheckBox                aOnStartupCB;
     436                 :            :     Timer                   aSelectTimer;
     437                 :            :     Image                   aIndexOnImage;
     438                 :            :     Image                   aIndexOffImage;
     439                 :            :     String                  aIndexOnText;
     440                 :            :     String                  aIndexOffText;
     441                 :            :     String                  aSearchText;
     442                 :            :     String                  aOnStartupText;
     443                 :            :     ::rtl::OUString         sCurrentFactory;
     444                 :            : 
     445                 :            :     SfxHelpWindow_Impl*     pHelpWin;
     446                 :            :     Window*                 pTextWin;
     447                 :            :     sfx2::SearchDialog*     pSrchDlg;
     448                 :            :     ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame >
     449                 :            :                             xFrame;
     450                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >
     451                 :            :                             xBreakIterator;
     452                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
     453                 :            :                             xConfiguration;
     454                 :            :     long                    nMinPos;
     455                 :            :     sal_Bool                bIsDebug;
     456                 :            :     sal_Bool                bIsIndexOn;
     457                 :            :     sal_Bool                bIsInClose;
     458                 :            :     sal_Bool                bIsFullWordSearch;
     459                 :            : 
     460                 :            :     sal_Bool                HasSelection() const;
     461                 :            :     void                    InitToolBoxImages();
     462                 :            :     void                    InitOnStartupBox( bool bOnlyText );
     463                 :            :     void                    SetOnStartupBoxPosition();
     464                 :            : 
     465                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >
     466                 :            :                             GetBreakIterator();
     467                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >
     468                 :            :                             getCursor() const;
     469                 :            :     bool                    isHandledKey( const KeyCode& _rKeyCode );
     470                 :            : 
     471                 :            :     DECL_LINK(SelectHdl, void *);
     472                 :            :     DECL_LINK(              NotifyHdl, SvtMiscOptions* );
     473                 :            :     DECL_LINK(              FindHdl, sfx2::SearchDialog* );
     474                 :            :     DECL_LINK(              CloseHdl, sfx2::SearchDialog* );
     475                 :            :     DECL_LINK(              CheckHdl, CheckBox* );
     476                 :            : 
     477                 :            : public:
     478                 :            :     SfxHelpTextWindow_Impl( SfxHelpWindow_Impl* pParent );
     479                 :            :     ~SfxHelpTextWindow_Impl();
     480                 :            : 
     481                 :            :     virtual void            Resize();
     482                 :            :     virtual long            PreNotify( NotifyEvent& rNEvt );
     483                 :            :     virtual void            GetFocus();
     484                 :            :     virtual void            DataChanged( const DataChangedEvent& rDCEvt );
     485                 :            : 
     486                 :            :     inline ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame >
     487                 :          0 :                             getFrame() const { return xFrame; }
     488                 :            : 
     489                 :          0 :     inline void             SetSelectHdl( const Link& rLink ) { aToolBox.SetSelectHdl( rLink ); }
     490                 :            :     void                    ToggleIndex( sal_Bool bOn );
     491                 :            :     void                    SelectSearchText( const String& rSearchText, sal_Bool _bIsFullWordSearch );
     492                 :            :     void                    SetPageStyleHeaderOff() const;
     493                 :          0 :     inline ToolBox&         GetToolBox() { return aToolBox; }
     494                 :            :      void                   CloseFrame();
     495                 :            :     void                    DoSearch();
     496                 :            : };
     497                 :            : 
     498                 :            : // class SfxHelpWindow_Impl ----------------------------------------------
     499                 :            : 
     500                 :            : class HelpInterceptor_Impl;
     501                 :            : class HelpListener_Impl;
     502                 :            : class SfxHelpWindow_Impl : public SplitWindow
     503                 :            : {
     504                 :            : private:
     505                 :            : friend class SfxHelpIndexWindow_Impl;
     506                 :            : 
     507                 :            :     ::com::sun::star::uno::Reference < ::com::sun::star::awt::XWindow >
     508                 :            :                                 xWindow;
     509                 :            :     ::com::sun::star::uno::Reference < ::com::sun::star::frame::XDispatchResultListener >
     510                 :            :                                 xOpenListener;
     511                 :            :     ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame >
     512                 :            :                                 xFrame;
     513                 :            : 
     514                 :            :     SfxHelpIndexWindow_Impl*    pIndexWin;
     515                 :            :     SfxHelpTextWindow_Impl*     pTextWin;
     516                 :            :     HelpInterceptor_Impl*       pHelpInterceptor;
     517                 :            :     HelpListener_Impl*          pHelpListener;
     518                 :            : 
     519                 :            :     sal_Int32           nExpandWidth;
     520                 :            :     sal_Int32           nCollapseWidth;
     521                 :            :     sal_Int32           nHeight;
     522                 :            :     long                nIndexSize;
     523                 :            :     long                nTextSize;
     524                 :            :     sal_Bool            bIndex;
     525                 :            :     sal_Bool            bGrabFocusToToolBox;
     526                 :            :     Point               aWinPos;
     527                 :            :     String              sTitle;
     528                 :            :     String              sKeyword;
     529                 :            : 
     530                 :            :     virtual void        Resize();
     531                 :            :     virtual void        Split();
     532                 :            :     virtual void        GetFocus();
     533                 :            : 
     534                 :            :     void                MakeLayout();
     535                 :            :     void                InitSizes();
     536                 :            :     void                LoadConfig();
     537                 :            :     void                SaveConfig();
     538                 :            :     void                ShowStartPage();
     539                 :            : 
     540                 :            :     DECL_LINK(          SelectHdl, ToolBox* );
     541                 :            :     DECL_LINK(OpenHdl, void *);
     542                 :            :     DECL_LINK(          SelectFactoryHdl, SfxHelpIndexWindow_Impl* );
     543                 :            :     DECL_LINK(          ChangeHdl, HelpListener_Impl* );
     544                 :            : 
     545                 :            : public:
     546                 :            :     SfxHelpWindow_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame >& rFrame,
     547                 :            :                         Window* pParent, WinBits nBits );
     548                 :            :     ~SfxHelpWindow_Impl();
     549                 :            : 
     550                 :            :     virtual long        PreNotify( NotifyEvent& rNEvt );
     551                 :            : 
     552                 :            :     void                setContainerWindow(
     553                 :            :                             ::com::sun::star::uno::Reference < ::com::sun::star::awt::XWindow > xWin );
     554                 :            :     inline ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame >
     555                 :          0 :                         getTextFrame() const { return pTextWin->getFrame(); }
     556                 :            :     inline ::com::sun::star::uno::Reference < ::com::sun::star::frame::XDispatchResultListener >
     557                 :            :                         getOpenListener() const { return xOpenListener; }
     558                 :            : 
     559                 :            :     void                SetFactory( const String& rFactory );
     560                 :            :     void                SetHelpURL( const String& rURL );
     561                 :            :     void                DoAction( sal_uInt16 nActionId );
     562                 :            :     void                CloseWindow();
     563                 :            : 
     564                 :            :     void                UpdateToolbox();
     565                 :          0 :     inline void         OpenKeyword( const String& rKeyword ) { pIndexWin->OpenKeyword( rKeyword ); }
     566                 :            :     inline String       GetFactory() const { return pIndexWin->GetFactory(); }
     567                 :            : 
     568                 :            :     sal_Bool            HasHistoryPredecessor() const;      // forward to interceptor
     569                 :            :     sal_Bool            HasHistorySuccessor() const;        // forward to interceptor
     570                 :            : 
     571                 :            :     void                openDone(const ::rtl::OUString& sURL    ,
     572                 :            :                                        sal_Bool         bSuccess);
     573                 :            : 
     574                 :            :     static ::rtl::OUString  buildHelpURL(const ::rtl::OUString& sFactory        ,
     575                 :            :                                          const ::rtl::OUString& sContent        ,
     576                 :            :                                          const ::rtl::OUString& sAnchor         ,
     577                 :            :                                                sal_Bool         bUseQuestionMark);
     578                 :            : 
     579                 :            :     void                loadHelpContent(const ::rtl::OUString& sHelpURL                ,
     580                 :            :                                               sal_Bool         bAddToHistory = sal_True);
     581                 :            : };
     582                 :            : 
     583                 :            : class SfxAddHelpBookmarkDialog_Impl : public ModalDialog
     584                 :            : {
     585                 :            : private:
     586                 :            :     FixedText       aTitleFT;
     587                 :            :     Edit            aTitleED;
     588                 :            :     OKButton        aOKBtn;
     589                 :            :     CancelButton    aEscBtn;
     590                 :            :     HelpButton      aHelpBtn;
     591                 :            : 
     592                 :            : public:
     593                 :            :     SfxAddHelpBookmarkDialog_Impl( Window* pParent, sal_Bool bRename = sal_True );
     594                 :            :     ~SfxAddHelpBookmarkDialog_Impl();
     595                 :            : 
     596                 :            :     void            SetTitle( const String& rTitle );
     597                 :          0 :     inline String   GetTitle() const { return aTitleED.GetText(); }
     598                 :            : };
     599                 :            : 
     600                 :            : /// Appends ?Language=xy&System=abc to the help URL in rURL
     601                 :            : void AppendConfigToken( String& rURL, sal_Bool bQuestionMark, const rtl::OUString &rLang = rtl::OUString() );
     602                 :            : 
     603                 :            : #endif // #ifndef INCLUDED_SFX_NEWHELP_HXX
     604                 :            : 
     605                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10