summaryrefslogtreecommitdiff
path: root/sfx2/source/appl/newhelp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/appl/newhelp.cxx')
-rw-r--r--sfx2/source/appl/newhelp.cxx173
1 files changed, 70 insertions, 103 deletions
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index 509014d98698..f7080b12e299 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -873,6 +873,15 @@ void IndexTabPage_Impl::OpenKeyword()
// class SearchBox_Impl --------------------------------------------------
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSearchBox(Window *pParent,
+ VclBuilder::stringmap &)
+{
+ WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE|WB_DROPDOWN;
+ SearchBox_Impl* pComboBox = new SearchBox_Impl(pParent, nWinBits);
+ pComboBox->EnableAutoSize(true);
+ return pComboBox;
+}
+
bool SearchBox_Impl::PreNotify( NotifyEvent& rNEvt )
{
sal_Bool bHandled = sal_False;
@@ -897,6 +906,18 @@ void SearchBox_Impl::Select()
// class SearchResultsBox_Impl -------------------------------------------
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSearchResultsBox(Window *pParent,
+ VclBuilder::stringmap &rMap)
+{
+ WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK;
+ OString sBorder = VclBuilder::extractCustomProperty(rMap);
+ if (!sBorder.isEmpty())
+ nWinBits |= WB_BORDER;
+ SearchResultsBox_Impl* pListBox = new SearchResultsBox_Impl(pParent, nWinBits);
+ pListBox->EnableAutoSize(true);
+ return pListBox;
+}
+
bool SearchResultsBox_Impl::Notify( NotifyEvent& rNEvt )
{
bool bHandled = false;
@@ -912,29 +933,30 @@ bool SearchResultsBox_Impl::Notify( NotifyEvent& rNEvt )
// class SearchTabPage_Impl ----------------------------------------------
-SearchTabPage_Impl::SearchTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin ) :
+SearchTabPage_Impl::SearchTabPage_Impl(Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin)
+ : HelpTabPage_Impl(pParent, _pIdxWin, "HelpSearchPage",
+ "sfx/ui/helpsearchpage.ui")
- HelpTabPage_Impl( pParent, _pIdxWin, SfxResId( TP_HELP_SEARCH ) ),
+ ,
- aSearchFT ( this, SfxResId( FT_SEARCH ) ),
- aSearchED ( this, SfxResId( ED_SEARCH ) ),
- aSearchBtn ( this, SfxResId( PB_SEARCH ) ),
- aFullWordsCB ( this, SfxResId( CB_FULLWORDS ) ),
- aScopeCB ( this, SfxResId( CB_SCOPE ) ),
- aResultsLB ( this, SfxResId( LB_RESULT ) ),
- aOpenBtn ( this, SfxResId( PB_OPEN_SEARCH ) ),
xBreakIterator ( vcl::unohelper::CreateBreakIterator() )
{
- FreeResource();
+ get(m_pSearchED, "search");
+ get(m_pSearchBtn, "find");
+ get(m_pFullWordsCB, "completewords");
+ get(m_pScopeCB, "headings");
+ get(m_pResultsLB, "results");
+ Size aSize(LogicToPixel(Size(128 , 30), MAP_APPFONT));
+ m_pResultsLB->set_width_request(aSize.Width());
+ m_pResultsLB->set_height_request(aSize.Height());
+ get(m_pOpenBtn, "display");
Link aLink = LINK( this, SearchTabPage_Impl, SearchHdl );
- aSearchED.SetSearchLink( aLink );
- aSearchBtn.SetClickHdl( aLink );
- aSearchED.SetModifyHdl( LINK( this, SearchTabPage_Impl, ModifyHdl ) );
- aOpenBtn.SetClickHdl( LINK( this, SearchTabPage_Impl, OpenHdl ) );
-
- aMinSize = GetSizePixel();
+ m_pSearchED->SetSearchLink( aLink );
+ m_pSearchBtn->SetClickHdl(aLink);
+ m_pSearchED->SetModifyHdl( LINK( this, SearchTabPage_Impl, ModifyHdl ) );
+ m_pOpenBtn->SetClickHdl( LINK( this, SearchTabPage_Impl, OpenHdl ) );
SvtViewOptions aViewOpt( E_TABPAGE, CONFIGNAME_SEARCHPAGE );
if ( aViewOpt.Exists() )
@@ -944,38 +966,36 @@ SearchTabPage_Impl::SearchTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl
if ( aUserItem >>= aUserData )
{
sal_Bool bChecked = ( 1 == aUserData.getToken(0, ';').toInt32() ) ? sal_True : sal_False;
- aFullWordsCB.Check( bChecked );
+ m_pFullWordsCB->Check( bChecked );
bChecked = ( 1 == aUserData.getToken(1, ';').toInt32() ) ? sal_True : sal_False;
- aScopeCB.Check( bChecked );
+ m_pScopeCB->Check( bChecked );
for ( sal_uInt16 i = 2; i < comphelper::string::getTokenCount(aUserData, ';'); ++i )
{
OUString aToken = aUserData.getToken(i, ';');
- aSearchED.InsertEntry( INetURLObject::decode(
+ m_pSearchED->InsertEntry( INetURLObject::decode(
aToken, '%', INetURLObject::DECODE_WITH_CHARSET ) );
}
}
}
- ModifyHdl( &aSearchED );
+ ModifyHdl(m_pSearchED);
}
-
-
SearchTabPage_Impl::~SearchTabPage_Impl()
{
SvtViewOptions aViewOpt( E_TABPAGE, CONFIGNAME_SEARCHPAGE );
- sal_Int32 nChecked = aFullWordsCB.IsChecked() ? 1 : 0;
+ sal_Int32 nChecked = m_pFullWordsCB->IsChecked() ? 1 : 0;
OUString aUserData = OUString::number( nChecked );
aUserData += ";";
- nChecked = aScopeCB.IsChecked() ? 1 : 0;
+ nChecked = m_pScopeCB->IsChecked() ? 1 : 0;
aUserData += OUString::number( nChecked );
aUserData += ";";
- sal_uInt16 nCount = std::min( aSearchED.GetEntryCount(), (sal_uInt16)10 ); // save only 10 entries
+ sal_uInt16 nCount = std::min( m_pSearchED->GetEntryCount(), (sal_uInt16)10 ); // save only 10 entries
for ( sal_uInt16 i = 0; i < nCount; ++i )
{
- OUString aText = aSearchED.GetEntry(i);
+ OUString aText = m_pSearchED->GetEntry(i);
aUserData += INetURLObject::encode(
aText, INetURLObject::PART_UNO_PARAM_VALUE, '%',
INetURLObject::ENCODE_ALL );
@@ -991,34 +1011,34 @@ SearchTabPage_Impl::~SearchTabPage_Impl()
void SearchTabPage_Impl::ClearSearchResults()
{
- sal_uInt16 nCount = aResultsLB.GetEntryCount();
+ sal_uInt16 nCount = m_pResultsLB->GetEntryCount();
for ( sal_uInt16 i = 0; i < nCount; ++i )
- delete (OUString*)(sal_uIntPtr)aResultsLB.GetEntryData(i);
- aResultsLB.Clear();
- aResultsLB.Update();
+ delete (OUString*)(sal_uIntPtr)m_pResultsLB->GetEntryData(i);
+ m_pResultsLB->Clear();
+ m_pResultsLB->Update();
}
void SearchTabPage_Impl::RememberSearchText( const OUString& rSearchText )
{
- for ( sal_uInt16 i = 0; i < aSearchED.GetEntryCount(); ++i )
+ for ( sal_uInt16 i = 0; i < m_pSearchED->GetEntryCount(); ++i )
{
- if ( rSearchText == aSearchED.GetEntry(i) )
+ if ( rSearchText == m_pSearchED->GetEntry(i) )
{
- aSearchED.RemoveEntryAt(i);
+ m_pSearchED->RemoveEntryAt(i);
break;
}
}
- aSearchED.InsertEntry( rSearchText, 0 );
+ m_pSearchED->InsertEntry( rSearchText, 0 );
}
IMPL_LINK_NOARG(SearchTabPage_Impl, SearchHdl)
{
- OUString aSearchText = comphelper::string::strip(aSearchED.GetText(), ' ');
+ OUString aSearchText = comphelper::string::strip(m_pSearchED->GetText(), ' ');
if ( !aSearchText.isEmpty() )
{
EnterWait();
@@ -1027,11 +1047,11 @@ IMPL_LINK_NOARG(SearchTabPage_Impl, SearchHdl)
OUStringBuffer aSearchURL(HELP_URL);
aSearchURL.append(aFactory);
aSearchURL.append(HELP_SEARCH_TAG);
- if ( !aFullWordsCB.IsChecked() )
+ if ( !m_pFullWordsCB->IsChecked() )
aSearchText = sfx2::PrepareSearchString( aSearchText, xBreakIterator, true );
aSearchURL.append(aSearchText);
AppendConfigToken(aSearchURL, sal_False);
- if ( aScopeCB.IsChecked() )
+ if ( m_pScopeCB->IsChecked() )
aSearchURL.append("&Scope=Heading");
std::vector< OUString > aFactories = SfxContentHelper::GetResultSet(aSearchURL.makeStringAndClear());
for (size_t i = 0, n = aFactories.size(); i < n; ++i )
@@ -1041,8 +1061,8 @@ IMPL_LINK_NOARG(SearchTabPage_Impl, SearchHdl)
OUString aTitle = rRow.getToken( 0, '\t', nIdx );
nIdx = 0;
OUString* pURL = new OUString( rRow.getToken( 2, '\t', nIdx ) );
- sal_uInt16 nPos = aResultsLB.InsertEntry( aTitle );
- aResultsLB.SetEntryData( nPos, pURL );
+ sal_uInt16 nPos = m_pResultsLB->InsertEntry( aTitle );
+ m_pResultsLB->SetEntryData( nPos, pURL );
}
LeaveWait();
@@ -1056,86 +1076,33 @@ IMPL_LINK_NOARG(SearchTabPage_Impl, SearchHdl)
return 0;
}
-
-
IMPL_LINK_NOARG(SearchTabPage_Impl, OpenHdl)
{
- aResultsLB.GetDoubleClickHdl().Call( &aResultsLB );
+ m_pResultsLB->GetDoubleClickHdl().Call(m_pResultsLB);
return 0;
}
-
-
IMPL_LINK_NOARG(SearchTabPage_Impl, ModifyHdl)
{
- OUString aSearchText = comphelper::string::strip(aSearchED.GetText(), ' ');
- aSearchBtn.Enable( !aSearchText.isEmpty() );
+ OUString aSearchText = comphelper::string::strip(m_pSearchED->GetText(), ' ');
+ m_pSearchBtn->Enable(!aSearchText.isEmpty());
return 0;
}
-
-
-void SearchTabPage_Impl::Resize()
-{
- Size a6Size = LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
- Size aSize = GetSizePixel();
- if ( aSize.Width() < aMinSize.Width() )
- aSize.Width() = aMinSize.Width();
- Point aPnt = aSearchFT.GetPosPixel();
- Size aNewSize = aSearchFT.GetSizePixel();
- aNewSize.Width() = aSize.Width() - ( aPnt.X() * 2 );
- aSearchFT.SetSizePixel( aNewSize );
- aNewSize.Height() = aResultsLB.GetSizePixel().Height();
- aResultsLB.SetSizePixel( aNewSize );
- aNewSize.Height() = aFullWordsCB.GetSizePixel().Height();
- aFullWordsCB.SetSizePixel( aNewSize );
- aScopeCB.SetSizePixel( aNewSize );
- aNewSize = aSearchED.GetSizePixel();
- aNewSize.Width() = aSize.Width() - ( aPnt.X() * 2 ) -
- ( aSearchBtn.GetSizePixel().Width() + ( aPnt.X() / 2 ) );
- aSearchED.SetSizePixel( aNewSize );
- Point aNewPnt = aSearchBtn.GetPosPixel();
- aNewPnt.X() = aPnt.X() + aNewSize.Width() + ( aPnt.X() / 2 );
- aSearchBtn.SetPosPixel( aNewPnt );
-
- if ( aSize.Height() > aMinSize.Height() )
- {
- long n3Height = a6Size.Height() / 2;
- Size aBtnSize = aOpenBtn.GetSizePixel();
- long nExtraHeight = aBtnSize.Height() + n3Height;
-
- aPnt = aResultsLB.GetPosPixel();
- aNewSize = aResultsLB.GetSizePixel();
- aNewSize.Height() = aSize.Height() - aPnt.Y();
- aNewSize.Height() -= ( nExtraHeight + ( a6Size.Height() * 3 / 2 ) );
- aResultsLB.SetSizePixel( aNewSize );
-
- aPnt.X() += ( aNewSize.Width() - aBtnSize.Width() );
- aPnt.Y() += aNewSize.Height() + a6Size.Height();
- aOpenBtn.SetPosPixel( aPnt );
- }
-}
-
-
-
void SearchTabPage_Impl::ActivatePage()
{
if ( !m_pIdxWin->WasCursorLeftOrRight() )
- aSearchED.GrabFocus();
+ m_pSearchED->GrabFocus();
}
-
-
Control* SearchTabPage_Impl::GetLastFocusControl()
{
- return &aOpenBtn;
+ return m_pOpenBtn;
}
-
-
void SearchTabPage_Impl::SetDoubleClickHdl( const Link& rLink )
{
- aResultsLB.SetDoubleClickHdl( rLink );
+ m_pResultsLB->SetDoubleClickHdl( rLink );
}
@@ -1143,7 +1110,7 @@ void SearchTabPage_Impl::SetDoubleClickHdl( const Link& rLink )
OUString SearchTabPage_Impl::GetSelectEntry() const
{
OUString aRet;
- OUString* pData = (OUString*)(sal_uIntPtr)aResultsLB.GetEntryData( aResultsLB.GetSelectEntryPos() );
+ OUString* pData = (OUString*)(sal_uIntPtr)m_pResultsLB->GetEntryData( m_pResultsLB->GetSelectEntryPos() );
if ( pData )
aRet = *pData;
return aRet;
@@ -1154,7 +1121,7 @@ OUString SearchTabPage_Impl::GetSelectEntry() const
void SearchTabPage_Impl::ClearPage()
{
ClearSearchResults();
- aSearchED.SetText( OUString() );
+ m_pSearchED->SetText( OUString() );
}
@@ -1162,12 +1129,12 @@ void SearchTabPage_Impl::ClearPage()
sal_Bool SearchTabPage_Impl::OpenKeyword( const OUString& rKeyword )
{
sal_Bool bRet = sal_False;
- aSearchED.SetText( rKeyword );
+ m_pSearchED->SetText( rKeyword );
SearchHdl( NULL );
- if ( aResultsLB.GetEntryCount() > 0 )
+ if ( m_pResultsLB->GetEntryCount() > 0 )
{
// found keyword -> open it
- aResultsLB.SelectEntryPos(0);
+ m_pResultsLB->SelectEntryPos(0);
OpenHdl( NULL );
bRet = sal_True;
}