LCOV - code coverage report
Current view: top level - libreoffice/sfx2/source/appl - newhelp.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 59 0.0 %
Date: 2012-12-17 Functions: 0 44 0.0 %
Legend: Lines: hit not hit

          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/treelistbox.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( SvTreeListEntry* pParent );
      82             : 
      83             : public:
      84             :     ContentListBox_Impl( Window* pParent, const ResId& rResId );
      85             :     ~ContentListBox_Impl();
      86             : 
      87             : 
      88             :     virtual void    RequestingChildren( SvTreeListEntry* 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(OUStringBuffer& rURL, sal_Bool bQuestionMark, const 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